ZFS Pool immer wieder DEGRADED

Letzte Aktualisierung am 25.12.2023, 11:12:03 Uhr

Auf meinem neuen Home Lab Server kommt als Hypervisor Proxmox Virtual Environment (PVE) zum Einsatz. Als Festplattenspeicher (Datastore) setze ich auf SAMSUNG SSDs aus verschiedenen Produktionsreihen. Diese sind mit Hilfe von ZFS zu einem raidz1 konfiguriert (z-local-ssd).

Für die Sicherung der virtuellen Maschinen (VMs) nutze ich die integrierte Backup-Funktion. Als Speicherziel ist eine HDD im Gerät verbaut.

Jedes Mal wenn ich eine Sicherung aller VMs gestartet habe, hat sich irgendwann der Status des ZFS Pools z-local-ssd von HEALTH auf DEGRADED verändert. In den unzähligen Fällen kam es nie zu Write sondern ausschließlich zur Read Fehlern.

Bei den ersten Male habe ich jedes Mal über SSH das Scrubbing des ZFS Pools angestoßen. Um sicher zu gehen, dass die Datenintegrität gewährleistet ist. Danach habe ich den Zustand des Pools wieder zurückgesetzt.

Beim vierten Mal habe ich die vermeidliche defekte Festplatte mit Hilfe von Smartctl überprüft. Die Werte der SSDs waren in Ordnung. Eine Prüfung des Arbeitsspeichers mit memtest86+ kam nichts heraus.

Daher bin ich im Internet auf Spurensuche gegangen und über folgenden Beitrag im Proxmox Forum gestolpert mit eine möglichen Workaround.

Per SSH auf den PVE Server verbinden und die Datei „/etc/default/grub“ im Editor der Wahl öffnen. Ich nutze dafür gerne den vi. Dort die Zeile suchen, die mit dem Parameter GRUB_CMDLINE_LINUX_DEFAULT beginnt.

Wie im Screenshot zu sehen ist, den Wert des Parameters um „libata.force=noncq,3.0“ erweitern. Wichtig dabei ist, dass Trennzeichen ist kein Komma sondern ein Leerzeichen.

root@pve01:/etc/default# diff grub grub.default
9c9
< GRUB_CMDLINE_LINUX_DEFAULT="quiet libata.force=noncq,3.0"
---
> GRUB_CMDLINE_LINUX_DEFAULT="quiet"

Die Änderung speichern und die Datei schließen. Damit diese Änderung wirksam wird, muss diese noch an Bootloader weitergegeben werden.

update-grub

Abschließend habe ich den Server neu gestartet.

Seit der Erweiterung des Parameters ist das Problem nicht mehr aufgetreten. Bleibt zu hoffen, dass der Workaround mittelfristig nicht mehr notwendig ist.

Viel Spaß beim Ausprobieren. 🙂

Abonnieren
Benachrichtige mich bei
0 Comments
Inline Feedbacks
View all comments