Localize o disco no gabinete SAS

Localize o disco no gabinete SAS

Quero piscar o dispositivo com falha em meu gabinete SAS de 24 discos.

Eu descobri sg_ses --index 7 --set=locate /dev/sg24o que deveria identificar o slot 7.

Mas como faço para descobrir qual /dev/sdhé o slot/índice?

Isso não é óbvio, pois o Linux não nomeia /dev/sdX após o slot, mas após a sequência em que foi detectado. Pense no que acontece se o slot 1 estiver vazio na inicialização, mas for preenchido posteriormente.

Editar:

O controlador é um SAS2008.

Responder1

Depois de circular por /sys por um tempo, encontrei esta solução:

# 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' 

Ou:

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

Para piscar todos os dispositivos detectados:

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

Isto é útil se você tiver uma unidade tão quebrada que nem sequer é detectada pelo Linux (por exemplo, ela não gira).

Editar:

Eu criei uma pequena ferramenta (chamada Blink) para piscar slots.https://gitlab.com/ole.tange/tangetools/tree/master/blink

Responder2

Este script feio adiciona informações de gabinete e slot à lsblksaída:

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-+"`"

(você pode alterar a lista de colunas, mas a última coluna deve ser NAME)

Responder3

Verifique /sys/class/block/sdhpara quais links. Você pode ver o host, o destino e o LUN desta forma. Geralmente isso é suficiente para identificar o endereço de hardware do dispositivo.

Responder4

Existe uma boa ferramenta incluída (disponível emhttps://github.com/amarao/sdled) para gerenciar os leds do seu gabinete.

Você deve ser capaz de usá-lo assim (embora não testado):

encled /dev/sgh fault

Do README:

falha - defina o indicador LED como 'defeituoso'. Isso NÃO causará defeito no dispositivo, apenas coloque o gabinete no status 'FAULTY'.

informação relacionada