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

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

Replikationsfunktionen eines ZFS-Speicher-Pools

Speicher-Pools mit Datenspiegelung

Speicher-Pools mit RAID-Z-Konfiguration

ZFS-Hybrid-Speicher-Pool

Selbstheilende Daten in einer redundanten Konfiguration

Dynamisches Striping in einem Speicher-Pool

Erstellen und Entfernen von ZFS-Speicher-Pools

Erstellen eines ZFS-Speicher-Pools

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

Anzeigen von Informationen zu virtuellen Geräten in Storage-Pools

Behandlung von Fehlern beim Erstellen von ZFS-Speicher-Pools

Erkennen belegter Geräte

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 fehlerhaften 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

Inbetriebnehmen eines Gerätes

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 Speicher-Pools oder einem bestimmten Pool

Anzeigen spezifischer Speicher-Pool-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

Ausführliche Informationen zum Funktionsstatus

Sammeln von Informationen des ZFS-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

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

A.  Oracle Solaris ZFS-Versionsbeschreibungen

Index

Verwalten von Datenspeichergeräten in ZFS-Speicher-Pools

Die meisten grundlegenden Informationen zu Datenspeichergeräten sind in Komponenten eines ZFS-Speicher-Pools enthalten. Nach dem Erstellen eines Pools können Sie zum Verwalten der zum Pool gehörenden Datenspeichergeräte verschiedene Aufgaben ausführen.

Hinzufügen von Datenspeichergeräten zu einem Speicher-Pool

Durch Hinzufügen eines neuen Gerätes der obersten Hierarchieebene können Sie einen Pool dynamisch um Festplattenkapazität erweitern. Die zusätzliche Festplattenkapazität steht allen im Pool enthaltenen Datasets sofort zur Verfügung. Mit dem Befehl zpool add fügen Sie einem Pool ein neues virtuelles Gerät hinzu. Beispiel:

# zpool add zeepool mirror c2t1d0 c2t2d0

Das Format zum Angeben dieser virtuellen Geräte entspricht dem Format für den Befehl zpool create. Es wird geprüft, ob die betreffenden Datenspeichergeräte belegt sind, und der Befehl kann die Redundanzebene ohne die Option - f nicht ändern. Der Befehl unterstützt auch die Option -n zum Durchführen eines Testlaufs. Beispiel:

# zpool add -n zeepool mirror c3t1d0 c3t2d0
would update 'zeepool' to the following configuration:
      zeepool
        mirror
            c1t0d0
            c1t1d0
        mirror
            c2t1d0
            c2t2d0
        mirror
            c3t1d0
            c3t2d0

Mit dieser Befehlsyntax werden die gespiegelten Geräte c3t1d0 und c3t2d0 zur vorhandenen Konfiguration des Poolszeepool hinzugefügt.

Weitere Informationen zur Überprüfung von virtuellen Geräten finden Sie unter Erkennen belegter Geräte.

Beispiel 4-1 Hinzufügen von Festplatten in eine ZFS-Konfiguration mit Datenspiegelung

Im folgenden Beispiel wird eine ZFS-Konfiguration mit Datenspiegelung auf einem Oracle Sun Fire x4500-System um eine weitere Spiegelplatte ergänzt.

# zpool status tank
  pool: tank
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c0t1d0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0
          mirror-1  ONLINE       0     0     0
            c0t2d0  ONLINE       0     0     0
            c1t2d0  ONLINE       0     0     0

errors: No known data errors
# zpool add tank mirror c0t3d0 c1t3d0
# zpool status tank
  pool: tank
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c0t1d0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0
          mirror-1  ONLINE       0     0     0
            c0t2d0  ONLINE       0     0     0
            c1t2d0  ONLINE       0     0     0
          mirror-2  ONLINE       0     0     0
            c0t3d0  ONLINE       0     0     0
            c1t3d0  ONLINE       0     0     0

errors: No known data errors

Beispiel 4-2 Hinzufügen von Datenträgern zu einer RAID-Z-Konfiguration

