Найдите диск в корпусе SAS

Найдите диск в корпусе SAS

Я хочу перепрошить неисправное устройство в моем 24-дисковом корпусе SAS.

Я нашел, sg_ses --index 7 --set=locate /dev/sg24какой из них должен идентифицировать слот 7.

Но как мне узнать, какой /dev/sdhэто слот/индекс?

Это не очевидно, так как Linux не называет /dev/sdX после слота, а после последовательности, в которой он был обнаружен. Подумайте, что произойдет, если слот 1 пуст при загрузке, но заполняется позже.

Редактировать:

Контроллер — SAS2008.

решение1

Покопавшись некоторое время в /sys, я нашел следующее решение:

# echo /sys/class/enclosure/*/*/device/block/sdaa
/sys/class/enclosure/2:0:35:0/Slot 15/device/block/sdaa
# echo 1 > '/sys/class/enclosure/2:0:35:0/Slot 15/locate' 

Или:

# echo 1 > /sys/class/enclosure/*/*/device/block/sdaa/../../enclosure*/locate

Чтобы мигать всеми обнаруженными устройствами:

parallel echo 1 \> ::: /sys/class/enclosure/*/*/device/block/sd*/../../enclosure*/locate

Это полезно, если ваш диск настолько сломан, что Linux его даже не определяет (например, он не раскручивается).

Редактировать:

Я сделал небольшой инструмент (называется Blink) для мигания слотов.https://gitlab.com/ole.tange/tangetools/tree/master/blink

решение2

Этот уродливый скрипт добавляет в lsblkвывод информацию о корпусе и слоте:

lsblk -d -o VENDOR,MODEL,SERIAL,HCTL,NAME | sed -e "`ls -1d /sys/class/enclosure/*/*/device/block/*|sed "s+.*enclosure/\(.*\)/device/block/\(.*\)+s-\2\\$-\2 \1-+"`"

(вы можете изменить список столбцов, но последний столбец должен быть NAME)

решение3

Проверьте, что /sys/class/block/sdhссылается на. Таким образом можно увидеть хост, цель и LUN. Обычно этого достаточно, чтобы точно определить аппаратный адрес устройства.

решение4

В комплект входит замечательный инструмент (доступный по адресуhttps://github.com/amarao/sdled) для управления светодиодами вашего корпуса.

Вы сможете использовать его следующим образом (правда, это не проверялось):

encled /dev/sgh fault

Из README:

неисправность - установите светодиодный индикатор в состояние «неисправен». Это НЕ сделает устройство неисправным, просто установите светодиод корпуса в состояние «НЕИСПРАВЕН».

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