Das Raid - System im Betrieb Der erste Schritt nach dem erfolgreichen Booten des Systems sollte das Raid - System kontrolliert und getestet werden. Den ersten Test auf einen tatsächlichen Ausfall im späteren Betrieb zu verschieben wäre mehr als fahrlässig und kann Datenverlust führen. Weiterhin sollte ein Raid-System einen ständigem Monitoring unterliegen, um den nahenden Ausfall einer Festplatte möglichst zeitnah festzustellen und den Austausch am Besten vor dem wirklichen defekt kontrolliert durchzuführen. Kontrolle des Raids Die erste Kontrolle des vollständigen Raids gelingt mit dem Befehl: cat /proc/mdstat (für eine größereansicht bitte auf das Bild klicken) Dort wird dargestellt, welche Raids vorhanden sind und welchen Status diese innehaben. Im vorliegenden Fall gibt es die Raids md0 bis md7 als Raid1 mit den vorhandenen Partitionen sda und sdb. Alle Raids sind aktiv. Der zweite Befehl um sich den Zustand der einzelnen Raid-Verbünde detaillierte anzusehen lautet: sudo mdadm --detail /dev/md# 1 / 8
Mit Ich Beispiel Devices 1 Im 'Aktive übereinstimmen. Der Raid-Verbund. stehen. Dieser Eine machen (für (Mirror). zweiten diesem kann letzte eine weitere Befehl Devices' den ausgegeben, funktioniert größereansicht Bereich Textblock Befehl der Raid-Typ Möglichkeit muss Dort Auflistung und erfolgt der muss für auch 'Working sieht Ausgabe (raid alle diesem sich eine bei bitte im man Raid-Verbünde 1) oberen "normalen" einem Devices' detaillierte oder auf umfasst den Fall das die funktionierenden aktuellen Bereich sind Bild mit Raid-Größe. die Partitionen: Ausgabe es Übersicht klicken) wiederholt beiden zwei einige Zustand 'Raid Partitionen, des Informationen Darunter Devices' über Raid-Verbund werden. Zustandes die Raids. wird zusammengefasst aus eingebundenen des dem Dort der die ihren als Anzahl jeweiligen Raids oberen sollten State aktuellen auslesen, der 'active Partitionen Bereich die Raid-Partition. zu Anzahl Zustand einem sync' -wie der zu zum im sudo fdisk -l (für eine größereansicht bitte auf das Bild klicken) Wer diese Ausgabe sieht bekommt zunächst den Eindruck, dass etwas mit den Partitionen fehlerhaft sei. Auf einem fehlerfrei laufenden System ohne Raid-Verbund beschränkt sich die Ausgabe auf die beiden, auf dem Screenshot ersichtlichen, Tabellen mit den jeweiligen Laufwerksinformationen in dem Textblock darüber. Durch den Raid-Verbund erfolgt allerdings in der Ausgabe von fdisk noch für jede Raid - Partition die Fehlermeldung: "Disk /dev/md# doesn't contain a valid partition table. Diese Ausgabe ist bei einem funktionierenden Raid-System normal und sollte keinen Grund zur Besorgnis geben. Als letztes kann man sich noch die Belegung der Partitionen in dem Raid-Verbund anzeigen lassen: df -h 2 / 8
(für eine größereansicht bitte auf das Bild klicken) Test des Raid - 1 (Mirroring) 1. Boot mit einer Festplatte im Raid 1 (Mirroring) Der erste Test des Raids ist der Boot mit nur einer Festplatte. In einem Raid - 1 (Mirror) müssten auf beiden Festplatten die exakt identischen Daten vorhanden sein und somit auch der Boot von nur einer Festplatte möglich sein. Dieser Test soll sicherstellen, dass das System nach dem herunterfahren und Ausbauen einer Festplatte, zum Beispiel auf Grund eines defektes, wieder gestartet werden kann um eine Wiederherstellung zu starten. Der Versuchsaufbau ist dabei denkbar einfach: Der PC wird heruntergefahren und zunächst eine der beiden Festplatten physikalisch vom PC getrennt. Zu diesem Zweck genügt es die Verbindungskabel abzuziehen. Anschließend wurde der PC gebootet und der korrekte Boot abgewartet. Hier sieht man deutlich, dass nur eine Festplatte während des Boot-Vorganges erkannt wurde. Die Nach der Hardwareerkennung durch den Bios dauert der Start des Grub-Loaders auffallend lang. An die 3 / 8
Nach dem Fortsetzen des erheblich zeitverzögerten Bootvorganges wird zunächst durch das System ab Sollte dieser Dialog nicht mehr gewünscht sein muss in der menue.lst des Grub bei der dem aktuel bootdegdraded=true Sollte dieser Eintrag ergänzt werden oder die Abfrage beim Boot des unvollständigem Raid mit 'y' beant Wird die Frage mit 'n' bzw. nach einer bestimmten Zeit gar nicht beantwortet landet man in einer ein Wenn man die vorherige Frage mit einem 'n' beantwortet und das unvollständige Raid lädt erscheint zun Am Ende des Bootvorganges landet man jedoch, wie gewohnt, an seiner Anmeldemaske und kann Dieser Test wurde jeweils nach dem "abklemmen" einer der beiden Festplatten wiederholt. Somit ist sichergestellt, dass das Booten, unabhängig davon welche Festplatte / Partition nicht mehr vorhanden ist, möglich ist. Bei dieser Gelegenheit habe ich auch die Festplatten im Gehäuse den Raid - Partitionen zuordnen können und dies durch Aufkleber im Gehäuse markiert. So kann ich verhindern, dass im Falle eines Defektes die falsche Festplatte ausgetauscht wird. Dieser erste Test stellt kein Problem dar und konnte ohne weiteres durchgeführt werden. Die Ausgabe der schon weiter oben beschriebenen Befehle, die eine erste Auskunft über den Zustand des Raids geben, sehen wie folgt aus: cat /proc/mdstat sudo md adm --detail /de v/md# 4 / 8
aid-device Fall aid-verbundes wird sda# 2. wird als sieht hier vorhanden als man, 'removed' dass angezeigt, von dargestellt, den die eigentlichen fehlende also als zwei Partition fehlend. Raid-Devices (in meinem nur Fall eines sdb#) Aktive wurde und durch somit eine vorhanden 0 als Plai Wiederherstellen des Raids Nach dem das System fehlerfrei von einer Festplatte gestartet ist und somit der Ausfall nicht zu einem Daten- und Funktionsverlust des Produktivsystems geführt hat ist der nächste Schritt das Raid-System wiederherzustellen. Andernfalls würde ein Ausfall der verbliebenen Festplatten den endgültigen Verlust alle Daten bedeuten. 1. Partitionieren der Austauschfestplatte. Zunächst muss die Austauschfestplatte, die im Idealfall die gleiche Größe wie das defekte Modell aufweist, passend partitioniert werden. Zu diesem Zweck baute ich die Festplatte als einzige HD in ein System ein und bootet wieder mittels der LiveCD von gparted. Den genauen Partitionsverlauf kann man dem Beitrag 'Partitionieren' entnehmen. Nach Abschluss der Partition sollte die Festplatte für meine Zwecke wie folgt partitioniert sein: 5 / 8
Austauschfestplatte gebootet unvollständigen begonnen welche 2. Nach Auf Wiederherstellen Partitionen werden. werden, dem Start Abschluss Raids im dass in einzelnen durchgeführt das Wiederherstellungskonsole des Raid-System des Raids Partitonierens fehlen, eingebaut werden. wiederherzustellen. kann Nach mit müssen werden folgendem kann und die Anmeldung verzichtet funktionsfähige von Nach Befehl dem dem am und : unvollständigen man System der Festplatte Boot kann geprüft desraid jetzt sowie hat, die sudo mdadm /dev/md# -a /dev/sdb# das Raid für jede Partition wieder her. Der Befehl muss für jede Partition ausgeführt und die variablen jeweils angepasst werden. Wenn man nicht mehr genau weiß, welche Partitionen (sda# / sdb#) zu den jeweiligen Raids (md#) gehören, kann dies mittels sudo mdadm --detail /dev/md# noch mal prüfen. In meinem Fall müssen die 7 Raid-Verbunde mit den jeweiligen Partitionen mittels folgender Befehle wiederhergestellt werden: sudo mdadm /dev/md0 -a /dev/sdb1 sudo mdadm /dev/md1 -a /dev/sdb2 sudo mdadm /dev/md2 -a /dev/sdb3 sudo mdadm /dev/md3 -a /dev/sdb5 sudo mdadm /dev/md4 -a /dev/sdb6 sudo mdadm /dev/md5 -a /dev/sdb7 sudo mdadm /dev/md6 -a /dev/sdb8 sudo mdadm /dev/md7 -a /dev/sdb9 Der Sprung in der Wiederherstellung zwischen md2 und md3 hängt mit der Erweiterten Partition zusammen, die beim Partitionieren eingerichtet wurde. Die Wiederherstellung läuft im Hintergrund ab. Alle Befehle zur Wiederherstellung können ohne Wartezeit nacheinander eingegeben werden (eleganter durch ein Script zu lösen), die Wiederherstellung der Partitionen erfolgt allerdings nicht parallel. Wenn der erste Raid - Verbund wiederhergestellt ist beginnt die Wiederherstellung des nächsten Verbundes. Während der Wiederherstellung kann der aktuelle Stand mittels des bekannten Befehls ('sudo mdadm --detail /dev/md# ') überwacht werden: 6 / 8
Im unteren Bereich wird durch den Eintrag 'spare rebuilding' deutlich, dass diese Partition wiederhergestellt wird. Während die Wiederherstellung der Partition läuft sieht man in der Zeile 'Rebuild Status' den aktuellen Fortschritt der Wiederherstellung. Sollte diese Prozentangabe noch nicht vorhanden sein, hat die Wiederherstellung dieses Raids noch nicht begonnen. Die Wiederherstellung meines 500 GB Raid - 1 - Verbundes hat mit meiner Konfiguration ca. 3 Stunden gedauert. Ob sich die benötigte Zeit bei vorhandenen Daten erhöhen wird kann ich leider noch nicht sagen. Während der Wiederherstellung konnte mittels des Programmes 'top' folgende Systembelastung ermittelt werden: 3. Booten von der neuen Festplatte Die Wiederherstellung des Raids verlief bis zu diesem Punkt ohne Probleme. Allerdings führte der letzte Test des neu initialisierten Raids zu erheblichen Problemen: Das Raid-System bootete nicht von der Austauschfestplatte. Die Ursache ist für mich bisher nicht nachvollziehbar, sollte jemand einen Tip / Erklärung diesbezüglich haben würde ich mich über eine kurze Erläuterung per Mail freuen. Der erste Ansatz zur Lösung des Problemes war die Installation des Grubs auf der neuen Boot-Partition. Dies führte aber eben so wenig zum Erfolg wie das blockweise kopieren der gesamten Boot-Partition mittels dd: Erst eine Kopie der Boot-Partition von der funktionierenden Partition auf die Boot-Partition der Austauschfestplatte mittels CloneZilla führte zum Erfolg. Diese Methode ist zwar nicht besonders elegant, führte aber zum gewünschten Erfolg. Anschließend war der Boot auch mit einem beliebig unvollständigem Raid (Fehlen von HD1 oder HD2) wieder möglich. 4. Ausfall einer Festplatte / Partition im laufenden Betrieb In Anbetracht der Tatsache, dass der PC 24 Stunden am Tag und 7 Tage die Woche in Betrieb sein sollte ist der Ausfall einer Festplatte im laufenden Betrieb wesentlich wahrscheinlicher. 1. Entfernen des Datenkabels 7 / 8
Da die SATA-Controller im AHCI - Modus arbeiten und somit Hot-Plugin Fähig sind sollte dies nicht zu einem Hardware-Defekt führen. In meinem Fall kam es zu keinem Hardware-Defekt, eine Gewähr dafür kann ich natürlich nicht übernehmen. Allerdings erfolgte eine Ausgabe in der Konsole: Durch die Tastenkombination Strg + C (Abbruch des aktuellen Prozesses) gelangt man allerdings wieder zur Eingabekonsole und kann weitere Schritte einleiten. 2. Anschließen einer neuen Festplatte Um das Raid-System auch im laufenden Betrieb wiederherzustellen sollte es mittels des Hot-Plug-In - fähigen Controllers möglich sein, eine neue Festplatte anzuschließen und das Raid wieder zu initialisieren. Nach dem Einbau einer neuen Festplatte erscheint folgende Meldung in der Console: coming soon und der Raid-Verbund kann, wie bereits beschrieben, wiedehergestellt werden ohne den PC neustarten zu müssen. 3. Monitoring des Raids Das Thema Monitoring ist diensteübergreifend zu betrachten und umfasst neben den Raid-Verbünden noch viele weitere Dienste. Deshalb wird das Thema zu einem späteren Zeitpunkt in einem eigenen Kapitel betrachtet. Nach der Einrichtung und dem Test des Raid-Verbundes folgt jetzt die eigentliche Einrichtung des Servers. Als erster Schritt wird dem Server eine fest IP-Adresse im Netzwerk zugeordnet. 8 / 8