Oracle Solaris ZFS-Administrationshandbuch

ZFS-Eigenschaften

Mithilfe von Eigenschaften kann das Verhalten von Dateisystemen, Volumes, Snapshots und Klonen gesteuert werden Sofern nicht anders angegeben, gelten die in diesem Abschnitt beschriebenen Eigenschaften für alle Dataset-Typen.

Eigenschaften werden in zwei Typen (native und benutzerdefinierte Eigenschaften) eingeteilt. Native Eigenschaften exportieren interne Statistikinformationen und steuern das Systemverhalten von ZFS-Dateisystemen. Darüber hinaus können native Eigenschaften konfigurierbar oder schreibgeschützt sein. Benutzerdefinierte Eigenschaften wirken sich nicht auf das Verhalten von ZFS-Dateisystemen aus, können jedoch zum Versehen von Datasets mit Informationen, die für Ihre lokalen Gegebenheiten wichtig sind, verwendet werden. Weitere Informationen zu benutzerdefinierten Eigenschaften finden Sie unter Benutzerdefinierte ZFS-Eigenschaften.

Die meisten konfigurierbaren Eigenschaften sind vererbbar. Vererbbare Eigenschaften werden von einem übergeordneten Dataset an alle seine untergeordneten Datasets weitergegeben.

Alle vererbbaren Eigenschaften haben eine Quelle, die angibt, wie eine Eigenschaft erhalten wurde. Die Eigenschaftsquelle kann die folgenden Werte besitzen:

local

Dieser Wert zeigt an, dass die Eigenschaft mithilfe des Befehls zfs set (siehe Setzen von ZFS-Eigenschaften) explizit für das Dataset festgelegt wurde.

inherited from Dataset-Name

Dieser Wert zeigt an, dass die Eigenschaft von einem übergeordneten Objekt geerbt wurde.

default

Dieser Wert zeigt an, dass der Wert der betreffenden Eigenschaft weder geerbt noch lokal gesetzt wurde. Diese Quelle resultiert daraus, dass kein übergeordnetes Objekt eine Eigenschaft aufweist, die mit source local definiert ist.

In der folgenden Tabelle sind schreibgeschützte und konfigurierbare native Eigenschaften von ZFS-Dateisystemen aufgeführt. Schreibgeschützte Eigenschaften sind entsprechend gekennzeichnet. Alle anderen in dieser Tabelle aufgeführten nativen Eigenschaften sind konfigurierbar. Weitere Informationen zu benutzerdefinierten Eigenschaften finden Sie unter Benutzerdefinierte ZFS-Eigenschaften.

Tabelle 6–1 Beschreibungen nativer ZFS-Eigenschaften

Eigenschaft 

Typ 

Standardwert 

Beschreibung 

aclinherit

Zeichenkette 

secure

Legt fest, wie Einträge in Zugriffssteuerungslisten beim Erstellen von Dateien und Verzeichnissen vererbt werden. Werte: discard, noallow, secure und passthrough. Eine Beschreibung dieser Werte finden Sie unter Eigenschaften von Zugriffssteuerungslisten.

aclmode

Zeichenkette 

groupmask

Legt fest, wie Einträge von Zugriffssteuerungslisten während eines chmod-Vorgangs geändert werden. Werte: discard, groupmask und passthrough. Eine Beschreibung dieser Werte finden Sie unter Eigenschaften von Zugriffssteuerungslisten.

atime

Boolesch 

on

Legt fest, ob beim Lesen von Dateien die Dateizugriffszeit aktualisiert wird. Durch Deaktivierung dieser Eigenschaft wird vermieden, dass während des Lesens von Dateien Datenverkehr entsteht, der aus Schreibvorgängen resultiert. Dadurch kann die Leistung erheblich verbessert werden. E-Mail-Programme und ähnliche Dienstprogramme können allerdings in ihrer Funktion beeinträchtigt werden.

available

Zahl 

entf. 