Datenträger können in ähnlicher Weise auch zu einer RAID-Z-Konfiguration hinzugefügt werden. Das folgende Beispiel zeigt, wie ein Speicher-Pool mit einem aus drei Festplatten bestehenden RAID-Z-Gerät in ein Speicher-Pool mit zwei aus je drei Datenträgern bestehenden RAID-Z-Geräten umgewandelt werden kann.

# zpool status rzpool
  pool: rzpool
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        rzpool      ONLINE       0     0     0
          raidz1-0  ONLINE       0     0     0
            c1t2d0  ONLINE       0     0     0
            c1t3d0  ONLINE       0     0     0
            c1t4d0  ONLINE       0     0     0

errors: No known data errors
# zpool add rzpool raidz c2t2d0 c2t3d0 c2t4d0
# zpool status rzpool
  pool: rzpool
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        rzpool      ONLINE       0     0     0
          raidz1-0  ONLINE       0     0     0
            c1t0d0  ONLINE       0     0     0
            c1t2d0  ONLINE       0     0     0
            c1t3d0  ONLINE       0     0     0
          raidz1-1  ONLINE       0     0     0
            c2t2d0  ONLINE       0     0     0
            c2t3d0  ONLINE       0     0     0
            c2t4d0  ONLINE       0     0     0

errors: No known data errors

Beispiel 4-3 Hinzufügen und Entfernen eines gespiegelten Protokolliergeräts

Das folgende Beispiel zeigt, wie einem Speicher-Pool mit Datenspiegelung ein gespiegeltes Protokolliergerät hinzugefügt werden kann.Weitere Informationen zum Einsatz von Protokolliergeräten in Speicher-Pools finden Sie unter Einrichten separater ZFS-Protokolliergeräte.

# zpool status newpool
  pool: newpool
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        newpool     ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c0t4d0  ONLINE       0     0     0
            c0t5d0  ONLINE       0     0     0

errors: No known data errors
# zpool add newpool log mirror c0t6d0 c0t7d0
# zpool status newpool
  pool: newpool
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        newpool     ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c0t4d0  ONLINE       0     0     0
            c0t5d0  ONLINE       0     0     0
        logs
          mirror-1  ONLINE       0     0     0
            c0t6d0  ONLINE       0     0     0
            c0t7d0  ONLINE       0     0     0

errors: No known data errors

Sie können zur Datenspiegelung an ein vorhandenes Protokolliergerät ein weiteres Protokolliergerät anschließen. Dies entspricht dem Verbinden eines Speichergeräts in einem Speicher-Pool ohne Datenspiegelung.

Mit dem Befehl zpool remove können Sie Protokolliergeräte entfernen. Das gespiegelte Protokolliergerät, um das es im vorherigen Beispiel geht, kann durch Angabe des Arguments mirror-1 entfernt werden. Beispiel:

# zpool remove newpool mirror-1
# zpool status newpool
  pool: newpool
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        newpool     ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c0t4d0  ONLINE       0     0     0
            c0t5d0  ONLINE       0     0     0

errors: No known data errors

Wenn Ihre Pool-Konfiguration nur ein Protokolliergerät enthält, entfernen Sie das Gerät, indem Sie dessen Namen angeben. Beispiel:

# zpool status pool
  pool: pool
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        pool        ONLINE       0     0     0
          raidz1-0  ONLINE       0     0     0
            c0t8d0  ONLINE       0     0     0
            c0t9d0  ONLINE       0     0     0
        logs
          c0t10d0   ONLINE       0     0     0

errors: No known data errors
# zpool remove pool c0t10d0

Beispiel 4-4 Hinzufügen und Entfernen von Cache-Geräten

Sie können Cache-Geräte zu Ihrem ZFS-Speicher-Pool hinzufügen oder Cache-Geräte aus Ihrem ZFS-Speicher-Pool entfernen, wenn diese nicht mehr benötigt werden.

Verwenden Sie den Befehl zpool add zum Hinzufügen von Cache-Geräten. Beispiele:

# zpool add tank cache c2t5d0 c2t8d0
# zpool status tank
  pool: tank
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c2t0d0  ONLINE       0     0     0
            c2t1d0  ONLINE       0     0     0
            c2t3d0  ONLINE       0     0     0
        cache
          c2t5d0    ONLINE       0     0     0
          c2t8d0    ONLINE       0     0     0

errors: No known data errors

