Festplatteneinschub an HBA blinken lassen unter Linux

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen

Dieser Artikel beschreibt wie man an SAS Expander Backplanes angeschlossene Festplatteneinschübe in einem Server unter Linux zum Blinken bringen kann. Dadurch können zum Beispiel defekte Festplatten lokalisiert werden und es kann sichergestellt werden, dass keine funktionierende Festplatte aus einem Software-RAID entfernt wird. Konkret wurde diese Vorgangsweise in diesem Beispiel bei einem 2HE Intel Dual-CPU SC216 Server mit BPN-SAS2-216EL1 SAS Expander Backplane und einem X9DR7-LN4F Mainboard mit einem Onboard SAS HBA (LSI 2308) unter Ubuntu 12.04 getestet. Die Festplatten sind hier direkt an der SAS Backplane angeschlossen, d.h. ohne Hardware RAID Controller.

Lokalisieren via sysfs Filesystem (/sys/) Einträge

Am einfachsten ist, wenn sie nach allen lokalisierbaren HDDs suchen. Das können sie mit einer Suche nach der Datei "locate" erreichen.

$ cd /sys/
$ find . -name 'locate'
./devices/pci0000:00/0000:00:01.0/0000:01:00.0/host6/port-6:0/expander-6:0/port-6:0:7/end_device-6:0:7/\
target6:0:7/6:0:7:0/enclosure/6:0:7:0/Slot 01/locate
./devices/pci0000:00/0000:00:01.0/0000:01:00.0/host6/port-6:0/expander-6:0/port-6:0:7/end_device-6:0:7/\
target6:0:7/6:0:7:0/enclosure/6:0:7:0/Slot 02/locate
...

Danach wechseln sie z.B. in das Verzeichnis "Slot 01". Dort lassen Sie sich die Datei "device/block/" mit ls anzeigen. Dadurch haben Sie die Zuordnung zum Device-Namen (/dev/sda). Wenn Sie nun in die Datei "locate" den Wert 1 schreiben, beginnt der Festplatteneinschub zu blinken. Wenn Sie wieder den Wert 0 hineinschreiben, stoppt der Blinkvorgang wieder. Für das Beschreiben der Datei "locate" brauchen Sie root-Rechte.

Beispiel für Slot 01:

$ cd ./devices/pci0000:00/0000:00:01.0/0000:01:00.0/host6/port-6:0/expander-6:0/port-6:0:7/\
  end_device-6:0:7/target6:0:7/6:0:7:0/enclosure/6:0:7:0/Slot\ 01/
$ ls device/block/
  sda
$ cat ./locate
  0
$ echo 1 > ./locate
$ cat ./locate
  1

Kontrolle via Seriennummer

Weiters kann via smartctl die Seriennummer der einzelnen Festplatten ausgelesen. Dadurch kann sobald die Festplatten aus dem Server ausgebaut ist noch zusätzlich eine Kontrolle dieser erfolgen.

$ sudo smartctl -a /dev/sda
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.2.0-40-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

== START OF INFORMATION SECTION ==
Model Family:     Intel DC S3700 Series SSDs
Device Model:     INTEL SSDSC2BA400G3
Serial Number:    BTTVXYZ12345
....

Es empfiehlt sich auch, vor dem produktiven Einsatz im Rechenzentrum die einzelnen Seriennummer der Festplatten zu notieren. Ist eine Festplatte ausgefallen, können Informationen zur Platte unter Umständen nicht mehr per smartctl ausgelesen werden.


Foto Christoph Mitasch.jpg

Autor: Christoph Mitasch

Christoph Mitasch arbeitet in der Abteilung Web Operations & Knowledge Transfer bei Thomas-Krenn. Er ist für die Betreuung und Weiterentwicklung der Webshop Infrastruktur zuständig. Seit einem Studienprojekt zum Thema Hochverfügbarkeit und Daten Replikation unter Linux beschäftigt er sich intensiv mit diesem Themenbereich. Nach einem Praktikum bei IBM Linz schloss er sein Diplomstudium „Computer- und Mediensicherheit“ an der FH Hagenberg ab. Er wohnt in der Nähe von Linz und ist neben der Arbeit ein begeisterter Marathon-Läufer und Jongleur, wo er mehrere Weltrekorde in der Team-Jonglage hält.


Das könnte Sie auch interessieren

Broadcom SAS 9300 HBAs
Broadcom SAS 9500 HBAs
Microsemi Adaptec HBA 1100 Series