Diese schreibgeschützte Eigenschaft gibt die für ein Dataset und alle seine untergeordneten Objekte verfügbare Festplattenkapazität an. Dabei wird angenommen, dass im Pool keine Aktivität vorliegt. Da Festplattenkapazität innerhalb eines Pools gemeinsam genutzt wird, kann die verfügbare Kapazität durch verschiedene Faktoren wie z. B. physische Speicherkapazität des Pools, Kontingente, Reservierungen oder andere im Pool befindliche Datasets beschränkt werden.

Die Abkürzung der Eigenschaft lautet avail.

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

canmount

Boolesch 

on

Legt fest, ob ein Dateisystem mit dem Befehl zfs mount eingehängt werden kann. Diese Eigenschaft ist für jedes Dateisystem einstellbar und kann nicht vererbt werden. Durch Setzen dieser Eigenschaft auf off kann jedoch an untergeordnete Dateisysteme ein Einhängepunkt vererbt werden. Die Dateisysteme selbst werden jedoch nicht eingehängt.

Wenn die Option noauto gesetzt ist, kann ein Dataset nur explizit ein- oder ausgehängt werden. Das Dataset wird weder beim Erstellen oder Importieren automatisch noch mit dem Befehl zfs mount- a eingehängt oder mit dem Befehl zfs unmount-a ausgehängt.

Weitere Informationen finden Sie unter Die Eigenschaft canmount.

checksum

Zeichenkette 

on

Aktiviert/deaktiviert die Prüfsumme zur Validierung der Datenintegrität. Der Standardwert ist on. Dadurch wird automatisch ein geeigneter Algorithmus (gegenwärtig fletcher4) gesetzt. Werte: on, off, fletcher2 , fletcher4 und sha256. Der Wert off deaktiviert die Integritätsprüfung von Benutzerdaten. Der Wert off wird nicht empfohlen.

compression

Zeichenkette 

off

Aktiviert oder deaktiviert die Komprimierung für ein Dataset. Werte: on, off, lzjb, gzip und gzip- N. Derzeit hat das Setzen der Eigenschaft auf lzjb, gzip oder gzip- N dieselbe Wirkung wie die Einstellung auf on. Durch Aktivieren der Komprimierung an einem Dateisystem mit bereits vorhandenen Daten werden nur neu hinzugekommene Daten komprimiert. Vorhandene Daten bleiben unkomprimiert.

Die Abkürzung der Eigenschaft lautet compress

compressratio

Zahl 

entf. 

Schreibgeschützte Eigenschaft, die das für das betreffende Dataset erreichte Komprimierungsverhältnis als Faktor ausdrückt. Die Komprimierung kann durch Ausführen von zfs set compression=on dataset aktiviert werden.

Der Wert wird aus der logischen Kapazität aller Dateien und der Kapazität der entsprechend referenzierten physischen Daten berechnet. Explizite Speicherplatzeinsparungen durch die Eigenschaft compression sind in diesem Wert enthalten.

copies

Zahl 

1

Legt die Anzahl der Kopien von Benutzerdaten pro Dateisystem fest. Verfügbare Werte sind 1, 2 oder 3. Diese Kopien werden zusätzlich zu etwaigen Redundanzfunktionen auf Pool-Ebene angelegt. Die von zusätzlichen Kopien beanspruchte Festplattenkapazität wird auf die entsprechende Datei bzw. das Dataset angerechnet und zählt für Kontingente und Reservierungen. Darüber hinaus wird die Eigenschaft used entsprechend aktualisiert, wenn das Erstellen mehrerer Kopien aktiviert wurde. Sie sollten diese Eigenschaft beim Erstellen des Dateisystems setzen, da sich das Ändern dieser Eigenschaft bei einem bereits vorhandenen Dateisystem nur auf neu geschriebene Daten auswirkt.

creation

Zeichenkette 

entf. 

Schreibgeschützte Eigenschaft, die angibt, wann ein Dataset erstellt wurde (Datum/Uhrzeit).

devices

Boolesch 

on

Legt fest, ob Gerätedateien in einem Dateisystem geöffnet werden können.

