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
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 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
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
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
Die folgenden Abschnitte enthalten ausführliche Informationen zu den folgenden Komponenten eines Speicher-Pools:
Das grundlegendste Element eines Speicher-Pools ist physischer Speicher. Bei physischem Speicher kann es sich um eine Blockeinheit mit mindestens 128 MB Speicherkapazität handeln. Normalerweise handelt es sich dabei um Festplatten, die vom System im Verzeichnis /dev/dsk erkannt werden.
Ein Datenspeichergerät kann eine gesamte Festplatte (z. B. c1t0d0) oder ein einzelner Plattenbereich (z. B. c0t0d0s7) sein. Es wird empfohlen, eine gesamte Festplatte zu verwenden, da die Festplatte in diesem Fall nicht formatiert werden muss. ZFS formatiert solche Datenträger mit einem EFI-Label als einzelnen, großen Bereich. In diesem Fall wird die vom Befehl format ausgegebene Partitionstabelle in etwa wie folgt angezeigt:
Current partition table (original): Total disk sectors available: 286722878 + 16384 (reserved sectors) Part Tag Flag First Sector Size Last Sector 0 usr wm 34 136.72GB 286722911 1 unassigned wm 0 0 0 2 unassigned wm 0 0 0 3 unassigned wm 0 0 0 4 unassigned wm 0 0 0 5 unassigned wm 0 0 0 6 unassigned wm 0 0 0 8 reserved wm 286722912 8.00MB 286739295
Um eine gesamte Festplatte verwenden zu können, muss diese der Benennungskonvention /dev/dsk/cXtXdX entsprechen. Einige Treiber von Drittanbietern nutzen andere Benennungskonventionen oder hängen Datenträger nicht im Verzeichnis /dev/dsk, sondern anderswo ein. Damit solche Datenträger verwendet werden können, müssen Sie diese manuell benennen und für ZFS einen Bereich verfügbar machen.
ZFS verwendet EFI-Label, wenn Sie Speicher-Pools mit gesamten Festplatten erstellen. Weitere Informationen zu EFI-Labels finden Sie unter EFI Disk Label in System Administration Guide: Devices and File Systems.
Eine für einen ZFS-Root-Pool gedachte Festplatte muss mit einem SMI-Label, nicht mit einem EFI-Label erstellt werden. Mit dem Befehl format - e können Sie eine Festplatte im Nachhinein mit einem SMI-Label versehen.
Datenträger können mit dem vollständigen Pfad (z. B. /dev/dsk/c1t0d0 oder in einer Kurzschreibweise, die aus dem Gerätenamen im Verzeichnis /dev/dsk besteht (z. B. c1t0d0), angegeben werden. Im Folgenden sind beispielsweise gültige Datenträgernamen aufgeführt:
c1t0d0
/dev/dsk/c1t0d0
/dev/foo/disk
Die Verwendung gesamter physischer Festplatten ist die einfachste Methode zum Erstellen von ZFS-Speicher-Pools. Was die Verwaltung, Zuverlässigkeit und Leistung angeht, so werden ZFS-Konfigurationen weitaus komplexer, wenn Sie Pools aus Datenträgerbereichen, LU-Nummern in Hardware-RAID-Arrays oder Volumes, die von Datenträgerverwaltungssoftware bereitgestellt werden, aufbauen. Bei der Entscheidung, ob Sie ZFS mit anderen hardware- bzw. softwarebasierten Speicherlösungen konfigurieren, sollten Sie die folgenden Aspekte berücksichtigen:
Wenn Sie eine ZFS-Konfiguration mit LU-Nummern aus Hardware-RAID-Arrays aufbauen, muss Ihnen die Beziehung zwischen den Redundanzfunktionen von ZFS und denen des Arrays klar sein. Bestimmte Konfigurationen bieten ausreichende Redundanz und Leistung, bei anderen braucht dies aber nicht der Fall zu sein.
Sie können logische Geräte für ZFS mithilfe von Volumes aufbauen, die von Software zur Datenträgerverwaltung wie z. B. Solaris Volume Manager (SVM) oder Veritas Volume Manager (VxVM) bereitgestellt werden. Solche Konfigurationen werden jedoch nicht empfohlen. Obwohl ZFS mit solchen Konfigurationen ordnungsgemäß funktioniert, ist die Leistung in diesen Fällen oftmals nicht optimal.
Zusätzliche Informationen zu Empfehlungen für Speicher-Pool-Konfigurationen finden Sie auf der Best Practices-Website für ZFS unter:
http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide
Datenträger werden nach Pfad und Geräte-ID (falls verfügbar) identifiziert. Bei Systemen, in denen Geräte-ID-Informationen zur Verfügung stehen, erlaubt diese Identifizierungsmethode, Geräte neu zu konfigurieren, ohne dass eine Aktualisierung von ZFS nötig ist. Die Geräte-ID-Generierung und -Verwaltung kann von System zu System unterschiedlich sein. Darum sollten Sie den Pool zunächst exportieren und erst dann Geräte verschieben (beispielsweise eine Festplatte von einem Controller zu einem anderen). Ein Systemereignis wie beispielsweise eine Firmware-Aktualisierung oder eine andere Hardware-Änderung kann die Geräte-IDs im ZFS-Speicher-Pool verändern. Dadurch kann bewirkt werden, dass die Geräte nicht mehr zur Verfügung stehen.
Datenträger können mit einem herkömmlichen Solaris VTOC (SMI)-Label benannt werden, wenn Sie Speicher-Pools mit Festplattenbereichen erstellen.
Damit ein ZFS-Root-Pool bootfähig ist, müssen die im Pool befindlichen Festplatten Bereiche enthalten und ein SMI-Label haben. Die einfachste Konfiguration würde darin bestehen, die gesamte Festplattenkapazität in Bereich 0 (Slice 0) zu legen und diesen Bereich für den Root-Pool zu verwenden.
In einem SPARC-System verfügt eine 72-GB-Festplatte über 68 GB nutzbaren Speicher im Bereich 0, wie in der folgenden Ausgabe von format zu sehen ist:
# format . . . Specify disk (enter its number): 4 selecting c1t1d0 partition> p Current partition table (original): Total disk cylinders available: 14087 + 2 (reserved cylinders) Part Tag Flag Cylinders Size Blocks 0 root wm 0 - 14086 68.35GB (14087/0/0) 143349312 1 unassigned wm 0 0 (0/0/0) 0 2 backup wm 0 - 14086 68.35GB (14087/0/0) 143349312 3 unassigned wm 0 0 (0/0/0) 0 4 unassigned wm 0 0 (0/0/0) 0 5 unassigned wm 0 0 (0/0/0) 0 6 unassigned wm 0 0 (0/0/0) 0 7 unassigned wm 0 0 (0/0/0) 0
In einem x86-System verfügt eine 72-GB-Festplatte über 68 GB nutzbaren Speicher im Bereich 0, wie in der folgenden Ausgabe von format zu sehen ist. Einige Boot-Infomationen sind in Bereich 8 enthalten. Bereich 8 erfordert keine Verwaltung und kann nicht verändert werden.
# format . . . selecting c1t0d0 partition> p Current partition table (original): Total disk cylinders available: 49779 + 2 (reserved cylinders) Part Tag Flag Cylinders Size Blocks 0 root wm 1 - 49778 68.36GB (49778/0/0) 143360640 1 unassigned wu 0 0 (0/0/0) 0 2 backup wm 0 - 49778 68.36GB (49779/0/0) 143363520 3 unassigned wu 0 0 (0/0/0) 0 4 unassigned wu 0 0 (0/0/0) 0 5 unassigned wu 0 0 (0/0/0) 0 6 unassigned wu 0 0 (0/0/0) 0 7 unassigned wu 0 0 (0/0/0) 0 8 boot wu 0 - 0 1.41MB (1/0/0) 2880 9 unassigned wu 0 0 (0/0/0) 0
Eine fdisk-Partition ist auch auf Solaris x86-Systemen vorhanden. Eine fdisk-Partition wird durch einen /dev/dsk/cN[tN]dNpN-Gerätenamen dargestellt und dient als Container für die verfügbaren Festplattenbereiche. Verwenden Sie kein cN[tN]dNpN-Gerät für eine Komponente eines ZFS-Speicher-Pools, da diese Konfiguration weder getestet wurde noch unterstützt wird.
In ZFS können Sie UFS-Dateien als virtuelle Geräte im Speicher-Pool verwenden. Dieses Merkmal dient vorrangig zum Testen und Aktivieren einfacher experimenteller Konfigurationen und ist nicht für den Praxiseinsatz unter Produktionsbedingungen gedacht. Dies ist darin begründet, dass jede Verwendung von Dateien auf der Konsistenz des zugrunde liegenden Dateisystems beruht. Wenn Sie einen ZFS-Pool mit Dateien aus einem UFS-Dateisystem erstellen, verlassen sie sich darauf, dass UFS ordnungsgemäße und synchrone Semantik gewährleistet.
Dateien können jedoch nützlich sein, wenn Sie ZFS zum ersten Mal testen oder mit komplexeren Konfigurationen experimentieren und nicht genügend physische Datenspeichergeräte zur Verfügung stehen. Alle Dateien müssen mit dem vollständigen Pfad angegeben werden und mindestens 64 MB groß sein.