複数のHDDを抜き差ししてると、どのHDDがどのzpoolの構成員か分からなくなる事がある。ちゃんと管理しとけって話だが、そんな時はzdb -l
でZFSのラベル情報を表示すればよい。
ProxmoxVE (ZFS on Linux)での実行なので、デバイス名はsdXになっている。
# zdb -l /dev/sdh1 ------------------------------------ LABEL 0 ------------------------------------ version: 5000 name: 'zdata' ★これ state: 0 txg: 23527188 pool_guid: 15920220212014191793 hostid: 1525007054 hostname: 'hostname.example.com' top_guid: 1118325231086088749 guid: 9773797371878116701 vdev_children: 1 vdev_tree: type: 'raidz' id: 0 guid: 1118325231086088749 nparity: 1 metaslab_array: 34 metaslab_shift: 37 ashift: 12 asize: 31989740601344 is_log: 0 create_txg: 4 children[0]: type: 'disk' id: 0 guid: 3334618698730764157 path: '/dev/ada5p1' phys_path: 'id1,enc@n3061686369656d31/type@0/slot@3/elmdesc@Slot_02/p1' whole_disk: 1 DTL: 291 create_txg: 4 children[1]: type: 'disk' id: 1 guid: 4503436449772901953 path: '/dev/ada3p1' phys_path: 'id1,enc@n3061686369656d31/type@0/slot@1/elmdesc@Slot_00/p1' whole_disk: 1 DTL: 290 create_txg: 4 children[2]: type: 'disk' id: 2 guid: 9773797371878116701 path: '/dev/ada2p1' phys_path: 'id1,enc@n3061686369656d30/type@0/slot@3/elmdesc@Slot_02/p1' whole_disk: 1 DTL: 289 create_txg: 4 children[3]: type: 'disk' id: 3 guid: 1033141966906037929 path: '/dev/ada4p1' phys_path: 'id1,enc@n3061686369656d31/type@0/slot@2/elmdesc@Slot_01/p1' whole_disk: 1 DTL: 288 create_txg: 4 features_for_read: com.delphix:hole_birth com.delphix:embedded_data labels = 0 1 2 3
注目すべきはnameの項目で、プール名がそのまんま入っている。さらに他の項目からプールの詳細がわかる。
これらを読み解くと、/dev/sdh1は「FreeBSDマシン1)hostname.example.comで作られた4台構成のRAID-Zプールzdata」の構成デバイスだった、ということが推測できる。