zpoolに読み取り可能な文字列を使用してディスクを参照させるにはどうすればよいですか?

zpoolに読み取り可能な文字列を使用してディスクを参照させるにはどうすればよいですか?

システムは、GUID/UUID、接続方法 "usb-..."、既存のディレクトリ構造 "/dev/sda"など、さまざまな方法でディスクまたはパーティションを一意に識別できます。 zpoolはそれらの中からランダムに選ぶようです。他のツールが知っている唯一の情報なので、ディレクトリ構造を使用してアレイを一覧表示するためにzpool状態をどのように取得しますか?

追加情報:

歴史は、プールがどのように作成されたかを示しています。

zpool history XX
History for 'XX':
YYYY-MM-DD.HH:MM:SS zpool create -f XX -m /XX raidz sda sdb sdc sdd sde

しかし、現在の状態はこんな感じです。

zpool status XX
pool: XX
...
                                                    STATE     READ WRITE CKSUM
      XX                                                         0     0     0
        raidz1-0                                                 0     0     0
          ata-WDC_WD10EFRX-68PJCN0_WD-XXXXXXXXXXXX  ONLINE       0     0     0
...

建物を建てるときに使用した名前は、今リストされている名前とは異なります。ただし、アレイは作成されてから数回移動されました。

更新と結論:

ほとんどのユーティリティは、短い名前ではなくZFSで使用される長い名前を次のように使用できるようです。

/dev/disk/by-id/*

説明する

smartctl --all /dev/disk/by-id/ata-WDC_...

より面倒ですが、より正確であることに同意します。

答え1

zpoolプールを作成するときとデバイスを変更するとき(ディスク接続やプールにvdevを追加するなど)、指定したデバイス名を使用します。したがって、任意の名前でプールを削除/再作成することも、すべてのデバイスを順番に分離/接続することもできます(もちろん、これは十分に冗長なプールレイアウトでのみ可能です)。

これがSolarisで動作する方法です。 LinuxやBSDなどの他のシステムでは特別な注意があるかもしれません。

関連情報