exec

Boolesch 

on

Legt fest, ob Programme innerhalb eines Dateisystems ausführbar sind. Wenn diese Eigenschaft auf off gesetzt ist, werden mmap(2)-Aufrufe mit PROT_EXEC nicht zugelassen.

mounted

Boolesch 

entf. 

Schreibgeschützte Eigenschaft, die angibt, ob gegenwärtig ein Dateisystem, Klon oder Snapshot eingehängt ist. Diese Eigenschaft gilt nicht für Volumes. Werte: yes oder no.

mountpoint

Zeichenkette 

entf. 

Legt den Einhängepunkt für das betreffende Dateisystem fest. Wenn die Eigenschaft mountpoint für ein Dateisystem geändert wird, werden das Dateisystem selbst und alle seine untergeordneten Dateisysteme, die den Einhängepunkt geerbt haben, ausgehängt. Wenn der neue Wert legacy ist, bleiben sie ausgehängt. Andernfalls werden sie, wenn die Eigenschaft vorher auf legacy oder none gesetzt war bzw. die Dateisysteme vor dem Ändern der Eigenschaft eingehängt waren, am neuen Bestimmungsort automatisch eingehängt. Darüber hinaus wird der Netzwerkzugriff auf die betreffenden Dateisysteme gesperrt und am neuen Bestimmungsort freigegeben.

Weitere Informationen zur Verwendung dieser Eigenschaft finden Sie unter Verwalten von ZFS-Einhängepunkten.

primarycache

Zeichenkette 

all

Kontrolliert, was im Primär-Cache gespeichert wird (ARC). Mögliche Werte sind all, none und metadata. Ist diese Eigenschaft auf all gesetzt, werden sowohl Benutzerdaten als auch Metadaten im Cache gespeichert. Ist diese Eigenschaft auf none gesetzt, werden weder Benutzerdaten noch Metadaten im Cache gespeichert. Ist diese Eigenschaft auf metadata gesetzt, werden nur Metadaten gespeichert.

origin

Zeichenkette 

entf. 

Schreibgeschützte Eigenschaft für geklonte Dateisysteme bzw. Volumes, die angibt, aus welchem Snapshot der betreffende Klon erstellt wurde. Das ursprüngliche Dateisystem kann (auch mit den Optionen -r oder -f) nicht gelöscht werden, solange ein Klon vorhanden ist.

Bei ungeklonten Dateisystemen besitzt diese Eigenschaft den Wertnone.

quota

Zahl (oder none)

none

Beschränkt die Festplattenkapazität, die von Datasets und untergeordneten Objekten belegt werden kann. Diese Eigenschaft erzwingt einen absoluten Grenzwert der Festplattenkapazität, die belegt werden kann. Dazu zählt auch der Speicherplatz, der von untergeordneten Objekten wie Dateisystemen und Snapshots belegt wird. Das Setzen eines Kontingentes für ein untergeordnetes Objekt eines Datasets, für den bereits ein Kontingent definiert wurde, überschreibt den vom übergeordneten Dataset geerbten Wert nicht, sondern setzt darüber hinaus einen zusätzlichen Grenzwert. Kontingente können nicht für Volumes eingestellt werden, da deren Eigenschaft volsize bereits ein Kontingent darstellt.

Weitere Informationen zum Einstellen von Kontingenten finden Sie unter Setzen von Kontingenten für ZFS-Dateisysteme.

readonly

Boolesch 

off

Legt fest, ob ein Dataset geändert werden kann. Wenn diese Eigenschaft auf on gesetzt ist, können keine Änderungen vorgenommen werden.

Die Abkürzung der Eigenschaft lautet rdonly.

recordsize

Zahl 

128K

Legt eine empfohlene Blockgröße für Dateien in einem Dateisystem fest.

Die Abkürzung der Eigenschaft lautet recsize. Eine ausführliche Beschreibung finden Sie unter Die Eigenschaft recordsize.

referenced

Zahl 

entf. 

