Как я связываю Linux scsi имена устройств с дисковыми устройствами?

У меня есть сервер CentOS 4.x рабочий набег программного обеспечения. Сервер имеет два диска SCSI в лотках замены в горячем режиме. mdadm сообщает, что набег перестал работать, и таким образом, я хотел бы заменить его.

Я исследую/proc/mdstat, который говорит мне, что мои два устройства набега имеют компоненты на дисках sda и sdb. Это также говорит мне, что sdb является тем, который перестал работать.

Я исследую/proc/scsi/scsi, который говорит мне, что у меня есть два физических устройства в идентификаторах SCSI 0 0 0 0 и 0-0-1-0.

Поскольку я хочу сделать горячее изменение, я предполагаю, что sdb 0-0-1-0. Таким образом, я говорю:

# echo "scsi remove-single-device 0 0 1 0" > /proc/scsi/scsi

... и компьютер блюет, потому что sda был просто удален, оставив систему без допустимых дисков.

Теперь после отражения, способом, которым я попал в эту беду, был прошлый раз отказавший диск, это было sda/0-0-0-0, и я сделал это, олдскульный путь - останавливает компьютер, удаляет неисправный диск, затем загружается прочь оставшегося в живых в, он - старый слот. Это оставило меня с компьютером, который думал, что sda был 0-0-1-0. Я затем получил и вставил, горячий, замена, и добавил его как так:

# echo "scsi add-single-device 0 0 0 0" > /proc/scsi/scsi

... который работал, который означал, что я мог применить дисковую маркировку, раздел, и восстановить мои массивы RAID. Это также означало, что компьютер думает, что sdb 0-0-0-0. Теперь sdb умирает снова (350 дней спустя, но это - другая проблема), и я забыл все это.

Так. При предположении, что и моя память и мои записи, сохраняющие навыки, являются несоответствующими для напоминания мне, что это произошло, существует ли способ, которым в будущем я могу сравнить scsi имена устройств (0-0-$n-0) и связать их с именованными устройствами (sd$x)?

3
задан 21.07.2014, 16:54

1 ответ

Можно заглянуть /sys/block/sda/device, which will have a symlink starting with scsi_device that identifies the device:

$ ls -d /sys/block/sda/device/scsi_device*
/sys/block/sda/device/scsi_device:0:0:0:0

Или можно заглянуть /sys/bus/scsi/devices:

$ ls /sys/bus/scsi/devices/
0:0:0:0  1:0:0:0  2:0:0:0  3:0:0:0  7:0:0:0  8:0:0:0

Каждая запись здесь представляет устройство SCSI. В каждом каталоге символьная ссылка, запускающаяся с блока: это определяет соответствующее блочное устройство:

$ ls -d /sys/bus/scsi/devices/0\:0\:0\:0/block*
/sys/bus/scsi/devices/0:0:0:0/block:sda
5
ответ дан 08.12.2019, 00:09

Теги

Похожие вопросы