JavaScript is required to for searching.
Navigationslinks ´┐Żberspringen
Druckansicht beenden
Oracle Solaris ZFS-Administrationshandbuch
search filter icon
search icon

Dokument-Informationen

Vorwort

1.  Oracle Solaris ZFS-Dateisystem (Einführung)

2.  Erste Schritte mit Oracle Solaris ZFS

3.  Unterschiede zwischen Oracle Solaris ZFS und herkömmlichen Dateisystemen

4.  Verwalten von Oracle Solaris ZFS-Speicher-Pools

5.  Installieren und Booten eines Oracle Solaris ZFS-Root-Dateisystems

6.  Verwalten von Oracle Solaris ZFS-Dateisystemen

7.  Arbeiten mit Oracle Solaris ZFS-Snapshots und -Klonen

8.  Schützen von Oracle Solaris ZFS-Dateien mit Zugriffskontrolllisten und Attributen

9.  Delegierte Oracle Solaris ZFS-Administration

10.  Fortgeschrittene Oracle Solaris ZFS-Themen

11.  Problembehebung und Pool-Wiederherstellung in Oracle Solaris ZFS

Erkennen von ZFS-Fehlern

Fehlende Datenspeichergeräte in einem ZFS-Speicher-Pool

Beschädigte Datenspeichergeräte in einem ZFS-Speicher-Pool

Beschädigte ZFS-Daten

Überprüfen der Integrität des ZFS-Dateisystems

Reparatur von Dateisystemen

Validierung von Dateisystemen

Kontrollieren der ZFS-Datenbereinigung

Explizite ZFS-Datenbereinigung

ZFS-Datenbereinigung und Resilvering

Beheben von Problemen mit ZFS

Ermitteln, ob in einem ZFS-Speicher-Pool Probleme vorhanden sind

Überprüfen der Ausgabe des Befehls zpool status

Gesamtinformationen zum Pool-Status

Pool-Konfigurationsinformationen

Status eines Bereinigungsvorgangs

Datenbeschädigungsfehler

Systemprotokoll mit ZFS-Fehlermeldungen

Reparieren einer beschädigten ZFS-Konfiguration

Abhilfe bei Nichtverfügbarkeit eines Geräts

Wiedereinbinden eines Datenspeichergeräts

Benachrichtigung von ZFS nach Wiederherstellung der Verfügbarkeit

Ersetzen oder Reparieren eines beschädigten Geräts

Ermitteln des Gerätefehlertyps

Löschen vorübergehender Fehler

Austauschen eines Datenspeichergeräts in einem ZFS-Speicher-Pool

Ermitteln, ob ein Gerät ausgetauscht werden kann

Datenspeichergeräte, die nicht ausgetauscht werden können

Austauschen eines Datenspeichergeräts in einem ZFS-Speicher-Pool

Anzeigen des Resilvering-Status

Reparieren beschädigter Daten

Ermitteln der Art der Datenbeschädigung

Reparatur beschädigter Dateien bzw. Verzeichnisse

Reparieren von Schäden am gesamten ZFS-Speicher-Pool

Reparieren eines Systems, das nicht hochgefahren werden kann

A.  Oracle Solaris ZFS-Versionsbeschreibungen

Index

Beheben von Problemen mit ZFS

In den folgenden Abschnitten wird beschrieben, wie Sie Probleme mit ZFS-Dateisystem oder Speicher-Pools erkennen und beheben können:

Die folgenden Leistungsmerkmale dienen zur Problemerkennung in ZFS-Konfigurationen:

Die meisten ZFS-Probleme können mithilfe des Befehls zpool status erkannt werden. Mithilfe dieses Befehls werden verschiedene Fehlfunktionen im System analysiert, die wichtigsten Probleme erkannt und Empfehlungen zu Abhilfemaßnahmen sowie Verweise auf entsprechende Artikel in der Sun Knowledge Base angezeigt. Beachten Sie, dass der Befehl nur ein einziges Problem im Pool erkennen kann, obwohl mehrere Probleme vorhanden sein können. Bei Datenbeschädigungsfehlern wird beispielsweise stets vorausgesetzt, dass ein Datenspeichergerät ausgefallen ist. Durch den Austausch des ausgefallenen Geräts werden jedoch möglicherweise nicht alle Datenbeschädungsprobleme behoben.

Außerdem diagnostiziert und meldet ein ZFS-Diagnoseprogramm Pool- und Datenträgerausfälle. Darüber hinaus werden mit solchen Ausfällen im Zusammenhang stehende Prüfsummen-, E/A-, Geräte- und Poolfehler gemeldet. Von fmd gemeldete ZFS-Fehler werden auf der Konsole angezeigt und in der Systemprotokolldatei festgehalten. In den meisten Fällen verweist Sie die fmd-Meldung auf den Befehl zpool status, mit dessen Hilfe Sie das Problem weiter verfolgen können.