Eine schreibgeschützte Eigenschaft, die die Datenmenge festlegt, auf die ein Dataset zugreifen kann. Solche Daten können von Datasets im Pool gemeinsam genutzt oder auch nicht gemeinsam genutzt werden.

Bei der Erstellung eines Snapshots bzw. Klons wird anfänglich die gleiche Festplattenkapazität referenziert, die der Kapazität des Dateisystems bzw. Snapshots entspricht, aus dem er erstellt wurde, da der Inhalt identisch ist. 

Die Abkürzung der Eigenschaft lautet refer.

refquota

Zahl (oder „none“) 

none

Legt fest, wie viel Festplattenkapazität ein Dataset belegen kann. Die Eigenschaft erzwingt einen absoluten Grenzwert des belegbaren Speicherplatzes. Dieser Grenzwert umfasst keine durch untergeordnete Objekte wie z. B. Snapshots und Klone belegte Festplattenkapazität.

refreservation

Zahl (oder „none“) 

none

Legt die garantierte Mindestfestplattenkapazität für ein Dataset fest (ohne untergeordnete Objekte, wie etwa Snapshots oder Klone). Liegt die belegte Festplattenkapazität unter dem hier angegebenen Wert, wird das Dataset behandelt, als würde es den mit refreservation angegebenen Speicherplatz belegen. Reservierungen durch refreservation werden in die Berechnung der Festplattenkapazität für das diesem Dataset übergeordnete Dataset einbezogen und auf die Kontingente und Reservierung für das übergeordnete Dataset angerechnet.

Wenn refreservation gesetzt ist, wird ein Snapshot nur zugelassen, wenn außerhalb dieser Reservierung genügend freier Speicherplatz im Pool vorhanden ist, um die Menge der aktuell referenzierten Byte im Dataset aufzunehmen.

Die Abkürzung der Eigenschaft lautet refreserv.

reservation

Zahl (oder „none“) 

none

Legt die Mindestfestplattenkapazität für ein Dataset und seine untergeordneten Objekte fest. Liegt die belegte Festplattenkapazität unter dem hier angegebenen Wert, wird das Dataset behandelt, als würde es den in dieser Reservierung angegebenen Speicherplatz belegen. Reservierungen werden in die Berechnung der Festplattenkapazität für das diesem Dataset übergeordneten Dataset einbezogen und auf die Kontingente und Reservierung für das übergeordneten Dataset angerechnet.

Die Abkürzung der Eigenschaft lautet reserv.

Weitere Informationen dazu finden Sie unter Setzen von Reservierungen für ZFS-Dateisysteme.

secondarycache

Zeichenkette 

all

Kontrolliert, was im Sekundär-Cache gespeichert wird (L2ARC). Mögliche Werte sind all, none und metadata. Ist diese Eigenschaft auf all gesetzt, werden sowohl Benutzerdaten als auch Metadaten im Cache gespeichert. Ist diese Eigenschaft auf none gesetzt, werden weder Benutzerdaten noch Metadaten im Cache gespeichert. Ist diese Eigenschaft auf metadata gesetzt, werden nur Metadaten gespeichert.

setuid

Boolesch 

on

Legt fest, ob das setuid-Bit in einem Dateisystem berücksichtigt wird.

shareiscsi

Zeichenkette 

off 

Legt fest, ob ein ZFS-Volume gemeinsam als iSCSI-Ziel genutzt wird. Eigenschaftswerte: on, off und type=disk. Sie können shareiscsi=on für ein Dateisystem setzen, sodass alle ZFS-Volumes innerhalb des Dateisystems standardmäßig freigegeben sind. Das Setzen dieser Eigenschaft für ein Dateisystem hat jedoch keine direkte Auswirkung.

sharenfs

Zeichenkette 

off

Legt fest, ob das Dateisystem über NFS zugänglich ist und welche Optionen verwendet werden. Wenn diese Eigenschaft auf on gesetzt ist, wird der Befehl zfs share ohne Optionen aufgerufen. Andernfalls wird der Befehl zfs share mit den Optionen aufgerufen, die dem Inhalt dieser Eigenschaft entsprechen. Wenn die Eigenschaft auf off gesetzt ist, wird das Dateisystem über die älteren Befehle share und unshare und die Datei dfstab verwaltet.

