Oracle Solaris ZFS-Administrationshandbuch

Kapitel 2 Erste Schritte mit Oracle Solaris ZFS

Dieses Kapitel enthält schrittweise Anleitungen zum Einrichten einer einfache Oracle Solaris ZFS-Konfiguration. Wenn Sie dieses Kapitel vollständig durchgearbeitet haben, sollte Ihnen das Funktionsprinzip von ZFS-Befehlen klar sein, und Sie sollten einfache Pools und Dateisysteme erstellen können. Dieses Kapitel ist nicht als allumfassende Informationsquelle gedacht und enthält Verweise auf die nächsten Kapitel, die ausführlichere Informationen enthalten.

Dieses Kapitel enthält die folgenden Abschnitte:

Hardware- und Softwarevoraussetzungen und -Empfehlungen für ZFS

Überprüfen Sie vor dem Arbeiten mit der ZFS-Software die folgenden Anforderungen an und Empfehlungen für Hardware und Software:

Erstellen eines einfachen ZFS-Dateisystems

Die ZFS-Administration wurde unter Berücksichtigung größtmöglicher Einfachheit entwickelt. Eines der konzeptionellen Ziele besteht in der Verringerung der Anzahl der Befehle, die zum Erstellen eines funktionierenden Dateisystems erforderlich sind. Beispielsweise wird beim Erstellen eines neuen Pools automatisch ein neues ZFS-Dateisystem erstellt und eingehängt.

Das folgende Beispiel zeigt, wie mit einem einzigen Befehl ein einfacher gespiegelter Speicher-Pool namens tank und ein ZFS-Dateisystem mit dem Namen tank erstellt werden können. Es wird angenommen, dass die Datenträger /dev/dsk/c1t0d0 und /dev/dsk/c2t0d0 vollständig verfügbar sind.


# zpool create tank mirror c1t0d0 c2t0d0

Weitere Informationen zu ZFS-Pool-Konfigurationen finden Sie unter Replikationsfunktionen eines ZFS-Speicher-Pools.

Das neue ZFS-Dateisystem tank kann so viel Festplattenkapazität wie erforderlich belegen und wird automatisch unter /tank eingehängt.


# mkfile 100m /tank/foo
# df -h /tank
Filesystem             size   used  avail capacity  Mounted on
tank                   80G   100M    80G     1%    /tank

Innerhalb eines Pools werden Sie wahrscheinlich weitere Dateisysteme erstellen. Dateisysteme bieten Administrationsschnittstellen, mit deren Hilfe verschiedene Datengruppen innerhalb des gleichen Pools verwaltet werden können.

Das folgende Beispiel zeigt, wie ein Dateisystem namens fs im Speicher-Pool tank erstellt wird.


# zfs create tank/fs

Das neue ZFS-Dateisystem tank/fs kann so viel Festplattenkapazität wie erforderlich belegen und wird automatisch unter /tank/fs eingehängt.


# mkfile 100m /tank/fs/foo
# df -h /tank/fs
Filesystem             size   used  avail capacity  Mounted on
tank/fs                 80G   100M    80G     1%    /tank/fs

Sie werden wahrscheinlich eine Dateisystemhierarchie erstellen, die auf die Organisationsstruktur Ihrer Einrichtung abgestimmt ist. Weitere Informationen zum Erstellen einer Hierarchie von ZFS-Dateisystemen finden Sie unter Erstellen einer ZFS-Dateisystemhierarchie.

Erstellen eines ZFS-Speicher-Pools

Das vorherige Beispiel verdeutlicht die Einfachheit von ZFS. Im Folgenden wird ein umfassenderes Beispiel vorgestellt, das einer praktischen Anwendung schon relativ nahe kommt. Zuerst müssen Sie Speicheranforderungen definieren und einen Speicher-Pool erstellen. Der Pool beschreibt die physischen Eigenschaften des Speicherbedarfs und muss vor dem Erstellen von Dateisystemen angelegt werden.

ProcedureSo definieren Sie Speicheranforderungen für einen ZFS-Speicher-Pool

  1. Legen Sie verfügbare Datenspeichergeräte für den Speicher-Pool fest.

    Vor dem Erstellen eines Speicher-Pools müssen Sie festlegen, auf welchen Datenspeichergeräten Daten gespeichert werden sollen. Solche Datenspeichergeräte müssen eine Kapazität von mindestens 128 MB besitzen und dürfen nicht von anderen Bereichen des Betriebssystems verwendet werden. Die Datenspeichergeräte können einzelne Bereiche eines vorformatierten Datenträgers oder gesamte Datenträger sein, die ZFS als einzelnen größeren Bereich formatiert.

    Im Speicherbeispiel unter So erstellen Sie einen ZFS-Speicher-Pool wird angenommen, dass die gesamten Datenträger /dev/dsk/c1t0d0 und /dev/dsk/c2t0d0 verfügbar sind.

    Weitere Informationen zu Datenträgern und ihrer Verwendung und Bezeichnung finden Sie unter Verwenden von Datenträgern in einem ZFS-Speicher-Pool.

  2. Wählen Sie die Art der Datenreplikation.

    ZFS unterstützt mehrere Datenreplikationsverfahren. Diese bestimmen, gegen welche Hardware-Ausfälle ein Pool gewappnet ist. ZFS unterstützt nicht redundante Konfigurationen (Stripes) sowie Datenspiegelung und RAID-Z (eine RAID-5-Variante).

    Im Speicherbeispiel unter So erstellen Sie einen ZFS-Speicher-Pool wird eine einfache Datenspiegelung zweier verfügbarer Festplatten verwendet.

    Weitere Informationen zur ZFS-Datenreplikation finden Sie unter Replikationsfunktionen eines ZFS-Speicher-Pools.

