Download ZFS-Speicher-Pool - Oracle Documentation

Transcript
Überprüfen der Integrität des ZFS-Dateisystems
Wenn ein Pool nicht redundant ist, besteht immer das Risiko, dass Sie nach einer Beschädigung
des Dateisystems nicht mehr auf Ihre Daten zugreifen können.
Validierung von Dateisystemen
Neben der Dateisystemreparatur stellt das Dienstprogramm fsck sicher, dass Daten auf einem
Datenträger fehlerfrei sind. Diese Validierung wird üblicherweise durch Aushängen des
betreffenden Dateisystems und Ausführen des Dienstprogramms fsck durchgeführt. Während
dieses Vorgangs muss das System möglicherweise in den Einzelbenutzermodus gebracht
werden. Daraus resultieren Ausfallzeiten, die proportional zur Größe des zu überprüfenden
Dateisystems sind. Statt eines Dienstprogramms zum expliziten Ausführen der entsprechenden
Überprüfungen besitzt ZFS einen Mechanismus zur regelmäßigen Überprüfung auf
Inkonsistenzen. Diese als Bereinigung bezeichnete Funktion wird häufig in Arbeitsspeichern
und anderen Systemen als Methode des Erkennens und Vermeidens von Problemen eingesetzt,
die Hardwareausfälle oder Softwarefehlfunktionen verursachen.
Kontrollieren der ZFS-Datenbereinigung
Wenn ZFS einen Fehler erkennt (der auf die Bereinigung oder den Zugriff auf Dateien
zurückzuführen ist), wird dieser intern protokolliert, sodass Sie einen schnellen Überblick über
alle bekannten Fehler im Pool erhalten.
Explizite ZFS-Datenbereinigung
Die einfachste Methode zum Überprüfen der Datenintegrität besteht im Durchführen einer
expliziten Bereinigung aller im Pool enthaltenen Daten. Diesem Vorgang werden alle Daten im
Pool einmalig unterzogen, wodurch sichergestellt wird, dass alle Datenblöcke gelesen werden
können. Die Bereinigung erfolgt so schnell, wie es das entsprechende Datenspeichergerät
zulässt, obwohl E/A-Vorgänge eine niedrigere Priorität als normale Prozessen haben. Dieser
Vorgang kann sich negativ auf die Systemleistung auswirken, obgleich die Daten des Pools
während der Bereinigung weiterhin verwendbar und weitgehend verfügbar bleiben sollten.
Explizite Bereinigungen können mit dem Befehl zpool scrub ausgeführt werden. Beispiel:
# zpool scrub tank
Der Status der aktuellen Bereinigung kann mithilfe des Befehls zpool status angezeigt
werden. Beispiel:
# zpool
pool:
state:
scrub:
config:
status -v tank
tank
ONLINE
scrub completed after 0h7m with 0 errors on Tue Tue Feb 2 12:54:00 2010
NAME
310
STATE
READ WRITE CKSUM
Oracle Solaris ZFS-Administrationshandbuch • August 2011