Oracle Solaris ZFS-Administrationshandbuch

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/eschrock

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/bricker
# zfs create tank/home/tabriz
# zfs set sharenfs=ro tank/home/tabriz

Die Dateisysteme tank/home/bricker und tank/home/tabriz 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/tabriz 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/tabriz

Dieser Befehl sperrt das Dateisystem tank/home/tabriz 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/tabriz

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.