![ディスクがどのエンクロージャに属しているかを確認するにはどうすればよいでしょうか?](https://rvso.com/image/111980/%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AF%E3%81%8C%E3%81%A9%E3%81%AE%E3%82%A8%E3%83%B3%E3%82%AF%E3%83%AD%E3%83%BC%E3%82%B8%E3%83%A3%E3%81%AB%E5%B1%9E%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%8B%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%3F.png)
lsscsi
ディスクとエンクロージャが多数あることがわかります。
$ ls /sys/class/enclosure/6:0:10:0/ArrayDevice*/device/scsi/disk
6:0:10:0 エンクロージャの下にあるディスクのすべての SCSI アドレスのリストを取得するために使用できます。
そのリストをlsscsi
出力と関連付けることで、各ディスクがどこにあるかを確認できます。
しかし、これを自動化するためにスクリプトを書く必要はないはずです。 または のようなツール、udevadm
あるいはsg_ses
このタスクを実行できるものはありますか?
答え1
それは答えですか?
[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 ~]#
答え2
sg3_utils(debianではsg3-utils)パッケージをインストールできます。lsscsi
コマンドは、エンクロージャのバス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