Как узнать, к какому корпусу принадлежит диск?

Как узнать, к какому корпусу принадлежит диск?

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

Связанный контент