ProcedureSo erstellen Sie einen ZFS-Speicher-Pool

  1. Melden Sie sich als Root oder in einer gleichberechtigten Rolle (mithilfe des entsprechenden Zugriffsrechtssprofils von ZFS) an.

    Weitere Informationen zu ZFS-Zugriffsrechtsprofilen finden Sie unter ZFS-Zugriffsrechtsprofile.

  2. Legen Sie einen Namen für den Speicher-Pool fest.

    Dieser Name dient zur Identifizierung des Speicher-Pools bei Verwendung der Befehle zpool und zfs. Da bei den meisten Systemen nur ein einziger Pool erstellt werden muss, können Sie einen beliebigen Namen auswählen. Beachten Sie dabei jedoch die unter Konventionen für das Benennen von ZFS-Komponenten aufgeführten Einschränkungen.

  3. Erstellen Sie den Pool.

    Sie können beispielsweise mit dem folgenden Befehl einen Pool namens tank mit Datenspiegelung erstellen:


    # zpool create tank mirror c1t0d0 c2t0d0
    

    Wenn Datenspeichergeräte andere Dateisysteme enthalten oder anderweitig belegt sind, kann der Befehl den Pool nicht erstellen.

    Weitere Informationen zum Erstellen von Speicher-Pools finden Sie unter Erstellen eines ZFS-Speicher-Pools. Weitere Informationen darüber, wie Sie herausfinden können, ob Datenspeichergeräte belegt sind oder nicht, finden Sie unter Erkennen belegter Geräte.

  4. Überprüfen Sie die Ergebnisse.

    Mit dem Befehl zpool list können Sie überprüfen, ob der Pool erfolgreich erstellt wurde.


    # zpool list
    NAME                    SIZE    ALLOC   FREE    CAP  HEALTH     ALTROOT
    tank                     80G    137K     80G     0%  ONLINE     -

    Weitere Informationen zum Anzeigen des Pool-Status finden Sie unter Abfragen des Status von ZFS-Speicher-Pools.

Erstellen einer ZFS-Dateisystemhierarchie

Nach dem Erstellen eines Speicher-Pools zum Speichern von Daten können Sie mit dem Anlegen der Dateisystemhierarchie beginnen. Mit Hierarchien können Informationen auf einfache und gleichzeitig leistungsfähige Weise organisiert werden. Jedem, der bereits mit einem Dateisystem gearbeitet hat, sind diese vertraut.

In ZFS können Dateisysteme in Hierarchien organisiert werden, wobei jedes Dateisystem nur ein übergeordnetes System besitzt. Der Pool-Name ist stets der Name der obersten Hierarchieebene. ZFS erweitert diese Hierarchie durch Eigenschaftsvererbung, sodass gemeinsame Eigenschaften schnell und einfach an gesamten Dateisystemhierarchien gesetzt werden können.

ProcedureSo legen Sie eine ZFS-Dateisystemhierarchie fest

  1. Wählen Sie die Dateisystemgranularität aus.

    ZFS-Dateisysteme spielen für die Administration eine zentrale Rolle. Sie sind kompakt und können schnell erstellt werden. Eine gute Faustregel ist die Erstellung eines Dateisystems pro Benutzer bzw. Projekt, da ein solches Modell die benutzer- bzw. projektweise Kontrolle von Eigenschaften, Snapshots und Sicherungskopien ermöglicht.

    Im Beispiel unter So erstellen Sie ZFS-Dateisysteme werden zwei ZFS-Dateisysteme (bonwick und billm) erstellt.

    Weitere Informationen zur Verwaltung von Dateisystemen finden Sie in Kapitel 6Verwalten von Oracle Solaris ZFS-Dateisystemen.

  2. Fassen Sie ähnliche Dateisysteme zu Gruppen zusammen.

    In ZFS können Dateisysteme in Hierarchien organisiert werden, was die Gruppierung ähnlicher Dateisysteme ermöglicht. Dieses Modell bietet eine zentrale Administrationsschnittstelle zur Kontrolle von Eigenschaften und Verwaltung von Dateisystemen. Ähnliche Dateisysteme sollten unter einem gemeinsamen Namen erstellt werden.

    Im Beispiel unter So erstellen Sie ZFS-Dateisysteme befinden sich die beiden Dateisysteme in einem Dateisystem namens home.

  3. Wählen Sie die Dateisystemeigenschaften.

    Die meisten Charakteristika von Dateisystemen werden mit Eigenschaften festgelegt. Diese Eigenschaften steuern verschiedene Verhaltensaspekte, so z. B. wo Dateisysteme eingehängt werden, ob und wie sie über das Netzwerk zugänglich sind, ob sie Datenkomprimierung verwenden und ob Kontingente gelten.

    Im Beispiel unter So erstellen Sie ZFS-Dateisysteme sind alle home-Verzeichnisse unter /export/zfs/ user eingehängt, mithilfe von NFS über das Netzwerk zugänglich und nutzen Datenkomprimierung. Außerdem wird für den Benutzer bonwick ein Kontingent von 10 GB erzwungen.

    Weitere Informationen zu Eigenschaften finden Sie unter ZFS-Eigenschaften.