Weitere Informationen zur Nutzung von ZFS-Dateisystemen für den Netzwerkzugang finden Sie unter Freigeben und Sperren von ZFS-Dateisystemen.

snapdir

Zeichenkette 

hidden

Legt fest, ob das Verzeichnis .zfs in der Root des Dateisystems verborgen oder sichtbar ist. Weitere Informationen zur Verwendung von Snapshots finden Sie unter Überblick über ZFS-Snapshots.

type

Zeichenkette 

entf. 

Schreibgeschützte Eigenschaft, die den Typ des betreffenden Datasets (filesystem (Dateisystem oder Klon), volume oder snapshot) angibt.

used

Zahl 

entf. 

Schreibgeschützte Eigenschaft, die die für ein Dataset und alle seine untergeordneten Objekte belegte Festplattenkapazität angibt.

Eine ausführliche Beschreibung finden Sie unter Die Eigenschaft used.

usedbychildren

Zahl 

off

Schreibgeschützte Eigenschaft, die die Festplattenkapazität angibt, die von untergeordneten Objekten dieses Datasets beansprucht wird und die beim Löschen dieser untergeordneten Objekte frei werden würde. Die Abkürzung für die Eigenschaft ist usedchild.

usedbydataset

Zahl 

off

Schreibgeschützte Eigenschaft, die die Festplattenkapazität angibt, die vom Dataset selbst beansprucht wird und die beim Löschen des Datasets und vorherigem Löschen aller Snapshots und Entfernen von refreservation frei werden würde. Die Abkürzung für diese Eigenschaft ist usedds.

usedbyrefreservation

Zahl 

off

Schreibgeschützte Eigenschaft, die die von einem refreservation-Set auf diesem Dataset beanspruchte Festplattenkapazität angibt, die beim Entfernen von refreservation frei werden würde. Die Abkürzung für die Eigenschaft ist usedds.

usedbysnapshots

Zahl 

off

Schreibgeschützte Eigenschaft, die die von Snapshots dieses Datasets beanspruchte Festplattenkapazität angibt. Insbesondere geht es dabei um die Festplattenkapazität, die beim Löschen aller Snapshots des Datasets frei werden würde. Beachten Sie, dass es sich bei diesem Wert nicht einfach um die Summe der used-Eigenschaften der Snapshots handelt, da Speicherplatz von mehreren Snapshots gemeinsam genutzt werden kann. Die Abkürzung für diese Eigenschaft ist usedsnap.

version

Zahl 

entf. 

Die aktuelle, von der Pool-Version unabhängige Version eines Dateisystems auf der Festplatte. Diese Eigenschaft kann nur bei einer nachfolgenden Version der unterstützten Software gesetzt werden. Weitere Informationen finden Sie unter zfs upgrade-Befehl.

volsize

Zahl 

entf. 

Legt die logische Größe eines Volumes fest (gilt nur für Volumes).

Eine ausführliche Beschreibung finden Sie unter Die Eigenschaft volsize.

volblocksize

Zahl 

8 kB

Legt die Blockgröße eines Volumes fest (gilt nur für Volumes). Nach dem Schreiben von Daten auf das betreffende Volume kann die Blockgröße nicht mehr geändert werden. Deswegen muss diese Eigenschaft bei der Erstellung des Volumes gesetzt werden. Die Standardblockgröße für Volumes ist 8 KB. Es sind alle Werte zur Potenz von 2 im Bereich von 512 Byte bis 128 KB zulässig.

Die Abkürzung der Eigenschaft lautet volblock.

zoned

Boolesch 

entf. 