Der grundlegende Problembehebungsvorgang läuft wie folgt ab:

In diesem Abschnitt wird beschrieben, wie Sie die Ausgabe des Befehls zpool status interpretieren, damit Sie Fehler diagnostizieren können. Obwohl die meisten Aufgaben automatisch mithilfe des Befehls ausgeführt werden, müssen Sie genau wissen, um welche Probleme es sich handelt, damit Sie den Ausfall diagnostizieren können. In den nachfolgenden Abschnitten wird beschrieben, wie Sie verschiedenen vorgefundene Probleme beheben können.

Ermitteln, ob in einem ZFS-Speicher-Pool Probleme vorhanden sind

Mit dem Befehl zpool status -x können Sie am einfachsten herausfinden, ob in einem System Probleme vorliegen. Mithilfe dieses Befehls werden nur Pools angezeigt, die problembehaftet sind. Wenn in einem System alle Pools ordnungsgemäß funktionieren, wird nur Folgendes angezeigt:

# zpool status -x
all pools are healthy

Ohne das Flag -x werden mithilfe des Befehls die gesamten Statusinformationen aller Pools (oder eines in der Befehlszeile angegebenen Pools) angezeigt, auch wenn diese ordnungsgemäß funktionieren.

Weitere Informationen zu Befehlszeilenoptionen des Befehls zpool status finden Sie unter Abfragen des Status von ZFS-Speicher-Pools.

Überprüfen der Ausgabe des Befehls zpool status

Die gesamte Ausgabe des Befehls zpool status sieht ungefähr wie folgt aus:

# zpool status tank
# zpool status 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: none requested
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

Es folgt eine Beschreibung dieser Ausgabe:

Gesamtinformationen zum Pool-Status

Dieser Abschnitt der Ausgabe des Befehls zpool status enthält die folgenden Felder (einige dieser Felder werden nur angezeigt, wenn im Pool Probleme auftreten):

pool

Gibt den Namen des Pools an.

state

Zeigt den aktuellen Funktionsstatus des Pools an. Diese Informationen beziehen sich lediglich auf die Fähigkeit des Pools, für die erforderliche Replikation zu sorgen.

status

Beschreibt, was mit dem Pool nicht in Ordnung ist. Dieses Feld wird nicht angezeigt, wenn keine Fehler gefunden wurden.

action

Eine empfohlene Aktion zur Fehlerbehebung. Dieses Feld wird nicht angezeigt, wenn keine Fehler gefunden wurden.

see

Verweist auf einen Artikel in der Sun Knowledge Base, der ausführliche Reparaturinformationen enthält. Online-Artikel werden öfter als dieses Handbuch aktualisiert und enthalten stets die aktuellsten Reparaturanweisungen. Dieses Feld wird nicht angezeigt, wenn keine Fehler gefunden wurden.

scrub

Zeigt den aktuellen Status einer Bereinigung an (Datum und Uhrzeit der letzten Bereinigung, Informationen zu einer laufenden Bereinigung, Informationen zur Anforderung von Bereinigungen).

errors

Zeigt bekannte bzw. unbekannte Datenfehler an.

Pool-Konfigurationsinformationen

Das Feld config in der Ausgabe des Befehls zpool status beschreibt die Konfigurationsstruktur der Datenspeichergeräte, die den Pool bilden, sowie deren Status und die von diesen Geräten herrührenden Fehler. Der Status kann die folgenden Werte annehmen: ONLINE, FAULTED, DEGRADED, UNAVAIL oder OFFLINE. Wenn der Status eines Pools nicht ONLINE ist, wurde die Fehlertoleranz des Pools eingeschränkt.

Im zweiten Abschnitt der Konfigurationsinformationen wird die Fehlerstatistik angezeigt. Diese Fehler werden in drei Kategorien eingeteilt:

Mithilfe dieser Kategorien kann ermittelt werden, ob es sich um bleibende Schäden handelt. Eine geringe Anzahl auftretender E/A-Fehler kann die Folge zeitweiliger Ausfälle sein, während eine größere Anzahl an E/A-Fehlern auf ein bleibendes Problem mit dem entsprechenden Gerät hinweisen kann. Bei diesen Fehlern muss es sich nicht unbedingt um Datenbeschädigung handeln, auch wenn sie von den Anwendungen so interpretiert werden. Wenn das Gerät zu einer redundanten Konfiguration gehört, kann es sein, dass die Datenträger nicht behebbare Fehler aufweisen, während auf der RAID-Z- bzw. Datenspiegelungsebene keine Fehler angezeigt werden. In solchen Fällen hat ZFS die unbeschädigten Daten erfolgreich abgerufen und versucht, die beschädigten Daten durch vorhandene Replikationen zu ersetzen.

