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

5.  Installieren und Booten eines Oracle Solaris ZFS-Root-Dateisystems

6.  Verwalten von Oracle Solaris ZFS-Dateisystemen

Verwalten von ZFS-Dateisystemen (Übersicht)

Erstellen, Entfernen und Umbenennen von ZFS-Dateisystemen

Erstellen eines ZFS-Dateisystems

Löschen eines ZFS-Dateisystems

Umbenennen eines ZFS-Dateisystems

ZFS-Eigenschaften

Schreibgeschützte native ZFS-Eigenschaften

Die Eigenschaft used

Konfigurierbare native ZFS-Eigenschaften

Die Eigenschaft canmount

Die Eigenschaft recordsize

Die Eigenschaft volsize

Benutzerdefinierte ZFS-Eigenschaften

Abfragen von ZFS-Dateisysteminformationen

Auflisten grundlegender ZFS-Informationen

Erstellen komplexer ZFS-Abfragen

Verwalten von ZFS-Eigenschaften

Setzen von ZFS-Eigenschaften

Vererben von ZFS-Eigenschaften

Abfragen von ZFS-Eigenschaften

Abfragen von ZFS-Eigenschaften für Skripten

Einhängen und Freigeben von ZFS-Dateisystemen

Verwalten von ZFS-Einhängepunkten

Automatische Einhängepunkte

Legacy-Einhängepunkte

Einhängen von ZFS-Dateisystemen

Verwenden temporärer Einhängepunkte

Aushängen von ZFS-Dateisystemen

Freigeben und Sperren von ZFS-Dateisystemen

Einstellen der Freigabesemantik

Sperren von ZFS-Dateisystemen für den Netzwerkzugriff

Freigeben von ZFS-Dateisystemen für den Netzwerkzugriff

Freigabeverhalten bei Legacy-Dateisystemen

Einstellen von ZFS-Kontingenten und -Reservierungen

Setzen von Kontingenten für ZFS-Dateisysteme

Einrichten von Benutzer- und Gruppenkontingenten auf einem ZFS-Dateisystem

Setzen von Reservierungen für ZFS-Dateisysteme

Aktualisieren von 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

Einhängen und Freigeben von ZFS-Dateisystemen

In diesem Abschnitt wird beschrieben, wie ZFS Dateisysteme einhängt und freigibt.

Verwalten von ZFS-Einhängepunkten

Ein ZFS-Dateisystem wird automatisch eingehängt, wenn es erstellt wird. In diesem Abschnitt wird beschrieben, wie Sie das Verhalten eines Einhängepunkts für ein Dateisystem bestimmen können.

Sie können den Standard-Einhängepunkt für ein Pool-Dataset bei dessen Erstellung auch mithilfe der Option m von -zpool create setzen. Weitere Informationen zum Erstellen von Pools finden Sie unter Erstellen eines ZFS-Speicher-Pools.

Alle ZFS-Dateisysteme werden beim Systemstart von ZFS mithilfe des SMF-Dienstes (Service Management Facility) svc://system/filesystem/local eingehängt. Dateisysteme werden unter /path eingehängt, wobei path den Namen des Dateisystems bezeichnet.

Sie können den Standard-Einhängepunkt überschreiben, indem Sie den Befehl zfs set verwenden, um die Eigenschaft mountpoint auf einen spezifischen Pfad zu setzen. ZFS erstellt den angegebenen Einhängepunkt bei Bedarf automatisch und hängt das entsprechende Dateisystem automatisch ein.

ZFS-Dateisysteme werden beim Systemstart automatisch eingehängt, ohne dass Sie die Datei /etc/vfstab bearbeiten müssen.

Die Eigenschaft mountpoint wird vererbt. Wenn die Eigenschaft mountpoint von pool/home beispielsweise auf /export/stuff gesetzt ist, erbt pool/home/user für seinen Eigenschaftswert mountpoint den Wert /export/stuff/user.

Um zu verhindern, dass ein Dateisystem eingehängt wird, setzen Sie die Eigenschaft mountpoint auf none. Außerdem kann mit der Eigenschaft canmount bestimmt werden, ob ein Dateisystem eingehängt werden kann. Weitere Informationen zur Eigenschaft canmount finden Sie unter Die Eigenschaft canmount.