Cache-Geräte können nicht gespiegelt werden oder Teil einer RAID-Z-Konfiguration sein.

Verwenden Sie den Befehl zpool remove zum Entfernen von Cache-Geräten. Beispiel:

# zpool remove tank c2t5d0 c2t8d0
# zpool status tank
 pool: tank
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c2t0d0  ONLINE       0     0     0
            c2t1d0  ONLINE       0     0     0
            c2t3d0  ONLINE       0     0     0

errors: No known data errors

Der Befehl zpool remove unterstützt derzeit nur das Entfernen von Hot-Spares, Protokolliergeräten und Cache-Geräten. Geräte, die zur primären gespiegelten Pool-Konfiguration gehören, können mit dem Befehl zpool detach entfernt werden. Geräte ohne Redundanz und RAID-Z-Geräte können nicht aus einem Pool entfernt werden.

Weitere Informationen zur Verwendung von Cache-Geräten in einem ZFS-Speicher-Pool finden Sie unter Erstellen eines ZFS-Speicher-Pools mit Cache-Geräten.

Verbinden und Trennen von Geräten in einem Speicher-Pool

Zusätzlich zum Befehl zpool add können Sie mit dem Befehl zpool attach zu einem Gerät mit oder ohne Datenspiegelung ein neues Datenspeichergerät hinzufügen.

Wenn Sie eine Festplatte einbinden möchten, um einen gespiegelten Root-Pool zu erstellen, gehen Sie wie unter Erstellen eines gespiegelten ZFS-Root-Pools (nach der Installation) beschrieben vor.

Wenn Sie eine Festplatte in einem ZFS-Root-Pool ersetzen möchten, gehen Sie wie unter So ersetzen Sie eine Festplatte im ZFS-Root-Pool beschrieben vor.

Beispiel 4-5 Umwandlung eines Speicher-Pools mit zweifacher Datenspiegelung in einen Speicher-Pool mit dreifacher Datenspiegelung

In diesem Beispiel ist zeepool eine vorhandene zweifache Datenspiegelungskonfiguration, die durch Verbinden des Geräts c2t1d0 mit dem vorhandenen Gerät c1t1d0 in eine dreifache Datenspiegelungskonfiguration umgewandelt wird.

# zpool status zeepool
  pool: zeepool
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        zeepool     ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c0t1d0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0

errors: No known data errors
# zpool attach zeepool c1t1d0 c2t1d0
# zpool status zeepool
  pool: zeepool
 state: ONLINE
 scrub: resilver completed after 0h0m with 0 errors on Fri Jan  8 12:59:20 2010
config:

        NAME        STATE     READ WRITE CKSUM
        zeepool     ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c0t1d0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0
            c2t1d0  ONLINE       0     0     0  592K resilvered

errors: No known data errors

Wenn das betreffende Gerät zu einer dreifachen Datenspiegelungskonfiguration gehört, wird durch Verbinden des neuen Geräts eine vierfache Datenspiegelungskonfiguration erstellt usw. In jedem Fall wird sofort das Resilvering durchgeführt (d. h., die gespiegelten Daten werden auf das neue Gerät in der Datenspiegelungskonfiguration übertragen).

Beispiel 4-6 Umwandeln eines ZFS-Speicher-Pools ohne Redundanz in einen ZFS-Speicher-Pool mit Datenspiegelung

Außerdem können Sie mithilfe des Befehls zpool attach einen Speicher-Pool ohne Redundanz in einen Pool mit Redundanz umwandeln. Beispiel:

# zpool create tank c0t1d0
# zpool status tank
  pool: tank
 state: ONLINE
 scrub: none requested
config:
        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          c0t1d0    ONLINE       0     0     0

errors: No known data errors
# zpool attach tank c0t1d0 c1t1d0
# zpool status tank
  pool: tank
 state: ONLINE
 scrub: resilver completed after 0h0m with 0 errors on Fri Jan  8 14:28:23 2010
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c0t1d0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0  73.5K resilvered

errors: No known data errors

Mit dem Befehl zpool detach kann ein Datenspeichergerät aus einem Pool mit Datenspiegelungskonfiguration abgetrennt werden. Beispiel:

# zpool detach zeepool c2t1d0

