Determining the Health Status of ZFS Storage Pools
You can display pool and device health by using the zpool status
command. In addition, the fmd
command also reports potential pool and device failures on the system console, and the /var/adm/messages
file.
This section describes only how to determine pool and device health. For data recovery from unhealthy pools, see Oracle Solaris ZFS Troubleshooting and Pool Recovery.
A pool's health status is described by one of four states:
-
DEGRADED
-
A pool with one or more failed devices whose data is still available due to a redundant configuration.
-
ONLINE
-
A pool that has all devices operating normally.
-
SUSPENDED
-
A pool that is waiting for device connectivity to be restored. A
SUSPENDED
pool remains in the wait state until the device issue is resolved. -
UNAVAIL
-
A pool with corrupted metadata, or one or more unavailable devices, and insufficient replicas to continue functioning.
Each pool device can fall into one of the following states:
-
DEGRADED
-
The virtual device has experienced a failure but can still function. This state is most common when a mirror or RAID-Z device has lost one or more constituent devices. The fault tolerance of the pool might be compromised because a subsequent fault in another device might be unrecoverable.
-
OFFLINE
-
The device has been explicitly taken offline by the administrator.
-
ONLINE
-
The device or virtual device is in normal working order even though some transient errors might still occur.
-
REMOVED
-
The device was physically removed while the system was running. Device removal detection is hardware-dependent and might not be supported on all platforms.
-
UNAVAIL
-
The device or virtual device cannot be opened. In some cases, pools with
UNAVAIL
devices appear inDEGRADED
mode. If a top-level virtual device isUNAVAIL
, then nothing in the pool can be accessed.
The health of a pool is determined from the health of all its top-level virtual devices. If all virtual devices are ONLINE
, then the pool is also ONLINE
. If any one of the virtual devices is DEGRADED
or UNAVAIL
, then the pool is also DEGRADED
. If a top-level virtual device is UNAVAIL
or OFFLINE
, then the pool is also UNAVAIL
or SUSPENDED
. A pool in the UNAVAIL
or SUSPENDED
state is completely inaccessible. No data can be recovered until the necessary devices are attached or repaired. A pool in the DEGRADED
state continues to run but you might not achieve the same level of data redundancy or data throughput than if the pool were online.
The zpool status
command also displays the state of resilver and scrub operations as follows:
-
Resilver or scrub operations are in progress.
-
Resilver or scrub operations have been completed.
Resilver and scrub completion messages persist across system reboots.
-
Operations have been canceled.