清理存储池时将验证内容,检查是否有错误。默认情况下,将启用清理调度的存储池并设置为每 30 天清理一次。使用 scrub_schedule 属性指定不同的清理间隔或禁用清理调度。
无法显式更改清理优先级。清理优先级会基于指定的清理间隔、清理进度和系统负载自动进行调整。清理优先级在闲置系统上会自动增加。
如果清理或重新同步已在进行中,则清理操作将不继续。如果重新同步启动时清理操作正在进行中,则重新同步操作将暂停当前清理,并在重新同步完成后重新启动清理。
如果只有一个池,则不显示池名称,但会将其选中。
如果有多个池,则将选中并显示其中一个池。使用 set pool 命令选择其他池。
hostname:configuration storage (pool0)> set pool=pool1 pool = pool1
使用 ls、show 或 get 命令查看以 GMT 表示的上次清理完成时间(如果清理未完成,则显示清理已运行时间)以及该清理报告的错误数:
hostname:configuration storage (pool1)> get scrub scrub_schedule scrub = scrub completed after 2d20h with 0 errors on Mon May 6 10:35:16 2019 scrub_schedule = 30 days
zpool status 命令还报告上次清理的完成时间、该清理运行了多长时间以及是否找到并修复了错误。
将 scrub_schedule 属性的值设置为 off 以禁用清理调度,例如,如果您希望执行手动清理。
要启用清理调度的存储池,请将 scrub_schedule 属性的值设置为调度的清理之间的天数。可以将 scrub_schedule 设置为 15、30、45、60、75 或 90 天。
hostname:configuration storage (p0)> set scrub_schedule=60 scrub_schedule = 60 hostname:configuration storage (p0)> get scrub_schedule scrub_schedule = 60 days