Dateisysteme können auch explizit mithilfe von Legacy-Einhängesystemen verwaltet werden, indem zfs set verwendet wird, um die Eigenschaft mountpoint auf legacy zu setzen. Dadurch wird verhindert, dass ZFS ein Dateisystem automatisch einhängt und verwaltet. Stattdessen müssen Sie Legacy-Dienstprogramme wie die Befehle mount und umount und die Datei /etc/vfstab verwenden. Weitere Informationen zu Legacy-Einhängepunkten finden Sie unter Legacy-Einhängepunkte.

Automatische Einhängepunkte

Datasets, deren Eigenschaft mountpoint nicht auf legacy gesetzt ist, werden von ZFS verwaltet. Im folgenden Beispiel wird ein Dataset erstellt, dessen Einhängepunkt automatisch von ZFS verwaltet wird:

# zfs create pool/filesystem
# zfs get mountpoint pool/filesystem
NAME             PROPERTY      VALUE                      SOURCE
pool/filesystem  mountpoint    /pool/filesystem           default
# zfs get mounted pool/filesystem
NAME             PROPERTY      VALUE                      SOURCE
pool/filesystem  mounted       yes                        -

Sie können die Eigenschaft mountpoint auch explizit setzen (siehe folgendes Beispiel):

# zfs set mountpoint=/mnt pool/filesystem
# zfs get mountpoint pool/filesystem
NAME             PROPERTY      VALUE                      SOURCE
pool/filesystem  mountpoint    /mnt                       local
# zfs get mounted pool/filesystem
NAME             PROPERTY      VALUE                      SOURCE
pool/filesystem  mounted       yes                        -

Beim Ändern der Eigenschaft mountpoint wird das betreffende Dateisystem automatisch aus dem alten Einhängepunkt ausgehängt und in den neuen Einhängepunkt eingehängt. Einhängepunktverzeichnisse werden je nach Bedarf erstellt. Wenn ZFS ein Dateisystem nicht aushängen kann, weil es noch aktiv ist, wird ein Fehler gemeldet, und das Aushängen muss manuell erzwungen werden.

Legacy-Einhängepunkte

Sie können ZFS-Dateisysteme mit Legacy-Dienstprogrammen verwalten, indem Sie die Eigenschaft mountpoint auf legacy setzen. Legacy-Dateisysteme müssen mithilfe der Befehle mount und umount sowie der Datei /etc/vfstab verwaltet werden. ZFS hängt Legacy-Dateisysteme beim Systemstart nicht automatisch ein, und die ZFS-Befehle mount und umount funktionieren mit Datasets dieses Typs nicht. Die folgenden Beispiele zeigen die Erstellung und Verwaltung eines ZFS-Datasets im Legacy-Modus:

# zfs set mountpoint=legacy tank/home/eric
# mount -F zfs tank/home/eschrock /mnt

Damit Legacy-Dateisysteme beim Systemstart automatisch eingehängt werden, müssen Sie zur Datei /etc/vfstab die entsprechenden Einträge hinzufügen. Das folgende Beispiel zeigt, wie der Eintrag in der Datei /etc/vfstab aussehen kann:

#device         device        mount           FS      fsck    mount   mount
#to mount       to fsck       point           type    pass    at boot options
#

tank/home/eric  -        /mnt           zfs        -        yes        -    

Die Einträge device to fsck und fsck pass werden auf - gesetzt, weil der Befehl fsck nicht auf ZFS-Dateisysteme anwendbar ist. Weitere Informationen zur ZFS-Datenintegrität finden Sie unter Transaktionale Semantik.

Einhängen von ZFS-Dateisystemen

ZFS hängt Dateisysteme beim Erstellen dieser Dateisysteme bzw. beim Systemstart automatisch ein. Der Befehl zfs mount muss nur verwendet werden, wenn Einhängeoptionen geändert oder Dateisysteme explizit ein- oder ausgehängt werden müssen.

Beim Aufrufen des Befehls zfs mount ohne Argumente werden alle von ZFS verwalteten und gegenwärtig eingehängten Dateisysteme angezeigt. Legacy-Einhängepunkte werden nicht angezeigt. Beispiel:

# zfs mount | grep tank/home
zfs mount | grep tank/home
tank/home                       /tank/home
tank/home/jeff                  /tank/home/jeff

Mit der Option -a können Sie alle von ZFS verwalteten Dateisysteme einhängen. Legacy-Dateisysteme werden nicht eingehängt. Beispiel:

# zfs mount -a

Standardmäßig erlaubt ZFS das Einhängen in ein nicht leeres Verzeichnis nicht. Beispiel:

# zfs mount tank/home/lori
cannot mount 'tank/home/lori': filesystem already mounted

Legacy-Einhängepunkte müssen mit Legacy-Dienstprogrammen verwaltet werden. Wenn Sie versuchen, dafür ZFS-Befehle zu verwenden, wird ein Fehler ausgegeben. Beispiel:

# zfs mount tank/home/bill
cannot mount 'tank/home/bill': legacy mountpoint
use mount(1M) to mount this filesystem
# mount -F zfs tank/home/billm

Beim Einhängen eines Dateisystems werden verschiedene Einhängeoptionen verwendet, die auf den zum Dataset gehörenden Eigenschaftswerten beruhen. Zwischen Eigenschaften und Einhängeoptionen besteht der folgende Zusammenhang:

Tabelle 6-4 Eigenschaften von ZFS-Einhängepunkten und Einhängeoptionen

Eigenschaft
Einhängeoption
atime
atime/noatime
devices
devices/nodevices
exec
exec/noexec
nbmand
nbmand/nonbmand
readonly
ro/rw
setuid
setuid/nosetuid
xattr
xattr/noaxttr

Die Einhängeoption nosuid ist ein Alias-Name für nodevices,nosetuid .

Verwenden temporärer Einhängepunkte

Wenn die im vorherigen Abschnitt beschriebenen Optionen explizit mithilfe der Option - o des Befehls zfs mount gesetzt werden, wird der zugehörige Eigenschaftswert temporär überschrieben. Diese Eigenschaftswerte werden vom Befehl zfs get mit dem Wert temporary gemeldet und beim Aushängen des betreffenden Dateisystems auf ihre ursprünglichen Werte zurückgesetzt. Beim Ändern eines Eigenschaftswerts während des Einhängens eines Datasets wird diese Änderung sofort übernommen und überschreibt eventuelle temporäre Einstellungen.

Im folgenden Beispiel wird am Dateisystem tank/home/perrin die Einhängeoption "schreibgeschützt” temporär gesetzt. Es wird angenommen, dass das Dateisystem ausgehängt ist.

# zfs mount -o ro users/home/neil

Zum temporären Ändern eines Eigenschaftswerts eines gegenwärtig eingehängten Dateisystems dient die spezielle Option remount. Im folgenden Beispiel wird die Eigenschaft atime für ein eingehängtes Dateisystem temporär auf off gesetzt.

# zfs mount -o remount,noatime users/home/neil
NAME             PROPERTY  VALUE  SOURCE
users/home/neil  atime     off    temporary
# zfs get atime users/home/perrin

Weitere Informationen zum Befehl zfs mount finden Sie in der Man Page zfs(1M).

Aushängen von ZFS-Dateisystemen

ZFS-Dateisysteme können mit dem Befehl zfs unmount ausgehängt werden. Der Befehl unmount akzeptiert als Argument entweder den Einhängepunkt oder den Dateisystemnamen.

Im folgenden Beispiel wird ein Dateisystem nach seinem Namen ausgehängt:

# zfs unmount users/home/mark

Im folgenden Beispiel wird ein Dateisystem nach seinem Einhängepunkt ausgehängt:

# zfs unmount /users/home/mark

Der Befehl unmount schlägt fehl, wenn das betreffende Dateisystem aktiv ist. Ein Aushängen eines Dateisystems kann mit der Option -f erzwungen werden. Gehen Sie beim erzwungenen Aushängen eines Dateisystems äußerst sorgsam vor, wenn der Inhalt dieses Dateisystems noch verwendet wird. da unvorhergesehenes Anwendungsverhalten die Folge davon sein kann.

# zfs unmount tank/home/eric
cannot unmount '/tank/home/eric': Device busy
# zfs unmount -f tank/home/eric

Zum Zweck der Abwärtskompatibilität kann der Legacy-Befehl umount auch zum Aushängen von ZFS-Dateisystemen verwendet werden. Beispiel:

# umount /tank/home/bob

Weitere Informationen zum Befehl zfs unmount finden Sie in der Man Page zfs(1M).

Freigeben und Sperren von ZFS-Dateisystemen