Dieser Vorgang ist allerdings nicht ausführbar, wenn keine anderen Replikationen der betreffenden Daten vorhanden sind. Beispiel:

# zpool detach newpool c1t2d0
cannot detach c1t2d0: only applicable to mirror and replacing vdevs

Erstellen eines neuen Pools durch Teilen eines ZFS-Speicher-Pools mit Datenspiegelung

Eine ZFS-Speicher-Pool mit Datenspiegelung kann mithilfe des Befehls zpool split schnell als Sicherungs-Pool geklont werden.

Diese Funktion kann derzeit nicht zum Teilen eines Root-Pools mit Datenspiegelung verwendet werden.

Mithilfe des Befehls zpool split können Sie eine oder mehrere Festplatten von einem ZFS-Speicher-Pool mit Datenspiegelung trennen, um einen neuen Pool mit der/den getrennten Festplatte(n) zu erstellen. Der Inhalt des neuen Pools ist mit dem des ursprünglichen ZFS-Speicher-Pools mit Datenspiegelung identisch.

Durch den Befehl zpool split wird die letzte Festplatte eines Pools mit Datenspiegelung standardmäßig getrennt und für den neuen Pool verwendet. Nach der Teilung importieren Sie den neuen Pool. Beispiel:

# zpool status tank
  pool: tank
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c1t0d0  ONLINE       0     0     0
            c1t2d0  ONLINE       0     0     0

errors: No known data errors
# zpool split tank tank2
# zpool import tank2
# zpool status tank tank2
  pool: tank
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          c1t0d0    ONLINE       0     0     0

errors: No known data errors

  pool: tank2
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank2       ONLINE       0     0     0
          c1t2d0    ONLINE       0     0     0

errors: No known data errors

Sie können feststellen, welche Festplatte für den neuen Pool verwendet werden soll, indem Sie sie mithilfe des Befehls zpool split angeben. Beispiel:

# zpool split tank tank2 c1t0d0

Vor der tatsächlichen Teilung werden die im Speicher enthaltenen Daten auf die gespiegelten Festplatten ausgespeichert. Nach dem Ausspeichern wird die Festplatte vom Pool getrennt und erhält eine neue Pool-GUID. Die neue Pool-GUID wird generiert, damit der Pool auf dasselbe System importiert werden kann, auf dem er geteilt wurde.

Wenn der Pool, der geteilt werden soll, keine standardmäßigen Dataset-Einhängepunkte hat und der neue Pool auf demselben System erstellt wird, müssen Sie die Option zpool split -R verwenden, um ein alternatives Root-Verzeichnis für den neuen Pool zu bestimmen, damit es nicht zu Konflikten zwischen vorhandenen Einhängepunkten kommt. Beispiel:

# zpool split -R /tank2 tank tank2

Wenn Sie nicht die Option zpool split -R verwenden und feststellen, dass Einhängepunkte in Konflikt geraten, sobald Sie versuchen, den neuen Pool zu importieren, importieren Sie den neuen Pool mithilfe der Option -R. Wenn der neue Pool auf einem anderen System erstellt wird, ist die Angabe eines alternativen Root-Verzeichnisses nicht nötig, es sei denn, es treten Einhängepunkt-Konflikte auf.

Berücksichtigen Sie Folgendes, bevor Sie die Funktion zpool split verwenden:

Beispiel 4-7 Teilung eines ZFS-Speicher-Pools mit Datenspiegelung

Im folgenden Beispiel wird ein Speicher-Pool mit Datenspiegelung namens trinity, der drei Festplatten enthält, c1t0d0, c1t2d0 und c1t3d0, geteilt. Dadurch entstehen der Pool mit Datenspiegelung trinity, der die Festplatten c1t0d0 und c1t2d0 enthält, und der neue Pool neo, der die Festplatte c1t3d0 enthält. Der Inhalt beider Pools ist identisch.

# zpool status trinity
  pool: trinity
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        trinity     ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c1t0d0  ONLINE       0     0     0
            c1t2d0  ONLINE       0     0     0
            c1t3d0  ONLINE       0     0     0

