ZPOOL-STATUS(8)         FreeBSD System Manager's Manual        ZPOOL-STATUS(8)

NAME

     zpool-status - show detailed health status for ZFS storage pools

SYNOPSIS

     zpool status [-DdegiLPpstvx] [-c script1[,script2,<?>]] [-j|--json
           [--json-flat-vdevs] [--json-int] [--json-pool-key-guid]] [-T d|u]
           [--power] [pool] [interval [count]]

DESCRIPTION

     Displays the detailed health status for the given pools.  If no pool is
     specified, then the status of each pool in the system is displayed.  For
     more information on pool and device health, see the Device Failure and
     Recovery section of zpoolconcepts(7).

     If a scrub or resilver is in progress, this command reports the
     percentage done and the estimated time to completion.  Both of these are
     only approximate, because the amount of data in the pool and the other
     workloads on the system can change.

     -c script1[,script2,<?>]
             Run a script (or scripts) on each vdev and include the output as
             a new column in the zpool status output.  See the -c option of
             zpool iostat for complete details.

     -D      Display a histogram of deduplication statistics, showing the
             allocated (physically present on disk) and referenced (logically
             referenced in the pool) block counts and sizes by reference
             count.  If repeated, (-DD), also shows statistics on how much of
             the DDT is resident in the ARC.

     -d      Display the number of Direct I/O read/write checksum verify
             errors that have occurred on a top-level VDEV.  See
             zfs_vdev_direct_write_verify in zfs(4) for details about the
             conditions that can cause Direct I/O write checksum verify
             failures to occur.  Direct I/O reads checksum verify errors can
             also occur if the contents of the buffer are being manipulated
             after the I/O has been issued and is in flight.  In the case of
             Direct I/O read checksum verify errors, the I/O will be reissued
             through the ARC.

     -e      Only show unhealthy vdevs (not-ONLINE or with errors).

     -g      Display vdev GUIDs instead of the normal device names These GUIDs
             can be used in place of device names for the zpool
             detach/offline/remove/replace commands.

     -i      Display vdev initialization status.

     -j, --json [--json-flat-vdevs] [--json-int] [--json-pool-key-guid]
             Display the status for ZFS pools in JSON format.  Specify
             --json-flat-vdevs to display vdevs in flat hierarchy instead of
             nested vdev objects.  Specify --json-int to display numbers in
             integer format instead of strings.  Specify --json-pool-key-guid
             to set pool GUID as key for pool objects instead of pool names.

     -L      Display real paths for vdevs resolving all symbolic links.  This
             can be used to look up the current block device name regardless
             of the /dev/disk/ path used to open it.

     -P      Display full paths for vdevs instead of only the last component
             of the path.  This can be used in conjunction with the -L flag.

     -p      Display numbers in parsable (exact) values.

     --power
             Display vdev enclosure slot power status (on or off).

     -s      Display the number of leaf vdev slow I/O operations.  This is the
             number of I/O operations that didn't complete in zio_slow_io_ms
             milliseconds (30000 by default).  This does not necessarily mean
             the I/O operations failed to complete, just took an unreasonably
             long amount of time.  This may indicate a problem with the
             underlying storage.

     -T d|u  Display a time stamp.  Specify d for standard date format.  See
             date(1).  Specify u for a printed representation of the internal
             representation of time.  See time(1).

     -t      Display vdev TRIM status.

     -v      Displays verbose data error information, printing out a complete
             list of all data errors since the last complete pool scrub.  If
             the head_errlog feature is enabled and files containing errors
             have been removed then the respective filenames will not be
             reported in subsequent runs of this command.

     -x      Only display status for pools that are exhibiting errors or are
             otherwise unavailable.  Warnings about pools not using the latest
             on-disk format will not be included.

