스크립팅을 위해 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      -      -      -         -

그러나 어떤 출력 라인이 디스크인지 결정하는 유일한 확실한 방법은 라인 시작 부분에 4개의 공백이 있는지 확인하는 것입니다.

대체할 수 있는 더 좋고 스크립트에 안전한 명령이 있습니까?

답변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

이것은 당신을 더 가깝게 만들 것입니다.

관련 정보