errors: No known data errors
# zpool split trinity neo
# zpool import neo
# zpool status trinity neo
  pool: neo
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        neo         ONLINE       0     0     0
          c1t3d0    ONLINE       0     0     0

errors: No known data errors

  pool: trinity
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        trinity     ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c1t0d0  ONLINE       0     0     0
            c1t2d0  ONLINE       0     0     0

errors: No known data errors

In- und Außerbetriebnehmen von Geräten in einem Speicher-Pool

Einzelne Datenspeichergeräte können in ZFS in und außer Betrieb genommen werden. Wenn Hardwarekomponenten unzuverlässig sind und nicht richtig funktionieren, schreibt ZFS trotzdem weiter Daten auf das betreffende Gerät bzw. liest sie von diesem und geht davon aus, dass dieser Zustand nicht von Dauer ist. Wenn dieser Zustand andauert, können Sie ZFS anweisen, das Gerät zu ignorieren, wodurch es außer Betrieb genommen wird. ZFS sendet dann keine Anforderungen an das außer Betrieb genommene Gerät.


Hinweis - Zum Austauschen von Datenspeichergeräten müssen diese vorher nicht außer Betrieb genommen werden.


Außerbetriebnehmen eines Geräts

Datenspeichergeräte werden mit dem Befehl zpool offline außer Betrieb genommen. Wenn es sich bei dem Datenspeichergerät um eine Festplatte handelt, kann es mit dem vollständigen Pfad oder einer Kurzbezeichnung angegeben werden. Beispiel:

# zpool offline tank c1t0d0
bringing device c1t0d0 offline

Beim Außerbetriebnehmen von Datenspeichergeräten sollten Sie Folgendes berücksichtigen:

Wenn Sie den Pool-Status abfragen, weisen außer Betrieb genommene Geräte den Status OFFLINE auf. Weitere Informationen zum Abfragen des Pool-Status finden Sie unter Abfragen des Status von ZFS-Speicher-Pools.

Weitere Informationen zum Funktionsstatus von Datenspeichergeräten finden Sie unter Ermitteln des Funktionsstatus von ZFS-Speicher-Pools.

Inbetriebnehmen eines Gerätes

Nach dem Außerbetriebnehmen eines Geräts kann es mit dem Befehl zpool online wieder in Betrieb genommen werden. Beispiel:

# zpool online tank c1t0d0
bringing device c1t0d0 online

Nach dem Inbetriebnehmen des Gerätes werden alle Daten, die im Pool gespeichert wurden, mit dem neu verfügbaren Gerät synchronisiert. Bitte beachten Sie, dass Sie eine Festplatte nicht ersetzen können, indem Sie ein Gerät in Betrieb nehmen. Wenn Sie ein Gerät außer Betrieb nehmen, es austauschen und versuchen, es wieder in Betrieb zu nehmen, verursacht das einen Fehlerzustand.

Wenn Sie versuchen, ein fehlerhaftes Gerät in Betrieb zu nehmen, wird eine Meldung wie die folgende angezeigt:

# zpool online tank c1t0d0
warning: device 'c1t0d0' onlined, but remains in faulted state
use 'zpool replace' to replace devices that are no longer present

Die Fehlermeldung kann auch an der Konsole angezeigt oder in die Datei unter /var/adm/messages geschrieben werden. Beispiel:

SUNW-MSG-ID: ZFS-8000-D3, TYPE: Fault, VER: 1, SEVERITY: Major
EVENT-TIME: Wed Jun 30 14:53:39 MDT 2010
PLATFORM: SUNW,Sun-Fire-880, CSN: -, HOSTNAME: neo
SOURCE: zfs-diagnosis, REV: 1.0
EVENT-ID: 504a1188-b270-4ab0-af4e-8a77680576b8
DESC: A ZFS device failed.  Refer to http://sun.com/msg/ZFS-8000-D3 for more information.
AUTO-RESPONSE: No automated response will occur.
IMPACT: Fault tolerance of the pool may be compromised.
REC-ACTION: Run 'zpool status -x' and replace the bad device.

Weitere Informationen zum Austauschen fehlerhafter Geräte finden Sie unter Abhilfe bei Nichtverfügbarkeit eines Geräts.

