![Как узнать, к какому корпусу принадлежит диск?](https://rvso.com/image/111980/%D0%9A%D0%B0%D0%BA%20%D1%83%D0%B7%D0%BD%D0%B0%D1%82%D1%8C%2C%20%D0%BA%20%D0%BA%D0%B0%D0%BA%D0%BE%D0%BC%D1%83%20%D0%BA%D0%BE%D1%80%D0%BF%D1%83%D1%81%D1%83%20%D0%BF%D1%80%D0%B8%D0%BD%D0%B0%D0%B4%D0%BB%D0%B5%D0%B6%D0%B8%D1%82%20%D0%B4%D0%B8%D1%81%D0%BA%3F.png)
lsscsi
говорит мне, что у меня есть несколько дисков и корпусов.
Я могу использовать его $ ls /sys/class/enclosure/6:0:10:0/ArrayDevice*/device/scsi/disk
для получения списка всех адресов SCSI дисков в корпусе 6:0:10:0.
Я могу сопоставить этот список с 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 (sg3-utils на Debian). lsscsi
Команда поможет вам определить идентификатор шины корпуса. Вы можете запросить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 -
Получив идентификатор автобуса:
sg_ses --page=7 /dev/bsg/0:0:65:0