lsscsi
sagt mir, dass ich mehrere Festplatten und Gehäuse habe.
Ich kann es verwenden, $ ls /sys/class/enclosure/6:0:10:0/ArrayDevice*/device/scsi/disk
um eine Liste aller SCSI-Adressen von Festplatten im Gehäuse 6:0:10:0 zu erhalten.
Ich kann diese Liste mit lsscsi
der Ausgabe korrelieren, um zu sehen, wo sich jede Festplatte befindet.
Aber ich muss doch sicher kein Skript schreiben, um das zu automatisieren. Gibt es ein Tool wie udevadm
oder sg_ses
oder so etwas, das diese Aufgabe für mich erledigen kann?
Antwort1
Ist es eine Antwort?
[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 ~]#
Antwort2
Sie können das Paket sg3_utils (sg3-utils unter Debian) installieren. lsscsi
Der Befehl hilft Ihnen, die Bus-ID des Gehäuses zu ermitteln. Sie können abfragensg_ses -p 7 /dev/bsg/<busid>
Hier ist ein Beispiel:
[0:0:64:0] disk HGST HUHAJLGALLLAAAAA A384 /dev/sdbl
[0:0:65:0] enclosu HGST 4U60G2_STOR_ENCL 0101 -
Sobald Sie die Bus-ID haben:
sg_ses --page=7 /dev/bsg/0:0:65:0