EC Bitrot Scrub
Disks flip bits silently. Over months an erasure-coded shard — especially a cold parity shard that normal reads never touch — can rot on disk unnoticed, until the day you need it to rebuild and find it’s bad too. SeaweedFS Enterprise EC Bitrot Scrub catches that early: it periodically verifies every shard against a per-block checksum, so silent corruption is found and fixed while you still have the redundancy to fix it.
Read-only by default. Turn on auto-repair and it quarantines a corrupt shard so the normal EC rebuild regenerates a clean, parity-verified copy.
When to use it
- Long-lived / archival data — large EC volumes that sit cold for months are exactly where bit rot accumulates unseen; scheduled scrubs surface it.
- Protect your parity — verify cold parity shards that normal serving never reads, so they’re known-good before a disk fails and you need them.
- Aging or commodity disks — proactively catch failing media before it costs you a rebuild.
- Data-integrity / compliance requirements — demonstrate continuous, scheduled verification of stored data.
- After a power event or suspect hardware — scrub a collection to confirm shards are intact.
How to use it
EC Bitrot Scrub runs as a scheduled worker task from the Admin UI — no manual commands needed.
- Run at least one worker (
weed worker -master=<master>); enterprise tasks register automatically with a valid license. - In the Admin UI, open Maintenance → EC Bitrot Scrub and enable it. The detector enumerates EC volumes and schedules per-volume scrubs.
- (Optional) Set a Collection Filter to scope scrubs to one collection.
- (Optional) Turn on Auto Repair to quarantine corrupt shards automatically — off by default (read-only).
Each run verifies the volume’s shards against their checksums and reports how many files were checked and any broken shards found (and quarantined, when auto-repair is on).
Benefits
- Catches silent corruption early — finds rotted bits while redundancy is still intact, not when you’re mid-rebuild.
- Covers cold parity — verifies shards that normal serving never reads.
- Safe by default — read-only scanning; auto-repair is opt-in and bounded by parity, so it can never quarantine more than EC can rebuild.
- Won’t cry wolf — a corrupt checksum file is flagged separately, never mistaken for shard corruption.
- Hands-off — scheduled, paginated, and concurrency-limited; it just runs in the background.
Want the internals — the checksum sidecar format, the scrub and auto-repair flow, all config fields, and limits? See the EC Bitrot Scrub technical reference.