
Ich möchte das fehlerhafte Gerät in meinem SAS-Gehäuse mit 24 Festplatten blinken lassen.
Ich habe herausgefunden sg_ses --index 7 --set=locate /dev/sg24
, dass es Steckplatz 7 identifizieren soll.
Aber wie finde ich heraus, welcher Steckplatz/Index /dev/sdh
das ist?
Dies ist nicht offensichtlich, da Linux /dev/sdX nicht nach dem Steckplatz benennt, sondern nach der Sequenz, in der es erkannt wurde. Überlegen Sie, was passiert, wenn Steckplatz 1 beim Booten leer ist, aber später gefüllt wird.
Bearbeiten:
Der Controller ist ein SAS2008.
Antwort1
Nachdem ich eine Weile in /sys herumgeblättert hatte, fand ich diese Lösung:
# 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'
Oder:
# echo 1 > /sys/class/enclosure/*/*/device/block/sdaa/../../enclosure*/locate
So blinken alle erkannten Geräte:
parallel echo 1 \> ::: /sys/class/enclosure/*/*/device/block/sd*/../../enclosure*/locate
Dies ist nützlich, wenn Sie ein Laufwerk haben, das so defekt ist, dass es von Linux nicht einmal erkannt wird (z. B. wenn es nicht anspringt).
Bearbeiten:
Ich habe ein kleines Tool (Blink genannt) zum Blinken von Slots erstellt.https://gitlab.com/ole.tange/tangetools/tree/master/blink
Antwort2
Dieses hässliche Skript fügt der Ausgabe Gehäuse- und Steckplatzinformationen hinzu 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-+"`"
(Sie können die Spaltenliste ändern, aber die letzte Spalte sollte sein NAME
)
Antwort3
Überprüfen Sie, wohin die /sys/class/block/sdh
Links führen. Auf diese Weise können Sie Host, Ziel und LUN sehen. Normalerweise reicht dies aus, um die Hardwareadresse des Geräts genau zu bestimmen.
Antwort4
Es gibt ein nettes Werkzeug beigefügt (erhältlich beihttps://github.com/amarao/sdled), um die LEDs Ihres Gehäuses zu verwalten.
Sie sollten es folgendermaßen verwenden können (allerdings nicht getestet):
encled /dev/sgh fault
Aus der README-Datei:
Fehler - LED-Anzeige auf „fehlerhaft“ setzen. Dadurch wird das Gerät NICHT fehlerhaft, sondern nur die Gehäuse-LED wird auf den Status „FEHLERHAFT“ gesetzt.