Weitere Informationen zur Interpretation dieser Fehler finden Sie unter Ermitteln des Gerätefehlertyps.

Zusätzliche hilfreiche Informationen werden in der letzten Spalte der Ausgabe des Befehls zpool status angezeigt. Diese Information ergänzen die im Feld state enthaltenen Informationen und helfen bei der Diagnose von Fehlern. Bei Datenspeichergeräten mit dem Status FAULTED zeigt dieses Feld an, ob auf das betreffende Gerät zugegriffen werden kann oder die Daten auf dem Gerät beschädigt sind. Wenn auf das Datenspeichergerät mithilfe von Resilvering Daten neu aufgespielt werden, zeigt dieses Feld den Verlauf dieses Vorgangs an.

Weitere Informationen zur Überwachung des Resilvering-Vorgangs finden Sie in Anzeigen des Resilvering-Status.

Status eines Bereinigungsvorgangs

Im Bereinigungsabschnitt der Ausgabe des Befehls zpool status wird der aktuelle Status von Bereinigungsvorgängen angezeigt, die explizit ausgeführt werden. Diese Informationen weisen nicht auf Fehler hin, die im System aufgetreten sind, können aber zum Ermitteln der Genauigkeit des Meldens von Datenbeschädigungsfehlern herangezogen werden. Wenn die letzte Bereinigung erst vor kurzem ausgeführt wurde, sind Datenbeschädigungen höchstwahrscheinlich bereits bekannt.

Meldungen zum Abschluss von Bereinigungen bleiben nach Systemneustarts erhalten.

Weitere Informationen zur Datenbereinigung und zur Interpretation dieser Informationen finden Sie unter Überprüfen der Integrität des ZFS-Dateisystems.

Datenbeschädigungsfehler

Der Befehl zpool status zeigt auch an, ob im Zusammenhang mit einem Pool bekannte Fehler aufgetreten sind. Diese Fehler können während der Datenbereinigung oder im Normalbetrieb gefunden worden sein. ZFS führt ein kontinuierliches Protokoll aller mit einem Pool im Zusammenhang stehenden Datenfehler. Nach jedem Abschluss einer vollständigen Systembereinigung wird das Protokoll entsprechend aktualisiert.

Datenbeschädigungsfehler sind stets schwerwiegend. Ihr Vorhandensein weist darauf hin, dass bei mindestens einem Anwendungsprogramm aufgrund beschädigter Daten im Pool ein E/A-Fehler aufgetreten ist. Gerätefehler innerhalb eines redundanten Pools verursachen keine Datenbeschädigung und werden in diesem Protokoll nicht festgehalten. Standardmäßig wird nur die Anzahl der gefundenen Fehler angezeigt. Eine vollständige Liste mit Fehlern und deren Informationen kann mit dem Befehl zpool status -v angezeigt werden. Beispiel:

# zpool status -v
  pool: tank
 state: UNAVAIL
status: One or more devices are faulted in response to IO failures.
action: Make sure the affected devices are connected, then run 'zpool clear'.
   see: http://www.sun.com/msg/ZFS-8000-HC
 scrub: scrub completed after 0h0m with 0 errors on Tue Feb  2 13:08:42 2010
config:

        NAME        STATE     READ WRITE CKSUM
        tank        UNAVAIL      0     0     0  insufficient replicas
          c1t0d0    ONLINE       0     0     0
          c1t1d0    UNAVAIL      4     1     0  cannot open

errors: Permanent errors have been detected in the following files: 

/tank/data/aaa
/tank/data/bbb
/tank/data/ccc

Eine ähnliche Meldung wird auch von fmd auf der Systemkonsole angezeigt und in der Datei /var/adm/messages protokolliert. Diese Meldungen können auch mit dem Befehl fmdump verfolgt werden.

Weitere Informationen zur Interpretation von Datenbeschädigungsfehlern finden Sie unter Ermitteln der Art der Datenbeschädigung.

Systemprotokoll mit ZFS-Fehlermeldungen

Neben der kontinuierlichen Verfolgung von Fehlern innerhalb eines Pools zeigt ZFS beim Auftreten bestimmter Ereignisse auch Systemprotokollmeldungen an. In den folgenden Situationen werden Ereignisse zur Benachrichtigung des Administrators ausgelöst:

Wenn ZFS einen Gerätefehler erkennt und diesen automatisch behebt, wird keine Benachrichtigung gesendet. Solche Fehler stellen keine Einschränkung der Pool-Redundanz bzw. Datenintegrität dar und sind darüber hinaus normalerweise die Folge eines Treiberproblems mit eigenen entsprechenden Fehlermeldungen.