Backups

ZFS scrub planning: how often to verify stored data and mirror health

ZFS scrub planning is about finding latent checksum/read problems while redundant copies still exist. The ideal cadence depends on disk size, workload, pool activity, hardware error history, and how long a scrub takes; blindly running too frequently can add unnecessary I/O while never scrubbing leaves silent faults undiscovered.

Measure current scrub duration

Run a controlled scrub and record pool size/allocated data, start/end time, throughput, errors repaired, workload latency impact, and whether any devices show SMART or transport errors.

A scrub that takes days changes how much overlap you should allow with backups or other maintenance.

Choose a cadence shorter than your comfort window

Monthly is common for many always-on pools, but the correct interval is an operational choice. High-risk or archival patterns may justify different schedules.

Never schedule overlapping scrubs; ensure automation detects an existing scrub.

Coordinate with workload and SMART monitoring

Scrubs generate sustained reads. Run them in a window with I/O headroom and continue drive-health monitoring between scrubs. A failed SMART test, growing checksum error, or degraded vdev should trigger investigation without waiting for the next schedule.

Do not cancel every scrub because users notice a small performance change; fix scheduling/capacity instead.

Alert on result, not just timer execution

Capture zpool status after completion and alert on repaired/unrecoverable errors, degraded state, or a scrub that did not finish. Retain history to see error trends by device.

  • Measure scrub duration/impact.
  • Avoid overlap.
  • Pair with SMART/pool alerts.
  • Record and review results.
Related DotMoose serviceExplore DotMoose backup storage

Keep reading

Related guides.

More backups →