Gibt an, ob dieses Dataset zu einer nicht-globalen Zone hinzugefügt wurde. Wenn diese Eigenschaft gesetzt ist, befindet sich der Einhängepunkt nicht in der globalen Zone, und ZFS kann ein solches Dateisystem auf Anforderung nicht einhängen. Bei der ersten Installation einer Zone wird diese Eigenschaft für alle hinzugefügten Dateisysteme gesetzt.

Weitere Informationen zur Verwendung von ZFS mit installierten Zonen finden Sie in Verwendung von ZFS in einem Solaris-System mit installierten Zonen.

xattr

Boolesch 

on

Legt fest, ob für das betreffende Dateisystem erweiterte Attribute aktiviert (on) oder deaktiviert sind (off).

Schreibgeschützte native ZFS-Eigenschaften

Schreibgeschützte native Eigenschaften können gelesen, aber nicht gesetzt werden. Schreibgeschützte native Eigenschaften werden nicht vererbt. Einige native Eigenschaften gelten nur für bestimmte Dataset-Typen. In solchen Fällen ist der entsprechende Dataset-Typ in der Beschreibung in Tabelle 6–1 aufgeführt.

Die schreibgeschützten nativen Eigenschaften sind hier aufgeführt und in Tabelle 6–1 beschrieben.

Weitere Informationen zur Berechnung von Festplattenkapazität (einschließlich Informationen zu den Eigenschaften used, referenced und available) finden Sie unter Berechnung von ZFS-Festplattenkapazität.

Die Eigenschaft used

Die Eigenschaft used ist eine schreibgeschützte Eigenschaft, die die für ein Dataset und alle seine untergeordneten Objekte belegte Festplattenkapazität angibt. Dieser Wert wird gegen die für das Dataset gesetzten Kontingente und Reservierungen geprüft. Die belegte Festplattenkapazität enthält nicht die Reservierungen für das Dataset selbst, schließt jedoch die Reservierungen für untergeordnete Datasets ein. Die Festplattenkapazität, die das Dataset aufgrund seines übergeordneten Datasets belegt, sowie die Festplattenkapazität, die beim rekursiven Löschen des Datasets freigegeben wird, sind größer als die Kapazität, die das Dataset für den belegten Speicherplatz und die Reservierung benötigt.

Bei der Erstellung von Snapshots wird diese Festplattenkapazität anfänglich vom Snapshot und dem Dateisystem (sowie eventuellen früheren Snapshots) gemeinsam genutzt. Wenn sich ein Dateisystem mit der Zeit ändert, gehört zuvor gemeinsam genutzte Festplattenkapazität dann ausschließlich dem Snapshot und wird in die Berechnung des vom Snapshot belegten Speicherplatzes einbezogen. Wie viel Festplattenkapazität von einem Snapshot belegt wird, hängt von den speziellen Daten des Snapshots ab. Zudem kann durch das Löschen von Snapshots die Festplattenkapazität, die Snapshots eindeutig zugewiesen ist (und von diesen verwendet wird), größer werden. Weitere Informationen zu Snapshots und Speicherplatzaspekten finden Sie in Verhalten bei ungenügendem Speicherplatz.

In die belegte, verfügbare und referenzierte Festplattenkapazität werden keine anstehenden Änderungen einbezogen. Anstehende Änderungen werden im Allgemeinen innerhalb weniger Sekunden abgeschlossen. Nach Abschluss eines Schreibvorgangs auf dem Datenträger durch die Funktion fsync(3c) oder O_SYNC werden die Informationen zur belegten Festplattenkapazität nicht unbedingt sofort aktualisiert.

Die Informationen der Eigenschaften usedbychildren, usedbydataset , usedbyrefreservation und usedbysnapshots kann mit dem Befehl zfs list - o space angezeigt werden. Diese Eigenschaften bestimmen die Eigenschaft used für Festplattenkapazität, die von untergeordneten Objekten belegt wird. Weitere Informationen finden Sie in Tabelle 6–1.

Konfigurierbare native ZFS-Eigenschaften

