Navigationslinks überspringen | |
Druckansicht beenden | |
![]() |
Oracle Solaris ZFS-Administrationshandbuch Oracle Solaris 10 1/13 Information Library (Deutsch) |
1. Oracle Solaris ZFS-Dateisystem (Einführung)
2. Erste Schritte mit Oracle Solaris ZFS
3. Verwalten von Oracle Solaris ZFS-Speicher-Pools
Komponenten eines ZFS-Speicher-Pools
Verwenden von Datenträgern in einem ZFS-Speicher-Pool
Verwenden von Bereichen in einem ZFS-Speicher-Pool
Verwenden von Dateien in einem ZFS-Speicher-Pool
Überlegungen zu ZFS-Speicherpools
Replikationsfunktionen eines ZFS-Speicher-Pools
Speicher-Pools mit Datenspiegelung
Speicher-Pools mit RAID-Z-Konfiguration
Selbstheilende Daten in einer redundanten Konfiguration
Dynamisches Striping in einem Speicher-Pool
Erstellen und Entfernen von ZFS-Speicher-Pools
Erstellen von ZFS-Speicherpools
Erstellen eines einfachen Speicher-Pools
Erstellen eines Speicher-Pools mit Datenspiegelung
Erstellen eines ZFS-Root-Pools
Erstellen eines RAID-Z-Speicher-Pools
Erstellen eines ZFS-Speicher-Pools mit Protokolliergeräten
Erstellen eines ZFS-Speicher-Pools mit Cache-Geräten
Vorsichtsmaßnahmen beim Erstellen von Speicherpools
Anzeigen von Informationen zu virtuellen Geräten in Storage-Pools
Behandlung von Fehlern beim Erstellen von ZFS-Speicher-Pools
Inkongruente Replikationsmethoden
Ausführen eines Testlaufs für die Erstellung eines Speicher-Pools
Standard-Einhängepunkt für Speicher-Pools
Löschen von ZFS-Speicher-Pools
Löschen eines Pools mit nicht verfügbaren Geräten
Verwalten von Datenspeichergeräten in ZFS-Speicher-Pools
Hinzufügen von Datenspeichergeräten zu einem Speicher-Pool
Verbinden und Trennen von Geräten in einem Speicher-Pool
Erstellen eines neuen Pools durch Teilen eines ZFS-Speicher-Pools mit Datenspiegelung
In- und Außerbetriebnehmen von Geräten in einem Speicher-Pool
Außerbetriebnehmen eines Geräts
Löschen von Gerätefehlern im Speicher-Pool
Austauschen von Geräten in einem Speicher-Pool
Zuweisen von Hot-Spares im Speicher-Pool
Aktivieren und Deaktivieren von Hot-Spares im Speicher-Pool
Eigenschaften von ZFS-Speicher-Pools
Abfragen des Status von ZFS-Speicher-Pools
Anzeigen von Informationen zu ZFS-Speicher-Pools
Anzeigen von Informationen zu allen Speicherpools oder einem bestimmten Pool
Anzeigen spezifischer Speicherpool-Statistikinformationen
Verwenden von Ausgaben von ZFS-Speicher-Pools für Skripten
Anzeige des Befehlsprotokolls von ZFS-Speicher-Pools
Anzeigen von E/A-Statistiken für ZFS-Speicher-Pools
Anzeigen globaler Pool-E/A-Statistikinformationen
Anzeigen von E/A-Statistikinformationen zu virtuellen Geräten
Ermitteln des Funktionsstatus von ZFS-Speicher-Pools
Grundlegender Funktionsstatus eines Speicher-Pools
Migrieren von ZFS-Speicher-Pools
Vorbereiten der Migration eines ZFS-Speicher-Pools
Exportieren eines ZFS-Speicher-Pools
Ermitteln verfügbarer Speicher-Pools für den Import
Importieren von ZFS-Speicher-Pools aus anderen Verzeichnissen
Importieren von ZFS-Speicher-Pools
Importieren eines Pools mit fehlendem Protokolliergerät
Importieren eines Pools im schreibgeschützten Modus
Importieren eines Pools nach einem spezifischen Gerätepfad
Wiederherstellen gelöschter ZFS-Speicher-Pools
Aktualisieren von ZFS-Speicher-Pools
4. Installieren und Booten eines Oracle Solaris ZFS-Root-Dateisystems
5. Verwalten von Oracle Solaris ZFS-Dateisystemen
6. Arbeiten mit Oracle Solaris ZFS-Schnappschüssen und -Klonen
7. Schützen von Oracle Solaris ZFS-Dateien mit Zugriffskontrolllisten und Attributen
8. Delegierte Oracle Solaris ZFS-Administration
9. Fortgeschrittene Oracle Solaris ZFS-Themen
10. Problembehebung und Pool-Wiederherstellung in Oracle Solaris ZFS
11. Empfohlene Oracle Solaris ZFS-Vorgehensweisen
Mithilfe des Befehls zpool list können Sie mit unterschiedlichen Methoden Informationen zum Pool-Status abrufen. Die verfügbaren Informationen unterteilen sich im Allgemeinen in drei Kategorien: grundlegende Informationen zur Auslastung, E/A-Statistiken und Informationen zum Funktionsstatus. In diesem Abschnitt werden alle drei Kategorien dieser Informationen zu Speicher-Pools behandelt.
Mit dem Befehl zpool list können Sie grundlegende Pool-Informationen anzeigen.
Ohne Argumente werden mithilfe des Befehls zpool list folgende Informationen für alle Pools des Systems angezeigt:
# zpool list NAME SIZE ALLOC FREE CAP HEALTH ALTROOT tank 80.0G 22.3G 47.7G 28% ONLINE - dozer 1.2T 384G 816G 32% ONLINE -
Diese Befehlsausgabe zeigt folgende Informationen an:
Der Name des Pools.
Die Gesamtkapazität des Pools entspricht der Summe der Speicherkapazität aller virtuellen Geräte der obersten Hierarchieebene.
Der von allen Datasets und internen Metadaten belegte physische Speicherplatz. Bitte beachten Sie, dass sich dieser Wert von der auf Dateisystemebene gemeldeten Festplattenkapazität unterscheidet.
Weitere Informationen zum Ermitteln des verfügbaren Dateisystemspeicherplatzes finden Sie unter Berechnung von ZFS-Festplattenkapazität.
Der Wert des nicht belegten Speicherplatzes im Pool.
Der Wert der belegten Festplattenkapazität als Verhältnis zur Gesamtkapazität, in Prozent.
Der gegenwärtige Funktionsstatus des Pools.
Weitere Informationen zum Pool-Status finden Sie unter Ermitteln des Funktionsstatus von ZFS-Speicher-Pools.
Das alternative Root-Verzeichnis des Pools (falls vorhanden).
Weitere Informationen zu Speicher-Pools mit alternativem Root-Verzeichnis finden Sie unter Verwenden von ZFS-Speicher-Pools mit alternativem Root-Verzeichnis.
Durch Angabe eines Pool-Namens können Sie sich auch Statistiken zu diesem bestimmten Pool anzeigen lassen. Beispiel:
# zpool list tank NAME SIZE ALLOC FREE CAP HEALTH ALTROOT tank 80.0G 22.3G 47.7G 28% ONLINE -
Mithilfe der Zeitintervall- und Zählparameteroptionen von zpool list können Sie sich Statistiken über einen bestimmten Zeitraum anzeigen lassen. Außerdem können Sie mit der Option -T einen Zeitstempel anzeigen. Beispiel:
# zpool list -T d 3 2 Tue Nov 2 10:36:11 MDT 2010 NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT pool 33.8G 83.5K 33.7G 0% 1.00x ONLINE - rpool 33.8G 12.2G 21.5G 36% 1.00x ONLINE - Tue Nov 2 10:36:14 MDT 2010 pool 33.8G 83.5K 33.7G 0% 1.00x ONLINE - rpool 33.8G 12.2G 21.5G 36% 1.00x ONLINE -
Mithilfe der Option -o können Sie sich spezifische Statistikinformationen anzeigen lassen. Auch können Sie mithilfe dieser Option benutzerdefinierte Berichte erstellen oder sich gewünschte Informationen anzeigen lassen. Mit der folgenden Syntax wird beispielsweise nur der Name und die Speicherkapazität jedes Pools angezeigt:
# zpool list -o name,size NAME SIZE tank 80.0G dozer 1.2T
Die Spaltentitel werden unter Anzeigen von Informationen zu allen Speicherpools oder einem bestimmten Pool erläutert.
Die Standardausgabe des Befehls zpool list dient der Lesbarkeit am Bildschirm und ist für Shell-Skripten nicht zu verwenden. Zur Unterstützung programmatischer Verwendungen dieses Befehls kann mithilfe der Option -H die Ausgabe der Spaltentitel unterdrückt werden, und die einzelnen Felder werden durch Leerzeichen statt durch Tabulatoren getrennt. So rufen Sie beispielsweise eine Liste aller Pool-Namen im System mithilfe der folgenden Syntax ab:
# zpool list -Ho name tank dozer
Hier ist ein weiteres Beispiel:
# zpool list -H -o name,size tank 80.0G dozer 1.2T
ZFS protokolliert automatisch zfs- und zpool-Befehle, durch die Pool-Zustandsinformationen geändert werden. Diese Informationen können mit dem Befehl zpool history angezeigt werden.
Die folgende Syntax zeigt beispielsweise die Befehlsausgabe für den Root-Pool:
# zpool history History for 'rpool': 2010-05-11.10:18:54 zpool create -f -o failmode=continue -R /a -m legacy -o cachefile=/tmp/root/etc/zfs/zpool.cache rpool mirror c1t0d0s0 c1t1d0s0 2010-05-11.10:18:55 zfs set canmount=noauto rpool 2010-05-11.10:18:55 zfs set mountpoint=/rpool rpool 2010-05-11.10:18:56 zfs create -o mountpoint=legacy rpool/ROOT 2010-05-11.10:18:57 zfs create -b 8192 -V 2048m rpool/swap 2010-05-11.10:18:58 zfs create -b 131072 -V 1536m rpool/dump 2010-05-11.10:19:01 zfs create -o canmount=noauto rpool/ROOT/zfsBE 2010-05-11.10:19:02 zpool set bootfs=rpool/ROOT/zfsBE rpool 2010-05-11.10:19:02 zfs set mountpoint=/ rpool/ROOT/zfsBE 2010-05-11.10:19:03 zfs set canmount=on rpool 2010-05-11.10:19:04 zfs create -o mountpoint=/export rpool/export 2010-05-11.10:19:05 zfs create rpool/export/home 2010-05-11.11:11:10 zpool set bootfs=rpool rpool 2010-05-11.11:11:10 zpool set bootfs=rpool/ROOT/zfsBE rpool
Sie können auf Ihrem System eine ähnliche Ausgabe verwenden, um die ZFS-Befehle zu identifizieren, die bei der Behebung eines Fehlers ausgeführt wurden.
Das Verlaufsprotokoll zeichnet sich durch die folgenden Merkmale aus:
Das Protokoll kann nicht deaktiviert werden.
Das Protokoll wird persistent gespeichert, es wird also neustartübergreifend geführt.
Das Protokoll wird in Form eines Ringpuffers implementiert. Die Mindestgröße beträgt 128 KB. Die Maximalgröße beträgt 32 MB.
Für kleinere Pools ist die maximale Größe auf 1 Prozent der Pool-Größe beschränkt, wobei die Größe zum Zeitpunkt der Pool-Erstellung bestimmt wird.
Das Protokoll erfordert keine Administration, d. h., eine Anpassung der Protokollgröße bzw. eine Änderung des Speicherorts sind nicht nötig.
Verwenden Sie zur Identifizierung des Befehlsprotokolls eines bestimten Speicher-Pools in etwa folgende Syntax:
# zpool history tank 2012-01-25.16:35:32 zpool create -f tank mirror c3t1d0 c3t2d0 spare c3t3d0 2012-02-17.13:04:10 zfs create tank/test 2012-02-17.13:05:01 zfs snapshot -r tank/test@snap1
Verwenden Sie die Option -l zum Anzeigen eines langen Formats mit Benutzernamen, Hostnamen und Angabe der Zone, in der der Vorgang ausgeführt wurde. Beispiel:
# zpool history -l tank History for 'tank': 2012-01-25.16:35:32 zpool create -f tank mirror c3t1d0 c3t2d0 spare c3t3d0 [user root on tardis:global] 2012-02-17.13:04:10 zfs create tank/test [user root on tardis:global] 2012-02-17.13:05:01 zfs snapshot -r tank/test@snap1 [user root on tardis:global]
Verwenden Sie die Option -i zum Anzeigen interner Ereignisinformationen, die bei der Diagnose behilflich sein können. Beispiel:
# zpool history -i tank History for 'tank': 2012-01-25.16:35:32 zpool create -f tank mirror c3t1d0 c3t2d0 spare c3t3d0 2012-01-25.16:35:32 [internal pool create txg:5] pool spa 33; zfs spa 33; zpl 5; uts tardis 5.11 11.1 sun4v 2012-02-17.13:04:10 zfs create tank/test 2012-02-17.13:04:10 [internal property set txg:66094] $share2=2 dataset = 34 2012-02-17.13:04:31 [internal snapshot txg:66095] dataset = 56 2012-02-17.13:05:01 zfs snapshot -r tank/test@snap1 2012-02-17.13:08:00 [internal user hold txg:66102] <.send-4736-1> temp = 1 ...
Mit dem Befehl zpool iostat können Sie E/A-Statistikinformationen für einen Pool bzw. ein virtuelles Datenspeichergerät abrufen. Dieser Befehl zeigt ähnlich wie der Befehl iostat eine statische "Momentaufnahme" aller E/A-Aktivitäten sowie aktualisierte Statistikinformationen für jedes definierte Zeitintervall an. Es werden die folgenden Statistikinformationen ausgegeben:
Die Kapazität der gegenwärtig im Pool bzw. Gerät gespeicherten Daten. Aufgrund interner Implementierungsaspekte unterscheidet sich dieser Wert geringfügig von der für die betreffenden Dateisysteme verfügbaren Festplattenkapazität.
Weitere Informationen zu Unterschieden zwischen Pool- und Dataset-Speicherplatz finden Sie in Berechnung von ZFS-Festplattenkapazität.
Die im Pool bzw. Gerät verfügbare Festplattenkapazität. Wie in der used-Statistik unterscheidet sich dieser Wert geringfügig von der für Datasets verfügbaren Festplattenkapazität.
Die Anzahl der zum Pool bzw. Gerät gesendeten E/A-Vorgänge einschließlich Metadaten-Anforderungen.
Die Anzahl der zum Pool bzw. Gerät gesendeten E/A-Schreiboperationen.
Die Bandbreite aller Leseoperationen (einschließlich Metadaten) in Einheiten pro Sekunde.
Die Bandbreite aller Schreiboperationen in Einheiten pro Sekunde.
Ohne Optionen zeigt der Befehl zpool iostat die bisher aufgelaufenen Statistikinformationen für alle Pools im System seit dem Hochfahren des Systems an. Beispiel:
# zpool iostat capacity operations bandwidth pool alloc free read write read write ---------- ----- ----- ----- ----- ----- ----- rpool 6.05G 61.9G 0 0 786 107 tank 31.3G 36.7G 4 1 296K 86.1K ---------- ----- ----- ----- ----- ----- -----
Da die angezeigten Statistikinformationen seit dem Hochfahren des Systems aufgelaufen sind, kann es sein, dass die Bandbreite bei relativ geringer Auslastung des Pools gering erscheint. Durch Angabe eines Zeitintervalls erhalten Sie ein realistischeres Bild der aktuellen Bandbreite. Beispiel:
# zpool iostat tank 2 capacity operations bandwidth pool alloc free read write read write ---------- ----- ----- ----- ----- ----- ----- tank 18.5G 49.5G 0 187 0 23.3M tank 18.5G 49.5G 0 464 0 57.7M tank 18.5G 49.5G 0 457 0 56.6M tank 18.8G 49.2G 0 435 0 51.3M
Im obigen Beispiel zeigt der Befehl Auslastungsstatistiken für den Pool tank in Abständen von zwei Sekunden an, bis Sie Strg-C drücken. Alternativ können Sie ein zusätzliches count-Argument angeben, das den Befehl nach der angegebenen Anzahl von Iterationen beendet.
So gibt zpool iostat 2 3 beispielsweise dreimal alle zwei Sekunden (also insgesamt sechs Sekunden lang) eine Übersicht aus. Wenn nur ein einziger Pool vorhanden ist, werden die Statistikinformationen in aufeinander folgenden Zeilen angezeigt. Sind mehrere Pools vorhanden, werden die Werte für die einzelnen Pools zur besseren Lesbarkeit durch gestrichelte Linien getrennt.
Neben den globalen E/A-Statistikinformationen für einen Pool kann der Befehl zpool iostat außerdem E/A-Statistikinformationen für bestimmte virtuelle Datenspeichergeräte anzeigen. Mit diesem Befehl können Sie unverhältnismäßig langsame Datenspeichergeräte identifizieren oder die Verteilung der von ZFS generierten E/A-Vorgänge überprüfen. Zum Abrufen der vollständigen virtuellen Gerätestruktur sowie aller E/A-Statistikinformationen können Sie den Befehl zpool iostat -v nutzen. Beispiel:
# zpool iostat -v capacity operations bandwidth pool alloc free read write read write ---------- ----- ----- ----- ----- ----- ----- rpool 6.05G 61.9G 0 0 785 107 mirror 6.05G 61.9G 0 0 785 107 c1t0d0s0 - - 0 0 578 109 c1t1d0s0 - - 0 0 595 109 ---------- ----- ----- ----- ----- ----- ----- tank 36.5G 31.5G 4 1 295K 146K mirror 36.5G 31.5G 126 45 8.13M 4.01M c1t2d0 - - 0 3 100K 386K c1t3d0 - - 0 3 104K 386K ---------- ----- ----- ----- ----- ----- -----
Bitte beachten Sie zwei wichtige Aspekte, wenn Sie E/A-Statistikinformationen für virtuelle Geräte abrufen:
Erstens sind Statistikinformationen zur Belegung von Festplattenkapazität nur für virtuelle Geräte der obersten Hierarchieebene verfügbar. Die Art und Weise der Zuweisung von Festplattenkapazität bei virtuellen Geräten mit Datenspiegelung und RAID-Z ist implementierungsspezifisch und kann nicht in Form einer einzelnen Zahl ausgedrückt werden.
Zweitens kann es sein, dass die einzelnen Werte nicht die erwartete Summe ergeben. Insbesondere sind Werte bei Geräten mit Datenspiegelung und RAID-Z nicht genau gleich. Diese Unterschiede sind besonders nach der Erstellung eines Pools bemerkbar, da ein großer Teil der E/A-Vorgänge infolge der Pool-Erstellung direkt auf den Datenträgern ausgeführt wird, was auf der Datenspiegelungsebene nicht berücksichtigt wird. Im Laufe der Zeit gleichen sich diese Werte allmählich an. Allerdings können auch defekte, nicht reagierende bzw. außer Betrieb genommen Geräte diese Symmetrie beeinträchtigen.
Bei der Untersuchung von Statistikinformationen zu virtuellen Geräten können Sie die gleichen Optionen (Zeitintervall und Zählparameter) verwenden.
ZFS bietet eine integrierte Methode zur Untersuchung der ordnungsgemäßen Funktion von Pools und Datenspeichergeräten. Der Funktionsstatus eines Pools wird aus dem Funktionsstatus aller seiner Datenspeichergeräte ermittelt. Diese Statusinformationen werden mit dem Befehl zpool status angezeigt. Außerdem werden potenzielle Pool- und Geräteausfälle von fmd gemeldet, an der Systemkonsole angezeigt und in der Datei /var/adm/messages protokolliert.
In diesem Abschnitt wird die Ermittlung des Funktionsstatus von Pools und Datenspeichergeräten erläutert. Dieses Kapitel enthält jedoch keine Informationen zur Reparatur fehlerhafter Pools bzw. Wiederherstellen des Normalbetriebs eines Pools. Weitere Informationen zur Fehlerbehebung und Datenwiederherstellung finden Sie in Kapitel 10, Problembehebung und Pool-Wiederherstellung in Oracle Solaris ZFS.
Der Integritätsstatus eines Pools wird mit einem von vier Status beschrieben:
Ein Pool mit mindestens einem fehlerhaften Gerät, die Daten sind jedoch wegen einer redundanten Konfiguration noch verfügbar.
Alle Geräte eines Pools arbeiten normal.
Ein Pool wartet darauf, dass die Verbindung zu einem Gerät wiederhergestellt wird. Ein SUSPENDED Pool bleibt im Wartezustand, bis das Geräteproblem behoben ist.
Ein Pool mit beschädigten Metadaten, mit mindestens einem nicht verfügbaren Gerät und nicht ausreichenden Replikaten, um die Funktion fortsetzen zu können.
Poolgeräte können sich in einem der folgenden Zustände befinden:
Am virtuellen Gerät ist ein Fehler aufgetreten, es funktioniert jedoch noch. Dieser Zustand tritt am Häufigsten auf, wenn in einer RAID-Z-Konfiguration ein oder mehrere Datenspeichergeräte nicht mehr verfügbar sind. Die Fehlertoleranz des Pools kann beeinträchtigt werden, da ein Ausfall eines weiteren Geräts nicht behebbar sein könnte.
Das Gerät wurde vom Administrator außer Betrieb genommen.
Das Gerät bzw. virtuelle Gerät arbeitet normal. Obwohl zeitweilige Übergangsfehler auftreten können, arbeitet das Gerät sonst einwandfrei.
Das Gerät wurde bei laufendem Systembetrieb physisch ausgebaut. Die Erkennung ausgebauter Geräte ist von der jeweiligen Hardware abhängig und wird möglicherweise nicht auf allen Plattformen unterstützt.
Mit dem Gerät bzw. virtuellen Gerät kann nicht kommuniziert werden. In manchen Fällen gehen Pools mit Geräten im Status UNAVAIL in den Status DEGRADED. Wenn sich ein virtuelles Gerät der obersten Hierarchieebene im Status UNAVAIL befindet, können von diesem Pool keine Daten abgerufen werden.
Der Funktionsstatus eines Pools wird aus dem Funktionsstatus aller seiner Datenspeichergeräte der obersten Hierarchieebene ermittelt. Befinden sich alle virtuellen Geräte eines Pools im Status ONLINE, besitzt der Pool ebenfalls den Status ONLINE. Befindet sich eines der virtuellen Geräte eines Pools im Status DEGRADED bzw. UNAVAIL, besitzt der Pool den Status DEGRADED. Wenn sich ein virtuelles Gerät der obersten Hierarchieebene im Status UNAVAIL bzw. OFFLINE befindet, hat der Pool ebenfalls den Status UNAVAIL oder SUSPENDED. Auf einen Pool im Status UNAVAIL oder SUSPENDED kann überhaupt nicht zugegriffen werden. Es können erst wieder Daten abgerufen werden, wenn erforderliche Datenspeichergeräte verbunden bzw. repariert werden. Ein Pool im Status DEGRADED bleibt zwar weiterhin aktiv, es kann jedoch sein, dass nicht das gleiche Datenredundanz- bzw. Datendurchsatzniveau wie bei einem ordnungsgemäßen Funktionieren des Pools erreicht wird.
Der Befehl zpool status stellt außerdem Details zu den Wiederherstellungs- und Bereinigungsvorgängen bereit.
Bericht, während die Spiegelung läuft. Beispiel:
scan: resilver in progress since Wed Jun 20 14:19:38 2012 7.43G scanned out of 71.8G at 36.4M/s, 0h30m to go 7.43G resilvered, 10.35% done
Bericht, während die Bereinigung läuft. Beispiel:
scan: scrub in progress since Wed Jun 20 14:56:52 2012 529M scanned out of 71.8G at 48.1M/s, 0h25m to go 0 repaired, 0.72% done
Meldung, dass die Spiegelung abgeschlossen ist. Beispiel:
scan: resilvered 71.8G in 0h14m with 0 errors on Wed Jun 20 14:33:42 2012
Meldung, dass die Bereinigung abgeschlossen ist. Beispiel:
scan: scrub repaired 0 in 0h11m with 0 errors on Wed Jun 20 15:08:23 2012
Meldung, dass die laufende Bereinigung abgebrochen wurde. Beispiel:
scan: scrub canceled on Wed Jun 20 16:04:40 2012
Meldungen zum Abschluss von Bereinigung und Spiegelung bleiben auch nach Systemneustarts erhalten.
Sie können den Funktionsstatus eines Pools mithilfe des Befehls zpool status wie folgt rasch abrufen:
# zpool status -x all pools are healthy
Bestimmte Pools können geprüft werden, indem der Pool-Name in der Befehlssyntax angegeben wird. Pools, die sich nicht im Status ONLINE befinden, sollten auf potenzielle Probleme untersucht werden (siehe folgender Abschnitt).
Mithilfe der Option -v können Sie ausführlichere Informationen zum Funktionsstatus abrufen. Beispiel:
# zpool status -v tank pool: tank state: DEGRADED status: One or more devices could not be opened. Sufficient replicas exist for the pool to continue functioning in a degraded state. action: Attach the missing device and online it using 'zpool online'. see: http://www.sun.com/msg/ZFS-8000-2Q scrub: scrub completed after 0h0m with 0 errors on Wed Jan 20 15:13:59 2010 config: NAME STATE READ WRITE CKSUM tank DEGRADED 0 0 0 mirror-0 DEGRADED 0 0 0 c1t0d0 ONLINE 0 0 0 c1t1d0 UNAVAIL 0 0 0 cannot open errors: No known data errors
Diese Ausgabe enthält eine vollständige Beschreibung darüber, warum sich der Pool in seinem gegenwärtigen Funktionsstatus befindet. Es findet sich auch eine lesbare Erläuterung des Problems und ein Verweis auf einen Artikel in der Sun Knowledge Base, wenn Sie weitere Informationen dazu benötigen. Die Artikel der Sun Knowledge Base enthalten die aktuellsten Informationen zur Behebung eines bestimmten Problems. Mithilfe der aufgeführten ausführlichen Konfigurationsinformationen sollten Sie feststellen können, welches Datenspeichergerät defekt ist und wie Sie den Pool reparieren können.
Im vorherigen Beispiel muss das UNAVAIL-Datenspeichergerät ausgetauscht werden. Nach dem Austauschen des Geräts können Sie es falls erforderlich mit dem Befehl zpool online wieder in Betrieb nehmen. Beispiel:
# zpool online tank c1t0d0 Bringing device c1t0d0 online # zpool status -x all pools are healthy
# zpool online pond c0t5000C500335F907Fd0 warning: device 'c0t5000C500335DC60Fd0' onlined, but remains in degraded state # zpool status -x all pools are healthy
Mit der obigen Ausgabe wird angegeben, dass das Gerät in einem herabgestuften Status bleibt, bis die Wiederherstellung abgeschlossen ist.
Wenn die Eigenschaft autoreplace aktiviert ist, müssen Sie das ausgetauschte Gerät möglicherweise nicht in Betrieb nehmen.
Wenn in einem Pool ein außer Betrieb genommenes Gerät vorhanden ist, kann es mithilfe der vom Befehl ausgegebenen Informationen identifiziert werden. Beispiel:
# zpool status -x pool: tank state: DEGRADED status: One or more devices has been taken offline by the administrator. Sufficient replicas exist for the pool to continue functioning in a degraded state. action: Online the device using 'zpool online' or replace the device with 'zpool replace'. scrub: resilver completed after 0h0m with 0 errors on Wed Jan 20 15:15:09 2010 config: NAME STATE READ WRITE CKSUM tank DEGRADED 0 0 0 mirror-0 DEGRADED 0 0 0 c1t0d0 ONLINE 0 0 0 c1t1d0 OFFLINE 0 0 0 48K resilvered errors: No known data errors
# zpool status -x pool: pond state: DEGRADED status: One or more devices has been taken offline by the administrator. Sufficient replicas exist for the pool to continue functioning in a degraded state. action: Online the device using 'zpool online' or replace the device with 'zpool replace'. config: NAME STATE READ WRITE CKSUM pond DEGRADED 0 0 0 mirror-0 DEGRADED 0 0 0 c0t5000C500335F95E3d0 ONLINE 0 0 0 c0t5000C500335F907Fd0 OFFLINE 0 0 0 mirror-1 ONLINE 0 0 0 c0t5000C500335BD117d0 ONLINE 0 0 0 c0t5000C500335DC60Fd0 ONLINE 0 0 0 errors: No known data errors
In den Spalten READ und WRITE wird die Anzahl der für das betreffende Gerät gezählten E/A-Fehler angezeigt, und die Spalte CKSUM enthält die Anzahl der am Gerät aufgetretenen nicht behebbaren Prüfsummenfehler. Da beide Fehlerzähler auf einen wahrscheinlichen Geräteausfall hinweisen, sollten Sie Maßnahmen zur Behebung dieses Problems einleiten. Wenn für ein virtuelles Gerät der obersten Hierarchieebene Fehlerwerte angezeigt werden, die nicht gleich null sind, kann es sein, dass auf Daten teilweise nicht mehr zugegriffen werden kann
Das Feld errors: weist auf bekannte Datenfehler hin.
In der Befehlsausgabe des vorherigen Beispiels verursacht das außer Betrieb genommene Gerät keine Datenfehler.
Weitere Informationen zum Auffinden von Fehlern und Reparieren von UNAVAIL Pools und Daten finden Sie in Kapitel 10, Problembehebung und Pool-Wiederherstellung in Oracle Solaris ZFS.
Mithilfe der Zeitintervall- und Zählparameteroptionen von zpool status können Sie sich Statistiken über einen bestimmten Zeitraum anzeigen lassen. Außerdem können Sie mit der Option -T einen Zeitstempel anzeigen. Beispiel:
# zpool status -T d 3 2 Wed Jun 20 16:10:09 MDT 2012 pool: pond state: ONLINE scan: resilvered 9.50K in 0h0m with 0 errors on Wed Jun 20 16:07:34 2012 config: NAME STATE READ WRITE CKSUM pond ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c0t5000C500335F95E3d0 ONLINE 0 0 0 c0t5000C500335F907Fd0 ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 c0t5000C500335BD117d0 ONLINE 0 0 0 c0t5000C500335DC60Fd0 ONLINE 0 0 0 errors: No known data errors pool: rpool state: ONLINE scan: scrub repaired 0 in 0h11m with 0 errors on Wed Jun 20 15:08:23 2012 config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c0t5000C500335BA8C3d0s0 ONLINE 0 0 0 c0t5000C500335FC3E7d0s0 ONLINE 0 0 0 errors: No known data errors Wed Jun 20 16:10:12 MDT 2012 pool: pond state: ONLINE scan: resilvered 9.50K in 0h0m with 0 errors on Wed Jun 20 16:07:34 2012 config: NAME STATE READ WRITE CKSUM pond ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c0t5000C500335F95E3d0 ONLINE 0 0 0 c0t5000C500335F907Fd0 ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 c0t5000C500335BD117d0 ONLINE 0 0 0 c0t5000C500335DC60Fd0 ONLINE 0 0 0 errors: No known data errors pool: rpool state: ONLINE scan: scrub repaired 0 in 0h11m with 0 errors on Wed Jun 20 15:08:23 2012 config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c0t5000C500335BA8C3d0s0 ONLINE 0 0 0 c0t5000C500335FC3E7d0s0 ONLINE 0 0 0 errors: No known data errors