QNAP NAS Software RAID Management Troubleshooting für Situationen in denen eine Festplatte im RAID fehlt und das RAID im degraded Modus ist. QNAP nutzt das sogenannte mdadm Tool für das interne RAID Management. Diese Anleitung soll eine Hilfestellung bei bekannten Problemfällen bieten. 1. QNAP SSH Verbindung aufbauen Verbinden Sie sich mit Hilfe eines ssh Tools auf die shell der QNAP, z. Bsp. mit dem Programm Putty. 1.1 Ports Der Standard Port für SSH ist 22 und ist für alle Modelle verfügbar. Unverschlüsselte Telnet Verbindungen können ebenfalls aktiviert werden, welche unter Port 13131 erreichbar sind. Diese Einstellungen können in [Netzwerk Services] [Telnet/SSH] verändert werden. Die System Konsole kann nur über den admin Account verbunden werden. 1.2 Mit MAC OS verbinden Falls Sie einen MAC verwenden, starten sie das [Terminal] In die Befehlszeile ssh admin@nas IP eingeben Mit yes den RSA Key bestätigen und anschließend das admin Passwort eingeben. 1.3 Mit Windows verbinden Unter Windows, können Sie Putty unter folgender Adresse herunterladen http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Starten Sie anschließend putty. Geben Sie die IP oder den Namen Ihrer NAS ein [Host Name] klicken Sie auf Open Mit yes den RSA Key bestätigen und anschließend das admin Passwort eingeben.
2. QNAP Festplatten Partitionen/RAID Verbände 2.1 Status der RAID Verbände cat /proc/mdstat --- zeigt die vorhandenen Partitionen und RAID Verbände an. 2.2 Übersicht über die Festplatten Namen/Ziffern s d a 3 s d: serial disk a : Die erste Festplatte in Schacht 1 3 : Die dritte Partition Beispiele: /dev/sda3 --- Die 3te Partition von Festplatte 1. /dev/sdd1 --- Die erste Partition von Festplatte 4 2.3 QNAP Festplatten Formatierung QNAP partitioniert die Festplatten immer in 4 Partitionen. Nehmen wir die erste Festplatte (sda) als Beispiel: Partition 1 (sda1): Speichert die System Konfigurations-Dateien. Partition 2 (sda2): System swap memory Partition 4 (sda4): Beinhaltet ausführbare Systemdateien Jede dieser drei Partitionen hat eine ungefähre Größe von 510 MB Partition 3 (sda3): Auf dieser Partition arbeitet der User und dort sind auch alle Dateien der User gespeichert. Diese Partition belegt den Rest der Festplatten Kapazität.
2.4 Auflistung der Standard RAID Verbände Die 1. Partition wird als md9 eingebunden. Die 3. Partition wird als md0 eingebunden. Bei Partition 2 und 4 kann die Nummer abweichen. Im oberen Beispiel sind es md4 und md13. 3. Logischer Einsatz des mdadm Kommandos. 3.1 Superblock Info anzeigen lassen mdadm E /dev/sda3 Zeigt die Superblock Informationen der 3. Partition, der ersten Festplatte an. Auf den Superblocks sind Partitions Informationen gespeichert, ähnlich wie der MBR auf FAT32.
3.2 RAID Level überprüfen Überprüfen Sie das RAID Level und wie viele Festplatten in dem RAID vorhanden sind. Die letzten Zeilen dieses Screenshots zeigen die genaue Reihenfolge der Festplatten in dem RAID Verbund. Wir können daraus lernen, dass es ein RAID 0 mit 4 Festplatten beinhaltet. Alle Festplatten sind aktiv. /dev/sda3 ist das RAID device Nummer 0 und somit die erste Festplatte im RAID Verbund. Beachten Sie bitte, dass ein RAID nicht zwangsweise die Reihenfolge der Festplatten einhält, wie Sie in der QNAP verbaut wurden. (z. B Es könnte auch so aussehen: sda3, sdc3, sdd3, sdb3) 3.3 Automatisches einbinden mdadm A /dev/md0 /dev/sda3 /dev/sdb3 /dev/sdd3 /dev/sdc3 Dieser Befehl würde ein RAID md0 aus den Superblocks der 4 Festplatten, der 3. Partition erstellen. Hier spielt es keine Rolle in welcher Reihenfolge die Festplatten angegeben werden, da die Superblocks Infos beinhalten, welche nachvollziehen können, in welcher Sequenz die Festplatten betrieben wurden. 3.4 Einbinden von md0 in das share Verzeichns Falls das RAID nun erfolgreich erstellt wurde, kann versucht werden den md0 Verbund in das Standard Verzeichnis zu mounten. Zuerst wechseln Sie mit cd /share in das share Verzeichnis. Dort sollten nun folgende Einträge erscheinen. Wir müssen nun md0 in das MD0_DATA Verzeichnis einbinden. Falls wir md0 in ein anderes Verzeichnis einbinden würden, hätten wir keinen Zugriff auf die Daten. Mit mount t ext4 /dev/md0 /share/md0_data binden wir md0 mit dem Dateisystem ext4 in den Ordner MD0_DATA ein und können nun auf die Daten zugreifen. Achtung! Falls Sie nur eine Festplatte in Ihrer QNAP verbaut haben, wäre das Verzeichnis HDA_DATA. Hier kommt es allerdings auch auf den Slot an, in welchem die Festplatte gesteckt ist. 3.5 Stoppen eines RAID Verbunds. mdadm S /dev/md0 würde den md0 RAID Verbund stoppen Beachten Sie, dass ein RAID nicht gestoppt werden kann, solange darauf ein Zugriff erfolgt. Mit diesem Befehl können alle Dienste der NAS auf einmal beendet werden. /etc/init.d/services.sh stop Falls der stop Befehle danach wiederum nicht funktioniert, sollte die MD0 Partition ausgebunden werden. umount /dev/md0
4. Disaster Recovery erweiterte mdadm Befehle Falls ein RAID Verbund nicht mehr ordnungsgemäß laufen sollte, können folgende Schritte das RAID wieder lauffähig bekommen. 4.1 RAID neu einbinden Als erstes sollte versucht werden, ob der RAID Verbund neu eingebunden werden kann. siehe Punkt 3.3 Manchmal muss eine config Datei überprüft werden /etc/raidtab. Hier müssten Informationen über den RAID Verbund abgelegt werden, sobald dass RAID neu angelegt und das System neugestartet wurde. 4.2 Plötzliches Ausschalten bei einem Rebuild Vorgang. Meistens verursacht dies einen Fehler im RAID Verbund. Hier sollte Schritt 3.1 ausgeführt werden. Es sollte hier jede einzelne Disk im RAID Verbund überprüft werden: mdadm E /dev/sdx3 wobei X für die Festplatten Ziffer steht. Falls hier ein Fehler vorliegen sollte, müsste bei einer Festplatte ein fehlerhafter RAID Status angezeigt werden, wie in folgendem Beispiel: Hier lassen wir uns die Superblocks von sda3 anzeigen # mdadm E /dev/sda3 ---------------------------------------------------------------------------- Number Major Minor RaidDevice State this 0 8 3 0 active sync /dev/sda3 0 0 8 3 0 active sync /dev/sda3 1 1 8 19 1 active sync /dev/sdb3 2 2 8 35 2 active sync /dev/sdc3 3 3 8 51 3 active sync /dev/sdd3 Auf einer anderen Disk wird sda3 als faulty removed angezeigt. # mdadm E /dev/sdb3 ----------------------------------------------------------------------- Number Major Minor RaidDevice State this 1 8 19 1 active sync /dev/sdb3 0 faulty removed 1 1 8 19 1 active sync /dev/sdb3 2 2 8 35 2 active sync /dev/sdc3 3 3 8 51 3 active sync /dev/sdd3 Falls das obere Beispiel für uns zutreffen sollte, würden wir folgenden Befehl eingeben: # mdadm A /dev/md0 /dev/sdb3 /dev/sdc3 /dev/sdd3 (Startet ein Array mit nur 3 Festplatten anstatt 4)
Anschließend wird die 4te Festplatte manuel hinzugefügt: # mdadm a /dev/md0 /dev/sda3 Der RAID Verbund sollte sich nun rebuilden Dies sollte dann auch in der Weboberfläche unter Volume Management zu sehen sein. 4.3 Den RAID Verbund zwingen zu starten (gefährlich) Falls die bisherigen Versuche das RAID zu starten scheiterten, muss versucht werden die Superblocks auf die ursprünglichen Werte zurückzusetzen. Beachten Sie, dass dies nur funktioniert, wenn die genaue Reihenfolge der Festplatten beachtet wird. Andernfalls wird das RAID nicht mehr starten und alle Daten würden verloren gehen. Im oberen Beispiel startet ein RAID 5 Verbund nicht mehr, weil sda3 nicht mehr konform zu den restlichen Partitionen ist. # mdadm CfR /dev/md0 l 5 n 4 missing /dev/sdb3 /dev/sdc3 /dev/sdd3 Zwingt das RAID md0 mit Level = RAID 5; Festplatten Anzahl = 4 und ohne die erste Festplatte zu starten. Hier ist die Sequenz der Festplatten von enormer Bedeutung, falls hier eine falsche Reihenfolge eingehalten wird, kann es zu Datenverlust kommen. Nachdem das RAID gestartet ist, sollten wir die sda3 wieder hinzufügen. # mdadm a /dev/md0 /dev/sda3 Die Firma EXTRA Computer GmbH übernimmt keine Gewähr für die Funktion oder den Erfolg dieser Hinweise. Sie dienen lediglich zur Information und Hilfestellung.