EXAMPLES

   Example 1: Adding output columns
     Additional columns can be added to the zpool status and zpool iostat
     output with -c.
           # zpool status -c vendor,model,size
              NAME     STATE  READ WRITE CKSUM vendor  model        size
              tank     ONLINE 0    0     0
              mirror-0 ONLINE 0    0     0
              U1       ONLINE 0    0     0     SEAGATE ST8000NM0075 7.3T
              U10      ONLINE 0    0     0     SEAGATE ST8000NM0075 7.3T
              U11      ONLINE 0    0     0     SEAGATE ST8000NM0075 7.3T
              U12      ONLINE 0    0     0     SEAGATE ST8000NM0075 7.3T
              U13      ONLINE 0    0     0     SEAGATE ST8000NM0075 7.3T
              U14      ONLINE 0    0     0     SEAGATE ST8000NM0075 7.3T

           # zpool iostat -vc size
                         capacity     operations     bandwidth
           pool        alloc   free   read  write   read  write  size
           ----------  -----  -----  -----  -----  -----  -----  ----
           rpool       14.6G  54.9G      4     55   250K  2.69M
             sda1      14.6G  54.9G      4     55   250K  2.69M   70G
           ----------  -----  -----  -----  -----  -----  -----  ----

   Example 2: Display the status output in JSON format
     zpool status can output in JSON format if -j is specified.  -c can be
     used to run a script on each VDEV.
           # zpool status -j -c vendor,model,size | jq
           {
             "output_version": {
               "command": "zpool status",
               "vers_major": 0,
               "vers_minor": 1
             },
             "pools": {
               "tank": {
                 "name": "tank",
                 "state": "ONLINE",
                 "guid": "3920273586464696295",
                 "txg": "16597",
                 "spa_version": "5000",
                 "zpl_version": "5",
                 "status": "OK",
                 "vdevs": {
                   "tank": {
                     "name": "tank",
                     "alloc_space": "62.6G",
                     "total_space": "15.0T",
                     "def_space": "11.3T",
                     "read_errors": "0",
                     "write_errors": "0",
                     "checksum_errors": "0",
                     "vdevs": {
                       "raidz1-0": {
                         "name": "raidz1-0",
                         "vdev_type": "raidz",
                         "guid": "763132626387621737",
                         "state": "HEALTHY",
                         "alloc_space": "62.5G",
                         "total_space": "10.9T",
                         "def_space": "7.26T",
                         "rep_dev_size": "10.9T",
                         "read_errors": "0",
                         "write_errors": "0",
                         "checksum_errors": "0",
                         "vdevs": {
                           "ca1eb824-c371-491d-ac13-37637e35c683": {
                             "name": "ca1eb824-c371-491d-ac13-37637e35c683",
                             "vdev_type": "disk",
                             "guid": "12841765308123764671",
                             "path": "/dev/disk/by-partuuid/ca1eb824-c371-491d-ac13-37637e35c683",
                             "state": "HEALTHY",
                             "rep_dev_size": "3.64T",
                             "phys_space": "3.64T",
                             "read_errors": "0",
                             "write_errors": "0",
                             "checksum_errors": "0",
                             "vendor": "ATA",
                             "model": "WDC WD40EFZX-68AWUN0",
                             "size": "3.6T"
                           },
                           "97cd98fb-8fb8-4ac4-bc84-bd8950a7ace7": {
                             "name": "97cd98fb-8fb8-4ac4-bc84-bd8950a7ace7",
                             "vdev_type": "disk",
                             "guid": "1527839927278881561",
                             "path": "/dev/disk/by-partuuid/97cd98fb-8fb8-4ac4-bc84-bd8950a7ace7",
                             "state": "HEALTHY",
                             "rep_dev_size": "3.64T",
                             "phys_space": "3.64T",
                             "read_errors": "0",
                             "write_errors": "0",
                             "checksum_errors": "0",
                             "vendor": "ATA",
                             "model": "WDC WD40EFZX-68AWUN0",
                             "size": "3.6T"
                           },
                           "e9ddba5f-f948-4734-a472-cb8aa5f0ff65": {
                             "name": "e9ddba5f-f948-4734-a472-cb8aa5f0ff65",
                             "vdev_type": "disk",
                             "guid": "6982750226085199860",
                             "path": "/dev/disk/by-partuuid/e9ddba5f-f948-4734-a472-cb8aa5f0ff65",
                             "state": "HEALTHY",
                             "rep_dev_size": "3.64T",
                             "phys_space": "3.64T",
                             "read_errors": "0",
                             "write_errors": "0",
                             "checksum_errors": "0",
                             "vendor": "ATA",
                             "model": "WDC WD40EFZX-68AWUN0",
                             "size": "3.6T"
                           }
                         }
                       }
                     }
                   }
                 },
                 "dedup": {
                   "mirror-2": {
                     "name": "mirror-2",
                     "vdev_type": "mirror",
                     "guid": "2227766268377771003",
                     "state": "HEALTHY",
                     "alloc_space": "89.1M",
                     "total_space": "3.62T",
                     "def_space": "3.62T",
                     "rep_dev_size": "3.62T",
                     "read_errors": "0",
                     "write_errors": "0",
                     "checksum_errors": "0",
                     "vdevs": {
                       "db017360-d8e9-4163-961b-144ca75293a3": {
                         "name": "db017360-d8e9-4163-961b-144ca75293a3",
                         "vdev_type": "disk",
                         "guid": "17880913061695450307",
                         "path": "/dev/disk/by-partuuid/db017360-d8e9-4163-961b-144ca75293a3",
                         "state": "HEALTHY",
                         "rep_dev_size": "3.63T",
                         "phys_space": "3.64T",
                         "read_errors": "0",
                         "write_errors": "0",
                         "checksum_errors": "0",
                         "vendor": "ATA",
                         "model": "WDC WD40EFZX-68AWUN0",
                         "size": "3.6T"
                       },
                       "952c3baf-b08a-4a8c-b7fa-33a07af5fe6f": {
                         "name": "952c3baf-b08a-4a8c-b7fa-33a07af5fe6f",
                         "vdev_type": "disk",
                         "guid": "10276374011610020557",
                         "path": "/dev/disk/by-partuuid/952c3baf-b08a-4a8c-b7fa-33a07af5fe6f",
                         "state": "HEALTHY",
                         "rep_dev_size": "3.63T",
                         "phys_space": "3.64T",
                         "read_errors": "0",
                         "write_errors": "0",
                         "checksum_errors": "0",
                         "vendor": "ATA",
                         "model": "WDC WD40EFZX-68AWUN0",
                         "size": "3.6T"
                       }
                     }
                   }
                 },
                 "special": {
                   "25d418f8-92bd-4327-b59f-7ef5d5f50d81": {
                     "name": "25d418f8-92bd-4327-b59f-7ef5d5f50d81",
                     "vdev_type": "disk",
                     "guid": "3935742873387713123",
                     "path": "/dev/disk/by-partuuid/25d418f8-92bd-4327-b59f-7ef5d5f50d81",
                     "state": "HEALTHY",
                     "alloc_space": "37.4M",
                     "total_space": "444G",
                     "def_space": "444G",
                     "rep_dev_size": "444G",
                     "phys_space": "447G",
                     "read_errors": "0",
                     "write_errors": "0",
                     "checksum_errors": "0",
                     "vendor": "ATA",
                     "model": "Micron_5300_MTFDDAK480TDS",
                     "size": "447.1G"
                   }
                 },
                 "error_count": "0"
               }
             }
           }

SEE ALSO

     zpool-events(8), zpool-history(8), zpool-iostat(8), zpool-list(8),
     zpool-resilver(8), zpool-scrub(8), zpool-wait(8)

FreeBSD 15.1-STABLE-HBSD         May 20, 2025                  ZPOOL-STATUS(8)