Konfigurierbare native Eigenschaften können gelesen und gesetzt werden. Konfigurierbare native Eigenschaften werden mithilfe des Befehls zfs set(siehe Setzen von ZFS-Eigenschaften) bzw. zfs create (siehe Erstellen eines ZFS-Dateisystems) gesetzt. Außer Kontingenten und Reservierungen werden konfigurierbare Eigenschaften vererbt. Weitere Informationen zu Kontingenten und Reservierungen finden Sie unter Einstellen von ZFS-Kontingenten und -Reservierungen.

Einige konfigurierbare native Eigenschaften gelten nur für bestimmte Dataset-Typen. In solchen Fällen ist der entsprechende Dataset-Typ in der Beschreibung in Tabelle 6–1 aufgeführt. Sofern nichts Anderes vermerkt ist, gilt eine Eigenschaft für alle Dataset-Typen: Dateisysteme, Volumes, Klone und Snapshots.

Die konfigurierbaren Eigenschaften sind hier aufgeführt und in Tabelle 6–1 beschrieben.

Die Eigenschaft canmount

Wenn die Eigenschaft canmount auf off gesetzt wird, kann das Dateisystem nicht mithilfe der Befehle zfs mount bzw. zfs mount -a eingehängt werden. Das Setzen dieser Eigenschaft auf off gleicht dem Setzen der Eigenschaft mountpoint auf none. Der Unterschied besteht darin, dass das Dataset trotzdem noch die normale Eigenschaft mountpoint besitzt, die vererbt werden kann. Sie können diese Eigenschaft beispielsweise auf off setzen und Eigenschaften setzen, die an untergeordnete Dateisysteme vererbt werden. Das übergeordnete Dateisystem selbst wird jedoch nicht eingehängt und ist nicht für Benutzer zugänglich. In diesem Fall dient das übergeordnete Dateisystem als Container, für den Sie Eigenschaften festlegen können. Der Container selbst ist jedoch nicht zugänglich.

Im folgenden Beispiel wird das Dateisystem userpool erstellt und dessen Eigenschaft canmount auf off gesetzt. Einhängepunkte für untergeordnete Benutzerdateisysteme werden auf ein einziges Verzeichnis (/export/home ) gesetzt. Am übergeordneten Dateisystem gesetzte Eigenschaften werden von untergeordneten Dateisystemen geerbt; das übergeordnete Dateisystem selbst wird jedoch nicht eingehängt.


# zpool create userpool mirror c0t5d0 c1t6d0
# zfs set canmount=off userpool
# zfs set mountpoint=/export/home userpool
# zfs set compression=on userpool
# zfs create userpool/user1
# zfs create userpool/user2
# zfs mount
userpool/user1                  /export/home/user1
userpool/user2                  /export/home/user2

Durch Setzen der Eigenschaft canmount auf noauto kann das Dataset nur ausdrücklich, nicht aber automatisch eingehängt werden. Über diese Einstellung wird von der Oracle Solaris Upgrade-Software festgelegt, dass nur Datasets aus der aktiven Boot-Umgebung beim Booten eingehängt werden.

Die Eigenschaft recordsize

Die Eigenschaft recordsize legt eine empfohlene Blockgröße für Dateien im Dateisystem fest.

Diese Eigenschaft dient zur Zusammenarbeit mit Datenbanken, die auf Dateien in festen Blockgrößen zugreifen. ZFS passt Blockgrößen automatisch an interne Algorithmen an, die für typische Zugriffsstrukturen optimiert wurden. Für Datenbanken, die sehr große Dateien erstellen, Dateien jedoch mit wahlfreiem Zugriff in kleineren Blöcken lesen, können diese Algorithmen unter Umständen nicht optimal sein. Wenn Sie die Eigenschaft recordsize auf einen Wert setzen, der der Datensatzgröße der betreffenden Datenbank entspricht bzw. größer als diese ist, kann die Leistung bedeutend verbessert werden. Die Verwendung dieser Eigenschaft für allgemeine Dateisysteme kann sich negativ auf die Leistung auswirken und wird nicht empfohlen. Die angegebene Größe muss ein Zweierpotenzwert sein, der größer als oder gleich 512 Byte und kleiner als oder gleich 128 KB ist. Das Ändern der Eigenschaft recordsize eines Dateisystems wirkt sich nur auf Dateien aus, die nach der Änderung erstellt wurden. Bereits vorhandene Dateien bleiben unverändert.

