Technical

ZFS Pool Suspended: Offline the Disk, Clear the Errors, Online It Again

ZFS Pool Suspended: Offline the Disk, Clear the Errors, Online It Again

ZFS pool suspended means the pool stopped all I/O because a disk got kicked out after too many errors. It’s not DEGRADED — it’s frozen. And the usual fix, zpool clear, won’t work until you offline the disk first.

Close-up of a vintage Iomega Ditto internal tape drive with circuit board exposure.

Why SUSPENDED is different from DEGRADED

DEGRADED means the pool is still running, just with missing redundancy. SUSPENDED means ZFS gave up and stopped every read and write. That’s why zpool clear and zpool scrub refuse to run — they need to do I/O, and the pool is blocking all of it. The error message is useless, it just says the pool is suspended and to check the status.

Close-up of an open vintage hard disk drive showing internal components and caution labels.

The order that actually works

First, offline the disk that got kicked. Then clear the errors. Then bring the disk back online. In that order.

zpool offline tank /dev/sdb
zpool clear tank
zpool online tank /dev/sdb

After that, check the status and run a scrub if you want to be sure:

zpool status tank
zpool scrub tank

If the disk keeps getting kicked, it’s probably dying. Replace it. Don’t keep clearing errors on a disk that’s throwing them every few hours — you’re just delaying the inevitable and risking the whole pool.

Why people get stuck

Most forum advice says “just zpool clear” or “reboot”. But clear fails on a suspended pool, and a reboot might bring the disk back only to kick it again. The offline-then-clear-then-online sequence is the one ZFS actually accepts. I’d do that before touching anything else.

If you’re on Proxmox, check the storage summary to see how the pool maps to zpool list — Proxmox ZFS storage summary: map Size, Used, and Avail to zpool list and zfs list.

Leave a comment

Comments are reviewed before they appear. Your email is never published.