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
Schreibgeschützte native ZFS-Eigenschaften
Konfigurierbare native ZFS-Eigenschaften
Benutzerdefinierte ZFS-Eigenschaften
Abfragen von ZFS-Dateisysteminformationen
Auflisten grundlegender ZFS-Informationen
Erstellen komplexer ZFS-Abfragen
Einhängen und Freigeben von ZFS-Dateisystemen
Verwalten von ZFS-Einhängepunkten
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
Dataset-Eigenschaften werden mithilfe der Unterbefehle set, inherit und get des Befehls zfs verwaltet.
Sie können konfigurierbare Dataset-Eigenschaften mit dem Befehl zfs set setzen. Bei der Erstellung eines Datasets können Eigenschaften auch mit dem Befehl zfs create gesetzt werden. Eine Liste der konfigurierbaren Dataset-Eigenschaften finden Sie unter Konfigurierbare native ZFS-Eigenschaften.
Der Befehl zfs set verwendet ein Eigenschaft-Wert-Paar im Format Eigenschaft=Wert, dem ein Dataset-Name folgt. Während eines Aufrufs von zfs set kann nur eine Eigenschaft gesetzt oder geändert werden.
Im folgenden Beispiel wird die Eigenschaft atime von tank/home auf off gesetzt.
# zfs set atime=off tank/home
Darüber hinaus können bei der Erstellung eines Dateisystems beliebige Dateisystemeigenschaften gesetzt werden. Beispiel:
# zfs create -o atime=off tank/home
Spezielle numerische Eigenschaftswerte können durch Verwendung der folgenden verständlichen Suffixe (in ansteigender Größenordnung) angegeben werden: BKMGTPEZ. Allen diesen Suffixen außer dem Suffix B, das für Byte steht, kann ein b (für "Byte”) nachgestellt werden. In den folgenden vier Beispielen des Befehls zfs set werden entsprechende numerische Ausdrücke angegeben, mit denen die Eigenschaft quota gesetzt wird. Damit werden Kontingente im Dateisystem users/home/mark auf 20 GB gesetzt:
# zfs set quota=20G users/home/mark # zfs set quota=20g users/home/mark # zfs set quota=20GB users/home/mark # zfs set quota=20gb users/home/mark
Bei Zeichenkettenwerten wird Groß- und Kleinschreibung unterschieden. Diese Werte dürfen nur Kleinbuchstaben enthalten. Ausnahmen bilden die Werte der Eigenschaften mountpoint und sharenfs; die Werte dieser Eigenschaften dürfen sowohl Groß- als auch Kleinbuchstaben enthalten.
Weitere Informationen zum Befehl zfs set finden Sie in der Man Page zfs(1M).
Alle konfigurierbaren Eigenschaften mit der Ausnahme von Kontingenten und Reservierungen erben ihren Wert von ihrem übergeordneten Dataset, es sei denn, diese Werte sind im untergeordneten Dataset explizit gesetzt. Wenn das entsprechende übergeordnete Dateisystem für eine vererbte Eigenschaft keinen Wert besitzt, wird der Standardwert für die betreffende Eigenschaft verwendet. Mit dem Befehl zfs inherit können Sie Eigenschaftswerte zurücksetzen, was zur Folge hat, dass der vom übergeordneten Dateisystem vererbte Wert verwendet wird.
Im folgenden Beispiel wird mithilfe des Befehls zfs set die Komprimierung für das Dateisystem tank/home/jeff aktiviert. Danach wird zfs inherit verwendet, um die Eigenschaft compression zu löschen, wodurch die Eigenschaft den Standardwert (off) des erbt. Da weder bei home noch bei tank der Wert der Eigenschaft compression lokal gesetzt wurde, wird der Standardwert verwendet. Wäre bei beiden die Komprimierung aktiviert, würde der Wert des direkten übergeordneten Dateisystems (in diesem Beispiel home) verwendet werden.
# zfs set compression=on tank/home/jeff # zfs get -r compression tank/home NAME PROPERTY VALUE SOURCE tank/home compression off default tank/home/eric compression off default tank/home/eric@today compression - - tank/home/jeff compression on local # zfs inherit compression tank/home/jeff # zfs get -r compression tank/home NAME PROPERTY VALUE SOURCE tank/home compression off default tank/home/eric compression off default tank/home/eric@today compression - - tank/home/jeff compression off default
Der Unterbefehl inherit wird bei Angabe der Option -r rekursiv ausgeführt. Im folgenden Beispiel wird durch den Befehl der Wert für die Eigenschaft compression von tank/home und allen eventuell vorhandenen untergeordneten Dateisystemen geerbt:
# zfs inherit -r compression tank/home
Hinweis - Bitte beachten Sie, dass die Option -r die Eigenschaftswerte aller untergeordneten Datasets zurücksetzt.
Weitere Informationen zum Befehl zfs inherit finden Sie in der Man Page zfs(1M).
Am Einfachsten können Eigenschaftswerte mit dem Befehl zfs list abgefragt werden. Weitere Informationen dazu finden Sie unter Auflisten grundlegender ZFS-Informationen. Für komplexere Abfragen und Skripten sollten Sie den Befehl zfs get verwenden, da dieser ausführlichere Informationen in einem anpassbaren Format anzeigt.
Sie können Dataset-Eigenschaften mit dem Befehl zfs get abrufen. Das folgende Beispiel zeigt, wie ein Eigenschaftswert eines Datasets abgerufen werden kann:
# zfs get checksum tank/ws NAME PROPERTY VALUE SOURCE tank/ws checksum on default
In der vierten Spalte SOURCE wird der Ursprung des betreffende Eigenschaftswerts angezeigt. In der folgenden Tabelle werden die möglichen Ursprungswerte erläutert.
Tabelle 6-3 Mögliche SOURCE-Werte (Befehl zfs get)
|
Sie können alle Dataset-Eigenschaftswerte mit dem speziellen Schlüsselwort all abrufen. In den folgenden Beispielen wird das Schlüsselwort all verwendet:
# zfs get all tank/home NAME PROPERTY VALUE SOURCE tank/home type filesystem - tank/home creation Wed Jun 22 15:47 2011 - tank/home used 31K - tank/home available 33.2G - tank/home referenced 31K - tank/home compressratio 1.00x - tank/home mounted yes - tank/home quota none default tank/home reservation none default tank/home recordsize 128K default tank/home mountpoint /tank/home default tank/home sharenfs off default tank/home checksum on default tank/home compression off default tank/home atime on default tank/home devices on default tank/home exec on default tank/home setuid on default tank/home readonly off default tank/home zoned off default tank/home snapdir hidden default tank/home aclinherit restricted default tank/home canmount on default tank/home shareiscsi off default tank/home xattr on default tank/home copies 1 default tank/home version 5 - tank/home utf8only off - tank/home normalization none - tank/home casesensitivity sensitive - tank/home vscan off default tank/home nbmand off default tank/home sharesmb off default tank/home refquota none default tank/home refreservation none default tank/home primarycache all default tank/home secondarycache all default tank/home usedbysnapshots 0 - tank/home usedbydataset 31K - tank/home usedbychildren 0 - tank/home usedbyrefreservation 0 - tank/home logbias latency default tank/home sync standard default tank/home rstchown on default
Hinweis - Die Eigenschaften casesensitivity, nbmand, normalization, sharesmb, utf8only und vscan sind in Oracle Solaris 10 nicht voll funktionsfähig, da der Oracle Solaris SMB-Service nicht von Oracle Solaris 10 unterstützt wird.
Mit der Option -s des Befehls zfs get können Sie die anzuzeigenden Eigenschaften nach Ursprungstyp angeben. Diese Option liest eine kommagetrennte Liste der gewünschten Ursprungstypen ein. Es werden nur Eigenschaften des gewünschten Ursprungstyps angezeigt. Zulässige Ursprungstypen sind local, default, inherited, temporary und none. Das folgende Beispiel zeigt alle Eigenschaften, die in tank/ws lokal gesetzt wurden.
# zfs get -s local all tank/ws NAME PROPERTY VALUE SOURCE tank/ws compression on local
Alle der o. g. Optionen können zusammen mit der Option -r verwendet werden, um die angegebenen Eigenschaften aller untergeordneten Datasets rekursiv anzuzeigen. Im folgenden Beispiel werden alle temporären Eigenschaften aller Datasets in tank/home rekursiv angezeigt:
# zfs get -r -s temporary all tank/home NAME PROPERTY VALUE SOURCE tank/home atime off temporary tank/home/jeff atime off temporary tank/home/mark quota 20G temporary
Mithilfe des Befehls zfs get können Sie Eigenschaftswerte abfragen ohne ein Zieldateisystem anzugeben, was bedeutet, dass alle Pools bzw. Dateisysteme abgefragt werden. Beispiel:
# zfs get -s local all tank/home atime off local tank/home/jeff atime off local tank/home/mark quota 20G local
Weitere Informationen zum Befehl zfs get finden Sie in der Man Page zfs(1M).
Der Befehl zfs get unterstützt die Optionen -H und - o, die speziell für die Verwendung dieses Befehl in Skripten vorgesehen sind. Sie können die Option -H verwenden, um die Kopfzeileninformationen zu unterdrücken und Leerzeichen durch Tabulatorzeichen zu ersetzen. Dadurch können Daten einfach analysiert werden. Sie können die Option -o verwenden, um die Ausgabe wie folgt anzupassen:
Das Literal name kann zusammen mit einer kommagetrennten Liste von Eigenschaften verwendet werden (siehe Abschnitt ZFS-Eigenschaften.
Eine kommagetrennte Liste von Literalfeldern, name, value, property und source, wird ausgegeben, der ein Leerzeichen und ein Argument folgt. Diese Liste ist eine kommagetrennte Liste von Eigenschaften.
Das folgende Beispiel zeigt, wie mithilfe der Optionen -H und -o des Befehls zfs get ein einzelner Wert abgerufen werden kann.
# zfs get -H -o value compression tank/home on
Die Option -p gibt numerische Werte exakt aus. 1 MB wird beispielsweise als 1000000 ausgegeben. Diese Option lässt sich wie folgt verwenden:
# zfs get -H -o value -p used tank/home 182983742
Mit der Option -r und allen der o. g. Optionen können Sie Werte für alle untergeordneten Datasets rekursiv abrufen. Im folgenden Beispiel werden die Optionen -H, -o und - r verwendet, um den Dataset-Namen sowie der Wert der Eigenschaft used für export/home und die untergeordneten Objekte abzurufen, während die Kopfzeile der Befehlsausgabe unterdrückt wird:
# zfs get -H -o name,value -r used export/home