Mit dem Befehl zpool online -e können Sie die Pool-Größe erweitern, wenn eine größere Festplatte in den Pool eingebunden oder eine kleinere Festplatte durch eine größere ersetzt wurde. Eine Festplatte, die zu einem Pool hinzugefügt wird, wird standardmäßig nicht auf ihre volle Größe erweitert, wenn die Pool-Eigenschaft autoexpand nicht aktiviert ist. Mithilfe des Befehls zpool online -e können Sie die Festplatte automatisch erweitern, selbst dann, wenn die Ersatzfestplatte bereits aktiviert wurde oder wenn die Festplatte gerade deaktiviert ist. Beispiel:

# zpool online -e tank c1t13d0

Löschen von Gerätefehlern im Speicher-Pool

Wenn ein Datenspeichergerät aufgrund von Fehlern, die in der Ausgabe von zpool status aufgeführt werden, außer Betrieb genommen wird, können Sie diese Fehler mithilfe des Befehls zpool clear löschen.

Wenn keine Argumente angegeben werden, löscht der Befehl alle Gerätefehler eines Pools. Beispiel:

# zpool clear tank

Wenn ein Gerät oder mehrere Geräte angegeben werden, löscht der Befehl nur die zu den betreffenden Geräten gehörenden Fehler. Beispiel:

# zpool clear tank c1t0d0

Weitere Informationen zum Löschen von zpool-Fehlern finden Sie unter Löschen vorübergehender Fehler.

Austauschen von Geräten in einem Speicher-Pool

Mit dem Befehl zpool replace können Sie Datenspeichergeräte in einem Speicher-Pool austauschen.

Wenn Sie in einem Pool mit Redundanz ein Datenspeichergerät an der gleichen Stelle durch ein anderes Datenspeichergerät ersetzen, brauchen Sie nur das ersetzte Datenspeichergerät anzugeben. Bei mancher Hardware erkennt ZFS, dass das Gerät eine andere Festplatte ist, die sich an derselben Stelle befindet. Wenn Sie beispielsweise eine ausgefallene Festplatte (c1t1d0) durch Auswechseln an der gleichen Stelle ersetzen wollen, verwenden Sie folgende Syntax:

# zpool replace tank c1t1d0

Wenn Sie ein Gerät in einem Speicher-Pool durch eine Festplatte an einer anderen physischen Stelle ersetzen wollen, müssen Sie beide Geräte angeben. Beispiel:

# zpool replace tank c1t1d0 c1t2d0

Wenn Sie eine Festplatte in einem ZFS-Root-Pool ersetzen, lesen Sie unter So ersetzen Sie eine Festplatte im ZFS-Root-Pool nach.

Es folgen die grundlegenden Schritte zum Austauschen von Datenträgern:

  1. Nehmen Sie den Datenträger wenn nötig mit dem Befehl zpool offline außer Betrieb.

  2. Bauen Sie die zu erstetzende Festplatte aus.

  3. Setzen Sie die Ersatzfestplatte ein.

  4. Führen Sie den Befehl zpool replace aus. Beispiel:

    # zpool replace tank c1t1d0
  5. Nehmen Sie den Datenträger mit dem Befehl zpool online in Betrieb.

Bei manchen Systemen, wie etwa bei Sun Fire-Systemen von Oracle, muss eine Festplatte vor der Außerbetriebnahme dekonfiguriert werden. Wenn Sie bei diesem System eine Festplatte an ein und demselben Steckplatz austauschen, genügt es, den Befehl zpool replace wie im ersten Beispiel dieses Abschnitt beschrieben auszuführen.

Ein Beispiel für das Austauschen eines Datenträgers auf einem Sun Fire X4500-System finden Sie in Beispiel 11-1.

Beachten Sie beim Auswechseln von Datenspeichergeräten in einem ZFS-Speicher-Pool Folgendes:

Weitere Informationen zum Austauschen von Geräten finden Sie unter Abhilfe bei Nichtverfügbarkeit eines Geräts sowie Ersetzen oder Reparieren eines beschädigten Geräts.

Zuweisen von Hot-Spares im Speicher-Pool

