Post 1754
qnap,  Unix

QNAP RAID-Status prüfen und Scrub ausführen

QNAP-NAS-Systeme basieren intern auf Linux-MD-RAID. Über die Kommandozeile lässt sich der RAID-Status direkt aus dem Kernel auslesen, die Geschwindigkeit steuern und eine RAID-Überprüfung (Scrub) manuell auslösen – unabhängig von der Web-Oberfläche.

SSH-Zugriff auf QNAP aktivieren

Bevor die folgenden Befehle ausgeführt werden können, muss SSH auf dem QNAP aktiviert sein:

Im QNAP-Webinterface: Systemsteuerung → Netzwerk- & Dateidienste → Telnet / SSH → SSH-Zugriff erlauben, Port 22 (oder custom). Mit dem Admin-Passwort einloggen.

RAID-Status auslesen

Der aktuelle RAID-Status aller MD-Devices liegt im Kernel-Dateisystem:

cat /proc/mdstat

Beispielausgabe bei einem gesunden RAID-5:

Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdd[3] sdc[2] sdb[1] sda[0]
      5860270080 blocks super 1.0 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]

unused devices: <none>

Die Zeile [4/4] [UUUU] bedeutet: 4 von 4 Festplatten aktiv, alle im Status U (Up). Ein _ statt U zeigt eine fehlerhafte oder fehlende Platte an:

[4/3] [UUU_]  ← eine Platte ausgefallen, RAID degraded

RAID-Sync-Geschwindigkeit steuern

Standardmäßig begrenzt der Linux-Kernel die RAID-Sync-Geschwindigkeit, um I/O-Ressourcen für normale Operationen verfügbar zu halten. Für einen schnellen Rebuild oder Check kann das Limit erhöht werden:

# Maximale Sync-Geschwindigkeit setzen (in KB/s)
echo 100000 > /proc/sys/dev/raid/speed_limit_max

# Minimale Sync-Geschwindigkeit setzen
echo 50000 > /proc/sys/dev/raid/speed_limit_min

# Aktuelle Werte anzeigen
cat /proc/sys/dev/raid/speed_limit_max
cat /proc/sys/dev/raid/speed_limit_min

Höhere Werte beschleunigen den Rebuild, belasten aber das System. Auf einem aktiv genutzten NAS empfiehlt sich ein Wert von 50.000–100.000 KB/s als Kompromiss. Nach dem Rebuild die Werte auf die Standardwerte zurücksetzen (typisch: max 200.000, min 1.000).

RAID-Überprüfung (Scrub) manuell starten

Ein RAID-Check (Scrub) liest alle Daten und Paritätsinformationen und vergleicht sie auf Konsistenz. Fehler werden erkannt und – falls möglich – automatisch korrigiert:

# Check für md0 starten
echo check > /sys/block/md0/md/sync_action

# Für md1 (falls mehrere RAID-Arrays vorhanden)
echo check > /sys/block/md1/md/sync_action

# Alternativ: repair statt check (korrigiert Fehler automatisch)
echo repair > /sys/block/md0/md/sync_action

Den Fortschritt verfolgen:

cat /proc/mdstat

Während des Checks erscheint eine Fortschrittsanzeige:

md0 : active raid5 sdd[3] sdc[2] sdb[1] sda[0]
      5860270080 blocks super 1.0 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]
      [====>................]  check = 22.4% (437248/1953382) finish=12.3min speed=122240K/sec

Aktuellen Sync-Status abfragen

Welche Aktion gerade läuft, lässt sich direkt abfragen:

cat /sys/block/md0/md/sync_action

Mögliche Werte: idle (nichts aktiv), check, repair, resync, recover.

Fehler, die beim letzten Check gefunden wurden:

cat /sys/block/md0/md/mismatch_cnt

Ein Wert größer als 0 bedeutet, dass Inkonsistenzen gefunden wurden. Bei RAID-5/6 werden diese durch repair automatisch aus den Paritätsdaten wiederhergestellt.

RAID-Zustand einer einzelnen Platte prüfen

Mit mdadm lassen sich Details zu einem RAID-Array und einzelnen Mitgliedsplatten abfragen:

mdadm --detail /dev/md0
mdadm --examine /dev/sda

Fazit

Der direkte Zugriff auf /proc/mdstat und /sys/block/md0/md/ gibt volle Transparenz über den RAID-Zustand des QNAP-Systems. Ein regelmäßiger Scrub (monatlich empfohlen) erkennt stille Datenfehler frühzeitig – bevor sie im Fehlerfall zu Datenverlust führen. Die Geschwindigkeitssteuerung über speed_limit_max ermöglicht einen kontrollierten Ablauf ohne Einbußen im Normalbetrieb.