ZFS kann Dateisysteme durch entsprechendes Setzen der Eigenschaft sharenfs automatisch für den Netzwerkzugriff freigeben. Mit dieser Eigenschaft müssen Sie die Datei /etc/dfs/dfstab nicht ändern, wenn ein neues Dateisystem freigegeben wurde. Die Eigenschaft sharenfs ist eine kommagetrennte Liste mit Optionen, die an den Befehl share übergeben wird. Der spezielle Wert on ist ein Aliasname für die Standardoptionen der Netzwerkfreigabe, der allen Benutzern Lese- und Schreibberechtigung gewährt. Der Wert off gibt an, dass das Dateisystem nicht von ZFS verwaltet wird und über herkömmliche Mittel wie z. B. die Datei /etc/dfs/dfstab für den Netzwerkzugriff freigegeben werden kann. Alle Dateisysteme, deren Eigenschaft sharenfs nicht auf off gesetzt ist, werden beim Systemstart freigegeben.

Einstellen der Freigabesemantik

Standardmäßig sind alle Dateisysteme für den Netzwerkzugriff gesperrt. Zum Freigeben eines neuen Dateisystems für den Netzwerkzugriff müssen Sie den Befehl zfs set mit der folgenden Syntax verwenden:

# zfs set sharenfs=on tank/home/eric

Die Eigenschaft sharenfs wird vererbt, und alle Dateisysteme werden bei der Erstellung automatisch für den Netzwerkzugriff freigegeben, wenn deren vererbte Eigenschaft nicht auf off gesetzt ist. Beispiel:

# zfs set sharenfs=on tank/home
# zfs create tank/home/bill
# zfs create tank/home/mark
# zfs set sharenfs=ro tank/home/bob

Die Dateisysteme tank/home/bill und tank/home/mark sind anfänglich mit Schreibzugriff freigegeben, da sie die Eigenschaft sharenfs von tank/home erben. Nach dem Setzen dieser Eigenschaft auf ro (schreibgeschützt) wird das Dateisystem tank/home/mark unabhängig davon, welchen Wert die Eigenschaft sharenfs für tank/home hat, schreibgeschützt freigegeben.

Sperren von ZFS-Dateisystemen für den Netzwerkzugriff

Obwohl die meisten Dateisysteme beim Systemstart, der Erstellung und beim Löschen automatisch für den Netzwerkzugriff freigegeben bzw. gesperrt werden, kann es manchmal vorkommen, dass Dateisysteme explizit für den Netzwerkzugriff gesperrt werden müssen. Dazu dient der Befehl zfs unshare. Beispiel:

# zfs unshare tank/home/mark

Dieser Befehl sperrt das Dateisystem tank/home/mark für den Netzwerkzugriff. Zum Sperren aller ZFS-Dateisysteme auf einem System benötigen Sie die Option - a.

# zfs unshare -a

Freigeben von ZFS-Dateisystemen für den Netzwerkzugriff

In den meisten Fällen reicht das automatische ZFS-Verhalten des Freigebens von Dateisystemen beim Systemstart und Erstellen eines Dateisystems für den Normalbetrieb aus. Falls Dateisysteme doch einmal für den Netzwerkzugriff gesperrt werden müssen, können Sie diese mit dem Befehl zfs share wieder freigeben. Beispiel:

# zfs share tank/home/mark

Sie können auch alle ZFS-Dateisysteme auf einem System mithilfe der Option -a freigeben.

# zfs share -a

Freigabeverhalten bei Legacy-Dateisystemen

Wenn die Eigenschaft sharenfs auf off gesetzt ist, versucht ZFS niemals, das betreffende Dateisystem für den Netzwerkzugriff freizugeben bzw. zu sperren. Dieser Wert ermöglicht die Freigabeverwaltung mithilfe herkömmlicher Mittel wie z. B. der Datei /etc/dfs/dfstab.

Im Gegensatz zum Befehl mount funktionieren die Befehle share und unshare auch für ZFS-Dateisysteme. Deswegen können Sie ein Dateisystem manuell mit Optionen freigeben, die sich von den Optionen der Eigenschaft sharenfs unterscheiden. Davon wird jedoch abgeraten. Sie sollten NFS-Freigaben entweder vollständig von ZFS oder vollständig mithilfe der Datei /etc/dfs/dfstab verwalten lassen. Das administrative ZFS-Modell ist einfacher und nicht so aufwändig wie das traditionelle Modell.