lsscsi
は、私が多数のディスクとエンクロージャーを持っていることを教えてくれます。
$ ls /sys/class/Enclosure/6:0:10:0/ArrayDevice*/device/scsi/disk
を使用して、6:0:10:0エンクロージャーの下にあるディスクのすべてのscsiアドレスのリストを取得できます。
そのリストをlsscsi
出力と関連付けて、各ディスクがどこにあるかを確認できます。
しかし、確かにこれを自動化するためのスクリプトを書く必要はありません。 udevadm
やsg_ses
のようなツール、またはこのタスクを実行できるツールはありますか?
それは答えですか?
[root@hard-3 ~]# ls -ldF /sys/block/sda/device/Enclosure_device\:0
lrwxrwxrwx. 1 root root 0 июл 26 18:25 /sys/block/sda/device/Enclosure_device:0 -> ../../../../../../port-1:0:4/end_device-1:0:4/target1:0:1/1:0:1:0/Enclosure/1:0:1:0/0/
[root@hard-3 ~]#
Sg3_utilsパッケージをインストールできます。 lsssci
コマンドは、エンクロージャーのバスIDを識別するのに役立ちます。 sg_ses -p 7 /dev/bsg/<busid>
を照会できます
ここに例があります:
[0:0:64:0] disk HGST HUHAJLGALLLAAAAA A384 /dev/sdbl
[0:0:65:0] enclosu HGST 4U60G2_STOR_ENCL 0101 -
バスIDを取得したら:
sg_ses --page=7 /dev/bsg/0:0:65:0