Mithilfe der Hot-Spare-Funktion können Sie Datenträger ermitteln, die zum Ersetzen eines ausgefallenen bzw. fehlerhaften Geräts in einem bzw. mehreren Speicher-Pools verwendet werden können. Das Vorsehen eines Geräts als Hot-Spare bedeutet, dass das Gerät im Pool nicht aktiv ist, sondern nur dazu dient, ein ausgefallenes Gerät im Pool automatisch zu ersetzen.

Datenspeichergeräte können mit den folgenden Methoden als Hot-Spares vorgesehen werden:

Das folgende Beispiel zeigt, wie Geräte bei der Erstellung des Pools als Hot-Spares zugewiesen werden:

# zpool create trinity mirror c1t1d0 c2t1d0 spare c1t2d0 c2t2d0
# zpool status trinity
  pool: trinity
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        trinity     ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0
            c2t1d0  ONLINE       0     0     0
        spares
          c1t2d0    AVAIL   
          c2t2d0    AVAIL   

errors: No known data errors

Das folgende Beispiel zeigt, wie Hot-Spares zugewiesen werden, indem sie zu einem Pool hinzugefügt werden, nachdem dieser erstellt wurde:

# zpool add neo spare c5t3d0 c6t3d0
# zpool status neo
  pool: neo
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        neo         ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c3t3d0  ONLINE       0     0     0
            c4t3d0  ONLINE       0     0     0
        spares
          c5t3d0    AVAIL   
          c6t3d0    AVAIL   

errors: No known data errors

Hot-Spares können mit dem Befehl zpool remove aus einem Speicher-Pool entfernt werden. Beispiel:

# zpool remove zeepool c2t3d0
# zpool status zeepool
  pool: zeepool
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        zeepool     ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0
            c2t1d0  ONLINE       0     0     0
        spares
          c1t3d0    AVAIL   

errors: No known data errors

Ein Hot-Spare kann nur entfernt werden, wenn es gerade nicht vom Speicher-Pool verwendet wird.

Beachten Sie beim Arbeiten mit ZFS-Hot-Spares Folgendes:

Aktivieren und Deaktivieren von Hot-Spares im Speicher-Pool

Hot-Spares können mit einer der folgenden Methoden aktiviert werden:

Mit dem Befehl zpool replace können Sie ein Datenspeichergerät manuell durch ein Hot-Spare ersetzen. Siehe Beispiel 4-8.

Ein fehlerhaftes Datenspeichergerät wird automatisch ausgetauscht, wenn ein Hot-Spare verfügbar ist. Beispiel:

# zpool status -x
  pool: zeepool
 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: resilver completed after 0h0m with 0 errors on Mon Jan 11 10:20:35 2010
config:

        NAME          STATE     READ WRITE CKSUM
        zeepool       DEGRADED     0     0     0
          mirror-0    DEGRADED     0     0     0
            c1t2d0    ONLINE       0     0     0
            spare-1   DEGRADED     0     0     0
              c2t1d0  UNAVAIL      0     0     0  cannot open
              c2t3d0  ONLINE       0     0     0  88.5K resilvered
        spares
          c2t3d0      INUSE     currently in use

errors: No known data errors

Derzeit können Sie ein Hot-Spare wie folgt deaktivieren:

Beispiel 4-8 Manuelles Ersetzen einer Festplatte durch ein Hot-Spare

In diesem Beispiel wird der Befehl zpool replace verwendet, um die Festplatte c2t1d0 durch das Hot-Spare c2t3d0 zu ersetzen.

# zpool replace zeepool c2t1d0 c2t3d0
# zpool status zeepool
  pool: zeepool
 state: ONLINE
 scrub: resilver completed after 0h0m with 0 errors on Wed Jan 20 10:00:50 2010
config:

        NAME          STATE     READ WRITE CKSUM
        zeepool       ONLINE       0     0     0
          mirror-0    ONLINE       0     0     0
            c1t2d0    ONLINE       0     0     0
            spare-1   ONLINE       0     0     0
              c2t1d0  ONLINE       0     0     0
              c2t3d0  ONLINE       0     0     0  90K resilvered
        spares
          c2t3d0      INUSE     currently in use

errors: No known data errors

Dann trennen Sie die Festplatte c2t1d0.