ProcedureSo erstellen Sie ZFS-Dateisysteme

  1. Melden Sie sich als Root oder in einer gleichberechtigten Rolle (mithilfe des entsprechenden Zugriffsrechtssprofils von ZFS) an.

    Weitere Informationen zu ZFS-Zugriffsrechtsprofilen finden Sie unter ZFS-Zugriffsrechtsprofile.

  2. Erstellen Sie die gewünschte Hierarchie.

    In diesem Beispiel wird ein Dateisystem erstellt, das als Container für untergeordnete Dateisysteme dienen soll.


    # zfs create tank/home
    
  3. Legen Sie die vererbten Eigenschaften fest.

    Nach dem Erstellen der Dateisystemhierarchie sollten Eigenschaften festgelegt werden, die für alle Benutzer gleich sind:


    # zfs set mountpoint=/export/zfs tank/home
    # zfs set sharenfs=on tank/home
    # zfs set compression=on tank/home
    # zfs get compression tank/home
    NAME             PROPERTY       VALUE                      SOURCE
    tank/home        compression    on                         local

    Sie können Dateisystemeigenschaften beim Erstellen des Dateisystems festlegen. Beispiel:


    # zfs create -o mountpoint=/export/zfs -o sharenfs=on -o compression=on tank/home
    

    Weitere Informationen zu Eigenschaften und deren Vererbung finden Sie unter ZFS-Eigenschaften.

    Als Nächstes werden einzelne Dateisysteme im Dateisystem home des Pools tank gruppiert.

  4. Erstellen Sie die einzelnen untergeordneten Dateisysteme.

    Wären die Dateisysteme bereits erstellt, könnten die Eigenschaften anschließend auf der home-Ebene geändert werden. Alle Eigenschaften können dynamisch geändert werden, wenn Dateisysteme in Betrieb sind.


    # zfs create tank/home/bonwick
    # zfs create tank/home/billm
    

    Diese Dateisysteme erben ihre Eigenschaftswerte von ihrem übergeordneten Dateisystem. Deswegen werden sie automatisch unter /export/zfs/user eingehängt und sind mit NFS über das Netzwerk zugänglich. Sie brauchen die Datei /etc/vfstab bzw. /etc/dfs/dfstab nicht zu bearbeiten.

    Weitere Informationen zum Erstellen von Dateisystemen finden Sie unter Erstellen eines ZFS-Dateisystems.

    Weitere Informationen zum Einhängen von Dateisystemen und Freigeben von Dateisystemen für den Netzwerkzugang finden Sie in Einhängen und Freigeben von ZFS-Dateisystemen.

  5. Legen Sie die dateisystemspezifischen Eigenschaften fest.

    In diesem Beispiel ist dem Benutzer bonwick ein Kontingent von 10 GB zugewiesen. Diese Eigenschaft beschränkt unabhängig davon, wieviel Speicherplatz im Pool verfügbar ist, den durch diesen Benutzer zu belegenden Speicherplatz.


    # zfs set quota=10G tank/home/bonwick
    
  6. Überprüfen Sie die Ergebnisse.

    Mit dem Befehl zfs list können verfügbare Dateisysteminformationen angezeigt werden:


    # zfs list
    NAME                   USED  AVAIL  REFER  MOUNTPOINT
    tank                  92.0K  67.0G   9.5K  /tank
    tank/home             24.0K  67.0G     8K  /export/zfs
    tank/home/billm          8K  67.0G     8K  /export/zfs/billm
    tank/home/bonwick        8K  10.0G     8K  /export/zfs/bonwick

    Beachten Sie, dass der Benutzer bonwick maximal 10 GB Speicherplatz belegen darf, der Benutzer billm dagegen die gesamte Pool-Kapazität (67 GB) nutzen kann.

    Weitere Informationen zum Anzeigen des Dateisystemstatus finden Sie unter Abfragen von ZFS-Dateisysteminformationen.

    Weitere Informationen zur Belegung und Berechnung von Festplattenkapazität finden Sie unter Berechnung von ZFS-Festplattenkapazität.