zfs/cmd/zpool
Cameron Harr 40e20d808c Add 'zpool status -e' flag to see unhealthy vdevs
When very large pools are present, it can be laborious to find
reasons for why a pool is degraded and/or where an unhealthy vdev
is. This option filters out vdevs that are ONLINE and with no errors
to make it easier to see where the issues are. Root and parents of
unhealthy vdevs will always be printed.

Testing:
ZFS errors and drive failures for multiple vdevs were simulated with
zinject.

Sample vdev listings with '-e' option
- All vdevs healthy
    NAME        STATE     READ WRITE CKSUM
    iron5       ONLINE       0     0     0

- ZFS errors
    NAME        STATE     READ WRITE CKSUM
    iron5       ONLINE       0     0     0
      raidz2-5  ONLINE       1     0     0
        L23     ONLINE       1     0     0
        L24     ONLINE       1     0     0
        L37     ONLINE       1     0     0

- Vdev faulted
    NAME        STATE     READ WRITE CKSUM
    iron5       DEGRADED     0     0     0
      raidz2-6  DEGRADED     0     0     0
        L67     FAULTED      0     0     0  too many errors

- Vdev faults and data errors
    NAME        STATE     READ WRITE CKSUM
    iron5       DEGRADED     0     0     0
      raidz2-1  DEGRADED     0     0     0
        L2      FAULTED      0     0     0  too many errors
      raidz2-5  ONLINE       1     0     0
        L23     ONLINE       1     0     0
        L24     ONLINE       1     0     0
        L37     ONLINE       1     0     0
      raidz2-6  DEGRADED     0     0     0
        L67     FAULTED      0     0     0  too many errors

- Vdev missing
    NAME        STATE     READ WRITE CKSUM
    iron5       DEGRADED     0     0     0
      raidz2-6  DEGRADED     0     0     0
        L67     UNAVAIL      3     1     0

- Slow devices when -s provided with -e
    NAME        STATE     READ WRITE CKSUM  SLOW
    iron5       DEGRADED     0     0     0     -
      raidz2-5  DEGRADED     0     0     0     -
        L10     FAULTED      0     0     0     0  external device fault
        L51     ONLINE       0     0     0    14

Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Cameron Harr <harr1@llnl.gov>
Closes #15769
2024-02-08 15:22:16 -08:00
..
compatibility.d ZTS: Test for all known zpool feature sets 2023-11-16 14:23:03 -08:00
os Fix the FreeBSD userspace build (#15716) 2024-01-30 13:33:36 -08:00
zpool.d zed: misc vdev_enc_sysfs_path fixes 2024-01-29 15:11:56 -08:00
Makefile.am Add compatibility symlinks for FreeBSD 12.{3,4} and 13.{0,1,2} 2023-05-26 15:37:15 -07:00
zpool_iter.c zpool: Add slot power control, print power status 2024-01-29 15:12:06 -08:00
zpool_main.c Add 'zpool status -e' flag to see unhealthy vdevs 2024-02-08 15:22:16 -08:00
zpool_util.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
zpool_util.h zpool: Add slot power control, print power status 2024-01-29 15:12:06 -08:00
zpool_vdev.c zed: misc vdev_enc_sysfs_path fixes 2024-01-29 15:11:56 -08:00