Oracle Solaris ZFS-Administrationshandbuch

Erstellen eines ZFS-Speicher-Pools

Speicher-Pools können mit dem Befehl zpool create erstellt werden. Dieser Befehl akzeptiert einen Pool-Namen und eine beliebige Anzahl virtueller Geräte als Argumente. Der Pool-Name muss den unter Konventionen für das Benennen von ZFS-Komponenten aufgeführten Namenskonventionen genügen.

Erstellen eines einfachen Speicher-Pools

Mit dem folgenden Befehl wird ein Pool namens tank erstellt, das aus den beiden Datenträgern c1t0d0 und c1t1d0 besteht:


# zpool create tank c1t0d0 c1t1d0

Gerätenamen, die ganze Datenträger repräsentieren, befinden sich im Verzeichnis /dev/dsk und werden von ZFS als einzelner, großer Bereich gekennzeichnet. Daten werden mithilfe von Striping dynamisch über beide Datenträger verteilt.

Erstellen eines Speicher-Pools mit Datenspiegelung

Verwenden Sie zum Erstellen eines Pools mit Datenspiegelung das Schlüsselwort mirror, gefolgt von einer bestimmten Anzahl von Datenspeichergeräten, aus denen das Datenspiegelungssystem bestehen soll Mehrere Datenspiegelungssysteme können durch Wiederholen des Schlüsselworts mirror in der Befehlszeile erstellt werden. Mit dem folgenden Befehl wird ein Pool mit zwei zweifachen Datenspiegelungen erstellt:


# zpool create tank mirror c1d0 c2d0 mirror c3d0 c4d0

Das zweite Schlüsselwort mirror spezifiziert ein neues virtuelles Gerät der obersten Hierarchieebene. Daten werden mithilfe von Striping dynamisch über beide Datenträger verteilt, wobei zwischen jedem Datenträger eine jeweilige Datenredundanz auftritt.

Weitere Informationen zu empfohlenen Konfigurationen mit Datenspiegelung finden Sie unter:

http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide

Gegenwärtig werden für ZFS-Datenspiegelungskonfigurationen folgende Vorgänge unterstützt:

Ein Speichergerät, das kein Protokollier- oder Cache-Gerät ist, kann nicht direkt aus einem Speicher-Pool mit Datenspiegelung entfernt werden. Dafür wurde ein RFE eingereicht.

Erstellen eines ZFS-Root-Pools

Sie können von einem ZFS-Root-Dateisystem installieren und booten. Beachten Sie die folgenden Root-Pool-Konfigurationsinformationen:

Weitere Informationen zum Installieren und Booten eines ZFS-Dateisystems finden Sie in Kapitel 5Installieren und Booten eines Oracle Solaris ZFS-Root-Dateisystems.

Erstellen eines RAID-Z-Speicher-Pools

Das Erstellen eines RAID-Z-Pools mit einfacher Parität läuft ähnlich ab wie das Erstellen eines Pools mit Datenspiegelung. Der einzige Unterschied besteht darin, dass anstatt des Schlüsselworts mirror das Schlüsselwort raidz bzw. raidz1 verwendet wird. Das folgende Beispiel zeigt die Erstellung eines Pools mit einem RAID-Z-Gerät, das aus fünf Datenträgern besteht:


# zpool create tank raidz c1t0d0 c2t0d0 c3t0d0 c4t0d0 /dev/dsk/c5t0d0

Dieses Beispiel zeigt, dass Datenträger angegeben werden können, indem ihre abgekürzten oder ihre vollständigen Gerätenamen verwendet werden. Sowohl /dev/dsk/c5t0d0 als auch c5t0d0 beziehen sich auf denselben Datenträger.

Eine RAID-Z-Konfiguration mit zwei- oder dreifacher Parität kann beim Erstellen eines Pools mithilfe des Schlüsselworts raidz2 oder raidsz3 angelegt werden. Beispiel :


# zpool create tank raidz2 c1t0d0 c2t0d0 c3t0d0 c4t0d0 c5t0d0
# zpool status -v tank
  pool: tank
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          raidz2-0  ONLINE       0     0     0
            c1t0d0  ONLINE       0     0     0
            c2t0d0  ONLINE       0     0     0
            c3t0d0  ONLINE       0     0     0
            c4t0d0  ONLINE       0     0     0
            c5t0d0  ONLINE       0     0     0

errors: No known data errors

# zpool create tank raidz3 c0t0d0 c1t0d0 c2t0d0 c3t0d0 c4t0d0 c5t0d0 c6t0d0 c7t0d0
# zpool status -v tank
  pool: tank
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          raidz3-0  ONLINE       0     0     0
            c0t0d0  ONLINE       0     0     0
            c1t0d0  ONLINE       0     0     0
            c2t0d0  ONLINE       0     0     0
            c3t0d0  ONLINE       0     0     0
            c4t0d0  ONLINE       0     0     0
            c5t0d0  ONLINE       0     0     0
            c6t0d0  ONLINE       0     0     0
            c7t0d0  ONLINE       0     0     0

errors: No known data errors

Folgende Vorgänge werden in einer ZFS-RAID-Z-Konfiguration gegenwärtig unterstützt:

Folgende Vorgänge werden in einer RAID-Z-Konfiguration gegenwärtig nicht unterstützt:

Weitere Informationen zu RAID-Z-Konfigurationen finden Sie unter Speicher-Pools mit RAID-Z-Konfiguration.

Erstellen eines ZFS-Speicher-Pools mit Protokolliergeräten

Standardmäßig wird das ZIL aus Blöcken innerhalb des Haupt-Pools zugewiesen. Durch Verwendung getrennter Intent-Protokolliergeräte wie z. B. NVRAM oder eine speziell dafür vorgesehene Festplatte kann jedoch eine höhere Leistung erreicht werden. Weitere Informationen zu ZFS-Protokolliergeräten finden Sie unter Einrichten separater ZFS-Protokolliergeräte.

Sie können ZFS-Protokolliergeräte während oder nach der Erstellung eines Speicher-Pools einrichten.

Das folgende Beispiel zeigt, wie ein Speicher-Pool mit Datenspiegelung und gespiegelten Protokolliergeräten erstellt wird:


# zpool create datap mirror c1t1d0 c1t2d0 mirror c1t3d0 c1t4d0 log mirror c1t5d0 c1t8d0
# zpool status datap
  pool: datap
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        datap       ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0
            c1t2d0  ONLINE       0     0     0
          mirror-1  ONLINE       0     0     0
            c1t3d0  ONLINE       0     0     0
            c1t4d0  ONLINE       0     0     0
        logs
          mirror-2  ONLINE       0     0     0
            c1t5d0  ONLINE       0     0     0
            c1t8d0  ONLINE       0     0     0

errors: No known data errors

Informationen zum Wiederherstellen des Normalbetriebs nach dem Fehlschlag eines Protokolliergeräts finden Sie unter Beispiel 11–2.

Erstellen eines ZFS-Speicher-Pools mit Cache-Geräten

Sie können mit Cache-Geräten einen Pool erstellen, um Speicher-Pool-Daten im Cache zu speichern. Beispiel:


# zpool create tank mirror c2t0d0 c2t1d0 c2t3d0 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

Beachten Sie Folgendes, wenn Sie die Erstellung eines ZFS-Speicher-Pools mit Cache-Geräten in Betracht ziehen: