用于列出 ZFS 池的 vdev 设备名称以进行脚本编写的命令?

用于列出 ZFS 池的 vdev 设备名称以进行脚本编写的命令?

我正在编写一个脚本,该脚本需要任意池的所有 vdev 中磁盘的设备名称。 (我的池中的 vdev 中的所有设备都是磁盘。)

zpool list -v mypoolname似乎主要是我想要的:

$ zpool list -v mypoolname
NAME   SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
mypoolname   100G   90G  10.0G    90%  1.00x  ONLINE  -
  mirror   100G   90G  10.0G         -
    devicename1      -      -      -         -
    devicename2      -      -      -         -

但确定输出的哪些行是磁盘的唯一明显方法是检查行开头是否有四个空格。

有没有更好的、脚本安全的命令可以代替?

答案1

zpool list -v -H -P

-v verbose
-P show full paths, not just the last component
-H script mode - no headings, fields separated by tab character

这会让你们更亲近。

相关内容