Listing Virtual Device I/O Statistics

The zpool iostat -v command can display I/O statistics for virtual devices. Use this command to identify abnormally slow devices or to observe the distribution of I/O generated by ZFS. See the following three examples. The last two examples display a multigroup configuration.

$ zpool iostat -v tank
                            capacity     operations    bandwidth
pool                     alloc   free   read  write   read  write
-----------------------  -----  -----  -----  -----  -----  -----
tank                     2.69G  1.81T      0     29    252  14.2M
  c0t5000C5001032271Bd0  1.34G   927G      0     14    130  7.09M
  c0t5000C50010349387d0  1.34G   927G      0     14    122  7.09M
-----------------------  -----  -----  -----  -----  -----  -----
$ zpool iostat -v tank
                              capacity     operations    bandwidth
pool                       alloc   free   read  write   read  write
-------------------------  -----  -----  -----  -----  -----  -----
tank                        810M  1.81T      0    390    536  32.1M
  mirror-0                  405M   928G      0    194    232  16.1M
    c0t5000C5001032271Bd0      -      -      0     37  1.07K  16.2M
    c0t5000C50010349387d0      -      -      0     38    858  16.1M
  mirror-1                  405M   928G      0    195    304  16.1M
    c0t5000C5001033963Fd0      -      -      0     37  1.14K  16.2M
    c0t5000C5001033024Fd0      -      -      0     38    858  16.2M
-------------------------  -----  -----  -----  -----  -----  -----
$ zpool iostat -v tank
                              capacity     operations    bandwidth
pool                       alloc   free   read  write   read  write
-------------------------  -----  -----  -----  -----  -----  -----
tank                        258M  5.44T      0    321    876  31.5M
  raidz1-0                  128M  2.72T      0    160     29  15.9M
    c0t5000C5001032271Bd0      -      -      0     33  1.40K  8.07M
    c0t5000C50010349387d0      -      -      0     30  1.37K  8.07M
    c0t5000C5001033963Fd0      -      -      0     30  1.37K  8.07M
  raidz1-1                  130M  2.72T      0    160    847  15.5M
    c0t5000C5001033024Fd0      -      -      1     34  2.20K  8.10M
    c0t5000C500103C9817d0      -      -      0     34  1.37K  7.87M
    c0t5000C50010324F67d0      -      -      0     34  1.37K  8.10M
-------------------------  -----  -----  -----  -----  -----  -----

The zpool iostat -v command provides specific information for each level of the pool configuration:

  • Pool level shows the sum of the group level data.

  • Group level shows the compiled data of the mirror or raidz configuration.

  • Leaf level shows information for each physical disk.

Note two important points when viewing I/O statistics for virtual devices:

  • Statistics on disk space use are available only for top-level virtual devices. The way in which disk space is allocated among mirror and RAID-Z virtual devices is particular to the implementation and not easily expressed as a single number.

  • The numbers might not add up exactly as you would expect. In particular, operations across RAID-Z and mirrored devices will not be exactly equal. This difference is particularly noticeable immediately after a pool is created because a significant amount of I/O is done directly to the disks as part of pool creation, which is not accounted for at the mirror level. Over time, these numbers gradually equalize. However, broken, unresponsive, or offline devices can affect this symmetry as well.

You can use interval and count when examining virtual device statistics.

You can also display physical location information about the pool's virtual devices. The following example shows sample output that has been truncated:

$ zpool iostat -lv
               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
export      2.39T  2.14T     13     27  42.7K   300K
  mirror     490G   438G      2      5  8.53K  60.3K
    /dev/chassis/lab10rack15/SCSI_Device__2/disk      -   -    1    0  4.47K  60.3K
    /dev/chassis/lab10rack15/SCSI_Device__3/disk      -   -    1    0  4.45K  60.3K
  mirror     490G   438G      2      5  8.62K  59.9K
    /dev/chassis/lab10rack15/SCSI_Device__4/disk      -   -    1    0  4.52K  59.9K
    /dev/chassis/lab10rack15/SCSI_Device__5/disk      -   -    1    0  4.48K  59.9K