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
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
ZFS bietet in Konfigurationen mit Datenspiegelung und RAID-Z Datenredundanz und Selbstheilungsfunktionen.
Für Speicher-Pools mit Datenspiegelung sind mindestens zwei Datenträger erforderlich, auf die optimalerweise von zwei verschiedenen Controllern zugegriffen werden sollte. Für eine Datenspiegelung können viele Datenträger verwendet werden. Darüber hinaus können Sie in einem Pool mehrere Datenspiegelungen erstellen. Eine einfache Datenspiegelungskonfiguration würde im Prinzip ungefähr wie folgt aussehen:
mirror c1t0d0 c2t0d0
Eine komplexere Datenspiegelungskonfiguration würde im Prinzip ungefähr wie folgt aussehen:
mirror c1t0d0 c2t0d0 c3t0d0 mirror c4t0d0 c5t0d0 c6t0d0
Informationen zum Erstellen von Speicher-Pools mit Datenspiegelung finden Sie unter Erstellen eines Speicher-Pools mit Datenspiegelung.
Neben Speicher-Pools mit Datenspiegelung bietet ZFS RAID-Z-Konfiguration, die Fehlertoleranzen mit ein-, zwei- oder dreifacher Parität aufweisen. RAID-Z mit einfacher Parität (raidz oder raidz1) ist mit RAID-5 vergleichbar. RAID-Z mit doppelter Parität (raidz2) ähnelt RAID-6.
Weitere Informationen über RAIDZ-3 (raidz3) finden Sie im folgenden Blog:
http://blogs.oracle.com/ahl/entry/triple_parity_raid_z
Alle herkömmlichen Algorithmen, die RAID-5 ähnlich sind (z. B. RAID-4, RAID-5, RAID-6, RDP und EVEN-ODD), können von einem Problem betroffen sein, das als so genanntes "RAID-5 Write Hole" bekannt ist. Wenn nur ein Teil eines RAID-5-Bereichs geschrieben wird und ein Stromausfall auftritt, bevor alle Datenblöcke auf den Datenträger geschrieben wurden, kann die Parität der Daten nicht hergestellt werden, wodurch diese Daten nutzlos sind (es sei denn, sie werden von einem nachfolgenden vollständigen Bereich überschrieben). Bei RAID-Z verwendet ZFS RAID-Stripes veränderlicher Länge, sodass alle Schreibvorgänge vollständige Stripes speichern. Dieses Design ist nur möglich, weil ZFS die Verwaltung von Dateisystemen und Datenspeichergeräten so integriert, dass die Metadaten eines Dateisystems genügend Informationen zum zugrunde liegenden Datenredundanzmodell besitzen und sie somit RAID-Stripes veränderlicher Länge verarbeiten können. RAID-Z ist die weltweit erste nur auf Software basierte Lösung, die das RAID-5 Write Hole eliminiert.
Eine RAID-Z-Konfiguration mit N Datenträgern der Kapazität X mit P Paritätsdatenträgern kann ca. (N-P)*X Byte speichern und ist gegen einen Ausfall von P Geräten ohne Gefährdung der Datenintegrität geschützt. Für eine RAID-Z-Konfiguration mit einfacher Parität sind mindestens zwei, für eine RAID-Z-Konfiguration mit doppelter Parität mindestens drei Datenträger erforderlich. Wenn sich beispielsweise in einer RAID-Z-Konfiguration mit einfacher Parität drei Festplatten befinden, belegen Paritätsdaten eine Festplattenkapazität, die der Kapazität einer der drei Festplatten entspricht. Zum Erstellen einer RAID-Z-Konfiguration ist darüber hinaus keine spezielle Hardware erforderlich.
Eine RAID-Z-Konfiguration mit drei Datenträgern würde im Prinzip ungefähr wie folgt aussehen:
raidz c1t0d0 c2t0d0 c3t0d0
Eine komplexere RID-Z-Konfiguration würde im Prinzip ungefähr wie folgt aussehen:
raidz c1t0d0 c2t0d0 c3t0d0 c4t0d0 c5t0d0 c6t0d0 c7t0d0 raidz c8t0d0 c9t0d0 c10t0d0 c11t0d0 c12t0d0 c13t0d0 c14t0d0
Wenn Sie RAID-Z-Konfiguration mit mehreren Datenträgern erstellen, sollten die Datenträger in mehrere Gruppen aufgeteilt werden. Beispielsweise sollten Sie eine RAID-Z-Konfiguration mit 14 Datenträgern besser in zwei Gruppen mit je 7 Datenträgern aufteilen. RAID-Z-Konfigurationen mit weniger als zehn Datenträgern erreichen eine optimalere Leistung.
Informationen zum Erstellen eines RAID-Z-Speicher-Pools finden Sie unter Erstellen eines RAID-Z-Speicher-Pools.
Weitere Informationen zur Auswahl zwischen einer Datenspiegelungs- oder RAID-Z-Konfiguration, die auf Leistungs- und Festplattenkapazitätskriterien basiert, finden Sie im folgenden Blog:
http://blogs.oracle.com/roch/entry/when_to_and_not_to
Zusätzliche Informationen zu Empfehlungen für RAID-Z-Speicher-Pools finden Sie auf der Best Practices-Website für ZFS unter:
http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide
Der ZFS-Hybrid-Speicher-Pool, der zur Sun Storage 7000-Produktreihe von Oracle gehört, ist ein spezieller Speicher-Pool, der DRAM, SSDs und HDDs zur Erhöhung von Leistung und Kapazität bei gleichzeitiger Verringerung des Energieverbrauchs kombiniert. Sie können die ZFS-Redundanzkonfiguration des Speicher-Pools auswählen und einfach andere Konfigurationsoptionen mit dieser Verwaltungsschnittstelle des Produkts verwalten.
Weitere Informationen zu diesem Produkt finden Sie im Sun Storage Unified Storage System Administration Guide .
ZFS bietet in Konfigurationen mit Datenspiegelung und RAID-Z Selbstheilungsfunktionen.
Bei Erkennung beschädigter Datenblöcke ruft ZFS nicht nur die unbeschädigten Daten von einer redundanten Kopie ab, sondern repariert die beschädigten Daten auch, indem es diese mit der unbeschädigten Kopie ersetzt.
ZFS verteilt Daten dynamisch mithilfe des Striping-Verfahrens über alle in der obersten Hierarchieebene befindlichen virtuellen Geräte. Die Entscheidung, wo Daten gespeichert werden, wird zur Zeit des Speichervorgangs getroffen.
Wenn neue virtuelle Geräte zu einem Pool hinzugefügt werden, weist ZFS dem neuen Gerät schrittweise Daten zu, wodurch Leistungsrichtlinien und Richtlinien für die Zuweisung von Festplattenkapazität eingehalten werden. Jedes virtuelle Gerät kann auch für die Datenspiegelung oder als RAID-Z-Gerät, das andere Datenträgergeräte bzw. Dateien enthält, eingesetzt werden. Mit dieser Konfiguration wird die Kontrolle der Fehlercharaketristika eines Pools flexibler. So können Sie beispielsweise aus vier Datenträgern die folgenden Konfigurationen bilden:
vier Datenträger mit dynamischem Striping
eine vierfache RAID-Z-Konfiguration
zwei zweifache Geräte für die Datenspiegelung, die dynamisches Striping verwenden
Obwohl ZFS die Kombination verschiedener Arten virtueller Geräte im gleichen Pool unterstützt, wird dies nicht empfohlen. Sie können beispielsweise einen Pool mit einer zweifachen Datenspiegelungs- und einer dreifachen RAID-Z-Konfiguration erstellen. Die Fehlertoleranz des Gesamtsystems ist jedoch nur so gut wie die die Geräts mit der schlechtesten Fehlertoleranz, in diesem Fall RAID-Z. Eine bewährte Verfahrensweise ist, virtuelle Geräte der obersten Hierarchieebene zu verwenden, die das gleiche Redundanzniveau besitzen.