Die Abkürzung der Eigenschaft lautet recsize.

Die Eigenschaft volsize

Die Eigenschaft volsize legt die logische Größe eines Volumes fest. Standardmäßig wird beim Erstellen eines Volumes Speicherplatz der gleichen Kapazität reserviert. Alle Änderungen der Eigenschaft volsize werden entsprechend in der Reservierung geändert. Diese Überprüfungen dienen zum Verhindern unerwarteten Systemverhaltens. Je nachdem, wie ein Volume benutzt wird, kann es undefiniertes Systemverhalten oder Datenbeschädigung verursachen, wenn es weniger Speicherplatz enthält, als es eigentlich angefordert hat. Solche Effekte können auch auftreten, wenn die Kapazität eines Volumes geändert wird, während es in Benutzung ist. Dies gilt besonders dann, wenn die Volume-Kapazität verkleinert wird. Gehen Sie bei der Änderung einer Volume-Kapazität stets mit äußerster Sorgfalt vor.

Obwohl dies nicht empfohlen wird, können Sie ein Sparse-Volume erstellen, indem Sie für den Befehl -zfs create -V das Flag s angeben oder die Reservierung nach der Erstellung des Volumes entsprechend ändern. Bei Sparse-Volumes ist der Wert der Reservierung ungleich der Volume-Kapazität. Änderungen der Eigenschaft volsize wirken sich bei Sparse-Volumes nicht auf den Reservierungswert aus.

Weitere Informationen zur Verwendung von Volumes finden Sie unter ZFS-Volumes.

Benutzerdefinierte ZFS-Eigenschaften

Zusätzlich zu den nativen Eigenschaften unterstützt ZFS auch beliebige benutzerdefinierte Eigenschaften. Benutzerdefinierte Eigenschaften wirken sich nicht auf das ZFS-Verhalten aus, können jedoch zum Versehen von Datasets mit Informationen, die für Ihre lokalen Gegebenheiten wichtig sind, verwendet werden.

Namen benutzerdefinierter Eigenschaften müssen den folgenden Konventionen genügen:

Namen benutzerdefinierter Eigenschaften sollten generell in die folgenden beiden Komponenten aufgeteilt werden, obwohl dies für ZFS nicht obligatorisch ist:


module:property

Bei der programmatischen Verwendung von Eigenschaften sollten Sie für die Komponente Modul einen umgekehrten DNS-Domänennamen verwenden. Dadurch wird die Wahrscheinlichkeit verringert, dass zwei unabhängig voneinander entwickelte Pakete die gleiche Eigenschaft für unterschiedliche Zwecke nutzen. Eigenschaftsnamen, die mit com.sun beginnen, sind für Oracle Corporation reserviert.

Die Werte benutzerdefinierter Eigenschaften müssen folgenden Konventionen entsprechen:

Beispiel:


# zfs set dept:users=finance userpool/user1
# zfs set dept:users=general userpool/user2
# zfs set dept:users=itops userpool/user3

Alle Befehle, die Eigenschaften verwenden (z. B. zfs list, zfs get, zfs set usw.) können native und benutzerdefinierte Eigenschaften nutzen.

Beispiel:


zfs get -r dept:users userpool
NAME            PROPERTY    VALUE           SOURCE
userpool        dept:users  all             local
userpool/user1  dept:users  finance         local
userpool/user2  dept:users  general         local
userpool/user3  dept:users  itops           local

Benutzerdefinierte Eigenschaften können mit dem Befehl zfs inherit gelöscht werden. Beispiel:


# zfs inherit -r dept:users userpool

Wenn die betreffende Eigenschaft nicht in einem übergeordneten Dataset definiert wurde, wird sie komplett entfernt.