Ich habe hier ungefähr zwei Fragen, die auf einem gemeinsamen Setup basieren. Ein kurzer Haftungsausschluss: Ich verwende Freenas und habe die ZFS-Terminologie noch nicht vollständig verstanden, und Freenas verstümmelt die ZFS-Terminologie ohnehin in seiner Benutzeroberfläche. Ich akzeptiere Antworten, die das Terminal oder die Freenas-Benutzeroberfläche verwenden (Bonuspunkte für beides ;)).
Ich habe ein einzelnes Volume (Zpool?) mit 1 gespiegeltem Vdev, das aus zwei 3-TB-Festplatten besteht.
Was ist derrichtigVorgehensweise zum physischen Entfernen und erneuten Einsetzen einer der Festplatten?
Wahrscheinlich unklugerweise habe ich eine der Festplatten entfernt, ohne irgendwelche Befehle auszuführen. Ich wurde sofort darauf hingewiesen, dass das Volume DEGRADED (erwartungsgemäß) war. Dieser Status blieb bestehen, nachdem ich das Laufwerk wieder eingesetzt hatte (es schien das Laufwerk nicht als das entfernte Laufwerk zu erkennen – oder wenn doch, wusste ich nicht, wie ich es wieder anschließen sollte). Ich habe den Server neu gestartet und er zeigt das Volume jetzt als intakt an, aber unter Volume Manager->Volume Stats steht in der Prüfsummenspalte eines der Laufwerke eine 182, aber nicht des anderen (obwohl ich nicht weiß, ob das vorher da war).
- Wie hätte ich mit der Situation umgehen sollen?
- Kann dies zu Datenverlust führen oder sollte sich ZFS problemlos von dieser Situation erholen?
- Wenn es zu Datenverlust/-beschädigung/was auch immer kommen kann, wie kann ich das überprüfen und beheben?
Und schließlich gibt es zusätzliche Bonuspunkte für Links zu prägnanten ZFS-Einführungen, die keine Lehrbücher sind und sich nicht mit nutzlos obskuren Teilen von ZFs befassen. :P
Antwort1
Haftungsausschluss: Ich habe FreeNAS nicht persönlich verwendet, daher entsprechen einige Antworten möglicherweise nicht der üblichen Vorgehensweise. Bitte lesen Sie vorher das Handbuch. Allerdings handelt es sich um die von Oracle empfohlene Vorgehensweise, daher sollte etwas Wahres dahinter stecken.
- Es hängt von Ihrem Ziel ab:
- Wenn Sie wollenErsetzen Sie ein defektes LaufwerkBei einem Austausch tun Sie dies in der FreeNAS-Web-Benutzeroberfläche oder von der Konsole aus mit
zpool replace poolname olddevice newdevice
. - Wenn Sie wolleneine Festplatte dauerhaft aus einem gespiegelten VDEV entfernen(und reduzieren Sie den Spiegel auf die Basisversion, wobei Sie dabei sämtliche Redundanz verlieren), Sie tun dies in der GUI oder von der Konsole aus mit
zpool detach poolname olddevice
(zpool attach poolname olddevice newdevice
zum erneuten Anfügen verwenden). - Wenn Sie wollenein Gerät vorübergehend aus dem aktiven Pool nehmen, ohne es zu entfernen oder abzutrennen, verwenden Sie die GUI oder von der Konsole aus mit
zpool offline poolname olddevice
. Dies ist bei der Fehlerbehebung bei größeren Arrays nützlich, ich schreibe es hier nur der Vollständigkeit halber.
- Wenn Sie wollenErsetzen Sie ein defektes LaufwerkBei einem Austausch tun Sie dies in der FreeNAS-Web-Benutzeroberfläche oder von der Konsole aus mit
- Reboot exportiert alle Pools und importiert sie dann. Beim Import prüft ZFS, ob alle Platten vorhanden sind. Anstatt also neu zu starten, könnte man auch
zpool export poolname
folgendes tunzpool import poolname
, um dasselbe zu erreichen. Es ist möglich, dass man die Platte nach dem Einlegen konfigurieren muss (das ist bei Standard-Illumos-Systemen der Fall), bevor man den Pool importiert. Wenn man den Pool nicht herunterfahren möchte, kann man auch das defekte Gerät ausbauen und dann ersetzen. Auf diese Weise hat man keine Ausfallzeit, sondern ein Resilvering. Ich persönlich würde immer die erste Lösung wählen, außer bei großen Arrays, weil sie viel sicherer ist. - Siehe nächste Frage.
- Wenn die Prüfsumme nur auf einem Laufwerk vorhanden war, ist alles in Ordnung. Verwenden Sie ,
zpool clear poolname
um die Fehlermeldung zu entfernen. Wenn die Prüfsummenfehler auf beiden Laufwerken vorhanden waren, hängt es vom Einzelfall ab. Normalerweise würde ZFS Ihnen mitteilen, ob und welche Dateien betroffen sind.
- Reboot exportiert alle Pools und importiert sie dann. Beim Import prüft ZFS, ob alle Platten vorhanden sind. Anstatt also neu zu starten, könnte man auch
Bonuspunkte-Antwort:
- Hilfe- und Dokumentationsseiten von Oracle, wie oben verlinkt
man zpool
man zfs
undman /usr/bin/chmod
für zpool, Dateisysteme und ACL-Konfigurationen. Sie sind auch online bei Oracle verfügbar und sehr, sehr gut. Eigentlich braucht man fast nichts anderes, denn sie haben auch jede Menge Beispiele aus der Praxis (viel besser als GNU-Manpages) .- Solaris Best Practices-Handbuch
- FreeNAS – schlechteste Vorgehensweisen (Fallstricke, die es zu vermeiden gilt)
- Dinge über Nex7, die Ihnen niemand über ZFS erzählt hat
- Constantin Gonzalez‘ Blog
- ZFS Cheat Sheet mit den nützlichsten Befehlen in kompakter Form