Pool Maintenance¶
The Pool Maintenance feature allows you to monitor pool health and control scrub operations for data integrity verification.
What is a Scrub?¶
A ZFS scrub reads all data in the pool and verifies it against stored checksums. This process:
- Detects silent data corruption (bit rot)
- Automatically repairs corrupted data from redundant copies (mirrors, raidz)
- Reports any unrepairable errors
Regular Scrubs
It's recommended to run a scrub at least monthly, or weekly for critical data.
Accessing Pool Maintenance¶
From the main menu, select Pool Maintenance.
Pool Selection¶
- Select the pool you want to maintain
- Unimported pools will be automatically imported
- Encrypted pools will prompt for password
Maintenance View¶
The maintenance screen shows:
Pool Status¶
Current state of the pool including any ongoing operations:
pool: NIXROOT
state: ONLINE
scan: scrub in progress since Wed Mar 4 10:30:00 2026
1.20T scanned at 150M/s, 800G issued at 100M/s
0B repaired, 57.14% done, 01:30:00 to go
Pool Health¶
Key metrics at a glance:
- Health status (ONLINE, DEGRADED, FAULTED)
- Total size
- Allocated space
- Free space
- Fragmentation percentage
- Capacity percentage
Available Actions¶
The actions available depend on the current state:
When no scrub is running:
[s]Start Scrub - Begin data integrity verification
When a scrub is in progress:
[x]Stop Scrub - Cancel the current scrub
Always available:
[r]Refresh - Update the status display[q]Return - Go back to main menu
Keyboard Controls¶
| Key | Action |
|---|---|
| S | Start a scrub |
| X | Stop a scrub |
| R | Refresh status |
| J / K | Scroll up/down |
| Ctrl+U / Ctrl+D | Page up/down |
| Esc / Q | Return to menu |
Scrub Progress¶
During a scrub, you'll see:
- Data scanned vs total
- Scan speed (MB/s)
- Percentage complete
- Estimated time remaining
- Any errors found
Stopping a Scrub
Stopping a scrub will require starting over from the beginning next time. The scrub will resume from the start, not from where it stopped.
Resilver Operations¶
If a drive has been replaced or was temporarily offline, a resilver operation will run automatically. The maintenance view shows resilver progress the same way as scrub progress.
Don't Interrupt Resilvers
Unlike scrubs, resilvers are critical for restoring redundancy. Avoid stopping a resilver unless absolutely necessary.
Example Session¶
Pool Maintenance: NIXROOT
======================================================================
Pool: NIXROOT
======================================================================
POOL STATUS
----------------------------------------------------------------------
pool: NIXROOT
state: ONLINE
scan: scrub repaired 0B in 00:27:41 with 0 errors on Sun Mar 1 00:54:59 2026
POOL HEALTH
----------------------------------------------------------------------
Health: ONLINE
Size: 1.82T
Allocated: 1.40T
Free: 371G
Fragmentation: 8%
Capacity: 77%
ACTIONS
----------------------------------------------------------------------
[s] Start Scrub - Begin data integrity verification
[r] Refresh - Update the status display
[q] Return - Go back to main menu
──────────────────────────────────────────────────────────────────────
Scroll: j/k | 45% | s=scrub x=stop r=refresh q=return