# zpool detach zeepool c2t1d0
# zpool status zeepool
  pool: zeepool
 state: ONLINE
 scrub: resilver completed after 0h0m with 0 errors on Wed Jan 20 10:00:50 2010
config:

        NAME        STATE     READ WRITE CKSUM
        zeepool     ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c1t2d0  ONLINE       0     0     0
            c2t3d0  ONLINE       0     0     0  90K resilvered

errors: No known data errors

Beispiel 4-9 Trennen eines Hot-Spares, nachdem eine ausgefallene Festplatte physisch ersetzt wurde

In diesem Beispiel wird die ausgefallene Festplatte (c2t1d0) physisch ersetzt, und ZFS wird benachrichtig. Dazu wird der Befehl zpool replace verwendet.

# zpool replace zeepool c2t1d0
# zpool status zeepool
  pool: zeepool
 state: ONLINE
 scrub: resilver completed after 0h0m with 0 errors on Wed Jan 20 10:08:44 2010
config:

        NAME          STATE     READ WRITE CKSUM
        zeepool       ONLINE       0     0     0
          mirror-0    ONLINE       0     0     0
            c1t2d0    ONLINE       0     0     0
            spare-1   ONLINE       0     0     0
              c2t3d0  ONLINE       0     0     0  90K resilvered
              c2t1d0  ONLINE       0     0     0
        spares
          c2t3d0      INUSE     currently in use

errors: No known data errors

Danach können Sie den Befehl zpool detach verwenden, um das Hot-Spare in den Ersatzgeräte-Pool zurückzuführen. Beispiel:

# zpool detach zeepool c2t3d0
# zpool status zeepool
  pool: zeepool
 state: ONLINE
 scrub: resilver completed with 0 errors on Wed Jan 20 10:08:44 2010
config:

        NAME               STATE     READ WRITE CKSUM
        zeepool            ONLINE       0     0     0
          mirror           ONLINE       0     0     0
            c1t2d0         ONLINE       0     0     0
            c2t1d0         ONLINE       0     0     0
        spares
          c2t3d0           AVAIL

errors: No known data errors

Beispiel 4-10 Trennen einer ausgefallenen Festplatte und Verwenden des Hot-Spares

Wenn Sie eine ausgefallene Festplatte durch temporäres oder dauerhaftes Einlagern des Hot-Spares, das die ausgefallene Festplatte gerade ersetzt, ersetzen möchten, trennen Sie die ursprüngliche (ausgefallene) Festplatte. Wenn die ausgefallene Festplatte schließlich ersetzt ist, können Sie sie wieder in den Speicher-Pool zurückführen, wo sie als Ersatzfestplatte verfügbar ist. Beispiel:

# zpool status zeepool
  pool: zeepool
 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: resilver in progress for 0h0m, 70.47% done, 0h0m to go
config:

        NAME          STATE     READ WRITE CKSUM
        zeepool       DEGRADED     0     0     0
          mirror-0    DEGRADED     0     0     0
            c1t2d0    ONLINE       0     0     0
            spare-1   DEGRADED     0     0     0
              c2t1d0  UNAVAIL      0     0     0  cannot open
              c2t3d0  ONLINE       0     0     0  70.5M resilvered
        spares
          c2t3d0      INUSE     currently in use

errors: No known data errors
# zpool detach zeepool c2t1d0
# zpool status zeepool
  pool: zeepool
 state: ONLINE
 scrub: resilver completed after 0h0m with 0 errors on Wed Jan 20 13:46:46 2010
config:

        NAME        STATE     READ WRITE CKSUM
        zeepool     ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c1t2d0  ONLINE       0     0     0
            c2t3d0  ONLINE       0     0     0  70.5M resilvered

errors: No known data errors
(Original failed disk c2t1d0 is physically replaced)
# zpool add zeepool spare c2t1d0
# zpool status zeepool
  pool: zeepool
 state: ONLINE
 scrub: resilver completed after 0h0m with 0 errors on Wed Jan 20 13:48:46 2010
config:

        NAME        STATE     READ WRITE CKSUM
        zeepool     ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c1t2d0  ONLINE       0     0     0
            c2t3d0  ONLINE       0     0     0  70.5M resilvered
        spares
          c2t1d0    AVAIL   

errors: No known data errors