Dieses Kapitel enthält Informationen zu ZFS-Volumes, zur Verwendung von ZFS auf Solaris-Systemen mit installierten Zonen, zu Speicher-Pools mit alternativem Root-Verzeichnis sowie zu ZFS-Zugriffsrechtsprofilen.
Dieses Kapitel enthält die folgenden Abschnitte:
Verwendung von ZFS in einem Solaris-System mit installierten Zonen
Verwenden von ZFS-Speicher-Pools mit alternativem Root-Verzeichnis
Ein ZFS-Volume ist ein Dataset, das eine Blockeinheit darstellt. ZFS-Volumes sind im Verzeichnis /dev/zvol/{dsk,rdsk}/pool als Geräte aufgeführt.
Im folgenden Beispiel wird ein ZFS-Volume tank/vol mit einer Kapazität von 5 GB erstellt:
# zfs create -V 5gb tank/vol |
Beim Erstellen von Volumes wird automatisch eine Reservierung der anfänglichen Volume-Kapazität angelegt, um unerwartetes Verhalten zu verhindern. Wenn die Kapazität des Volumes beispielsweise kleiner wird, können Daten beschädigt werden. Deswegen müssen Sie beim Ändern der Kapazität eines Volumes äußerst sorgfältig vorgehen.
Außerdem können Dateisysteminkonsistenzen entstehen, wenn Sie einen Snapshot eines Volumes erstellen, dessen Kapazität sich ändern kann, und versuchen, den betreffenden Snapshot mittels Rollback rückgängig zu machen oder zu klonen.
Informationen zu Dateisystemeigenschaften, die auf Volumes angewendet werden können, finden Sie in Tabelle 6–1.
Auf Solaris-Systemen mit installierten Zonen können Sie keine ZFS-Volumes in einer nicht-globalen Zone erstellen bzw. klonen. Alle solche Versuche schlagen fehl. Informationen zur Verwendung von ZFS-Volumes in einer globalen Zone finden Sie unter Hinzufügen von ZFS-Volumes zu einer nicht-globalen Zone.
Während der Installation eines ZFS-Root-Dateisystems oder einer Migration von einem UFS-Root-Dateisystem wird auf einem ZFS-Volume im ZFS-Root-Pool ein Swap-Gerät erstellt. Beispiel:
# swap -l swapfile dev swaplo blocks free /dev/zvol/dsk/rpool/swap 253,3 16 8257520 8257520 |
Während der Installation eines ZFS-Root-Dateisystems oder einer Migration von einem UFS-Root-Dateisystem wird auf einem ZFS-Volume im ZFS-Root-Pool ein Dump-Gerät erstellt. Nach der Einrichtung ist keine Verwaltung des Dump-Geräts erforderlich. Beispiel:
# dumpadm Dump content: kernel pages Dump device: /dev/zvol/dsk/rpool/dump (dedicated) Savecore directory: /var/crash/t2000 Savecore enabled: yes |
Wenn Sie den Swap-Bereich oder das Dump-Gerät nach der Installation oder dem Upgrade des Systems ändern müssen, benutzen Sie hierzu die Befehle swap und dumpadm wie in vorherigen Solaris-Versionen. Zum Erstellen eines zusätzlichen Swap-Volumes müssen Sie ein ZFS-Volume einer bestimmten Kapazität erstellen und für dieses Gerät dann die Swap-Funktion aktivieren. Beispiel:
# zfs create -V 2G rpool/swap2 # swap -a /dev/zvol/dsk/rpool/swap2 # swap -l swapfile dev swaplo blocks free /dev/zvol/dsk/rpool/swap 256,1 16 2097136 2097136 /dev/zvol/dsk/rpool/swap2 256,5 16 4194288 4194288 |
Swaps dürfen nicht in eine Datei eines ZFS-Dateisystems durchgeführt werden. ZFS unterstützt keine Konfigurationen für Swap-Dateien.
Informationen zum Anpassen der Größe von Swap- und Dump-Volumes finden Sie unter Anpassen der Größe von ZFS-Swap- und Dump-Geräten.
Sie können ZFS-Volumes auf einfache Weise als iSCSI-Zielgerät konfigurieren, indem Sie die Eigenschaft shareiscsi für das Volume setzen. Beispiel:
# zfs create -V 2g tank/volumes/v2 # zfs set shareiscsi=on tank/volumes/v2 # iscsitadm list target Target: tank/volumes/v2 iSCSI Name: iqn.1986-03.com.sun:02:984fe301-c412-ccc1-cc80-cf9a72aa062a Connections: 0 |
Nach dem Erstellen des iSCSI-Zielgeräts muss der iSCSI-Initiator definiert werden. Weitere Informationen zu Solaris-iSCSI-Zielgeräten und -Initiatoren finden Sie in Kapitel 14, Configuring Oracle Solaris iSCSI Targets and Initiators (Tasks) in System Administration Guide: Devices and File Systems.
Solaris-iSCSI-Zielgeräte können auch mit dem Befehl iscsitadm erstellt und verwaltet werden. Wenn die Eigenschaft shareiscsi eines ZFS-Volumes gesetzt ist, darf der Befehl iscsitadm nicht zum Erstellen des gleichen Zielgeräts verwendet werden, da ansonsten für das gleiche Zielgerät duplizierte Zielgerätinformationen erstellt werden.
Als iSCSI-Zielgerät konfigurierte ZFS-Volumes werden genauso wie andere ZFS-Datasets verwaltet. Operationen zum Umbenennen, Exportieren und Importieren funktionieren bei iSCSI-Zielgeräten jedoch etwas anders.
Wenn Sie ein ZFS-Volume umbenennen, bleibt der Name des iSCSI-Zielgeräts gleich. Beispiel:
# zfs rename tank/volumes/v2 tank/volumes/v1 # iscsitadm list target Target: tank/volumes/v1 iSCSI Name: iqn.1986-03.com.sun:02:984fe301-c412-ccc1-cc80-cf9a72aa062a Connections: 0 |
Durch das Exportieren eines Pools, das ein für den Netzwerkzugriff freigegebenes ZFS-Volume enthält, wird das betreffende Zielgerät entfernt. Durch das Importieren eines Pools, das ein freigegebenes ZFS-Volume enthält, wird das betreffende Zielgerät für den Netzwerkzugriff freigegeben. Beispiel:
# zpool export tank # iscsitadm list target # zpool import tank # iscsitadm list target Target: tank/volumes/v1 iSCSI Name: iqn.1986-03.com.sun:02:984fe301-c412-ccc1-cc80-cf9a72aa062a Connections: 0 |
Alle Konfigurationsinformationen zu einem iSCSI-Zielgerät werden im Dataset gespeichert. Wie bei einem über NFS für den Netzwerkzugriff freigegebenem Dateisystem, wird ein in ein anderes System importiertes iSCSI-Zielgerät entsprechend für den Netzwerkzugriff freigegeben.
In den folgenden Abschnitten wird die Verwendung von ZFS auf Systemen mit Oracle Solaris-Zonen beschrieben:
Informationen zum Konfigurieren eines Systems mit einem ZFS-Root-Dateisystem, das mithilfe von Oracle Solaris Live Upgrade migriert oder gepatcht werden soll, finden Sie unter Verwenden des Oracle Solaris Live Upgrade zum Migrieren oder Aktualisieren eines Systems mit Zonen (Solaris 10 10/08) oder Verwenden des Oracle Solaris Live Upgrade zum Migrieren oder Aktualisieren eines Systems mit Zonen (ab Solaris 10 5/09).
Für die Zusammenarbeit von ZFS-Datasets mit Zonen sollten Sie folgende Aspekte berücksichtigen:
Sie können ein ZFS-Dateisystem bzw. einen ZFS-Klon mit oder ohne Delegierung der Verwaltungssteuerung zu einer nicht-globalen Zone hinzufügen.
ZFS-Volumes können als Gerät zu nicht-globalen Zonen hinzugefügt werden.
Derzeit können ZFS-Snapshots nicht in Zonen erstellt werden.
In den folgenden Abschnitten wird mit dem Begriff „ZFS-Dataset” ein Dateisystem bzw. Klon bezeichnet.
Durch Hinzufügen eines Datasets kann sich einen nicht-globale Zone Festplattenkapazität mit der globalen Zone teilen, obwohl der Zonen-Administrator in der zugrunde liegenden Dateisystemhierarchie keine Eigenschaften einstellen bzw. keine neuen Dateisysteme erstellen kann. Dieser Vorgang ist mit dem Hinzufügen anderer Dateisystemtypen zu einer Zone identisch und sollte dann verwendet werden, wenn das Hauptziel in der gemeinsamen Nutzung von Festplattenkapazität besteht.
In ZFS können Datasets auch an eine nicht-globale Zone delegiert werden. Dadurch erlangt der Zonen-Administrator vollständige Kontrolle über diese Datasets und alle seine untergeordneten Objekte. Der Zonen-Administrator kann Dateisysteme bzw. Klone in diesem Dataset erstellen oder löschen sowie Dataset-Eigenschaften ändern. Der Zonen-Administrator hat jedoch keine Kontrolle über Datasets, die nicht zur betreffenden Zone hinzugefügt wurden, und darf die für die oberste Hierarchieebene des delegierten Datasets gesetzten Kontingente nicht überschreiten.
Bei der Verwendung von ZFS auf Systemen mit installierten Oracle Solaris-Zonen sollten Sie Folgendes berücksichtigen:
Die Eigenschaft mountpoint eines zu einer nicht-globalen Zone hinzugefügten ZFS-Dateisystems muss auf „legacy” gesetzt sein.
Sehen Sie aufgrund von CR 6449301 davon ab, einer nicht-globalen Zone bei der Konfiguration ein ZFS-Dataset hinzuzufügen. Sie können das·ZFS-Dataset hinzufügen, nachdem die Zone installiert wurde.
Befinden sich der zonepath der Quelle und der zonepath des Ziels in einem ZFS-Dateisystem und im gleichen Pool, so verwendet der Befehl zoneadm clone nun automatisch die ZFS-Klonfunktion, um die Zone zu klonen. Mit dem Befehl zoneadm clone wird ein ZFS-Snapshot des zonepath-Quellverzeichnisses erstellt und das zonepath-Zielverzeichnis eingerichtet. Das Klonen einer Zone mit dem Befehl zfs clone ist nicht möglich. Weitere Informationen finden Sie in Teil II, Zonen in Systemverwaltungshandbuch: Oracle Solaris Container – Ressourcenverwaltung und Solaris Zones.
Wenn Sie ein ZFS-Dateisystem an eine nicht-globale Zone delegieren, müssen Sie dieses Dateisystem vor der Verwendung des Oracle Solaris Live Upgrade aus der nicht-globalen Zone entfernen. Andernfalls kann das Oracle Live Upgrade nicht ausgeführt werden, was auf einen Fehler im Zusammenhang mit dem Schreibschutz des Dateisystems zurückzuführen ist.
Wenn das Hauptziel ausschließlich in der gemeinsamen Nutzung von Speicherplatz mit der globalen Zone besteht, können Sie ein ZFS-Dateisystem zu einer nicht-globalen Zone als generisches Dateisystem hinzufügen. Die Eigenschaft mountpoint eines zu einer nicht-globalen Zone hinzugefügten ZFS-Dateisystems muss auf „legacy” gesetzt sein.
Sie können ein ZFS-Dateisystem mit dem Unterbefehl add fs des Befehls zonecfg zu einer nicht-globalen Zone hinzufügen.
Im folgenden Beispiel wird ein ZFS-Dateisystem durch den Administrator der globalen Zone aus der globalen Zone zu einer nicht-globalen Zone hinzugefügt:
# zonecfg -z zion zonecfg:zion> add fs zonecfg:zion:fs> set type=zfs zonecfg:zion:fs> set special=tank/zone/zion zonecfg:zion:fs> set dir=/export/shared zonecfg:zion:fs> end |
Diese Syntax fügt das ZFS-Dateisystem tank/zone/zion zur bereits konfigurierten und unter /export/shared eingehängten Zone zion hinzu. Die Eigenschaft mountpoint des Dateisystems muss auf legacy gesetzt sein, und das Dateisystem darf nicht schon irgendwo anders eingehängt sein. Der Zonenadministrator kann Dateien im Dateisystem erstellen und löschen. Das Dateisystem kann nicht an einer anderen Stelle eingehängt werden, und der Zonenadministrator kann keine Dateisystemeigenschaften wie z. B. atime, readonly, compression usw. ändern. Der Administrator der globalen Zone ist für das Einstellen und Steuern von Dateisystemeigenschaften verantwortlich.
Weitere Informationen zum Befehl zonecfg sowie zur Konfiguration von Ressourcentypen mithilfe von zonecfg finden Sie unter Teil II, Zonen in Systemverwaltungshandbuch: Oracle Solaris Container – Ressourcenverwaltung und Solaris Zones.
Wenn das Hauptziel in der Delegierung der Speicherplatzverwaltung an eine Zone besteht, können Datasets mit dem Unterbefehl add dataset des Befehls zonecfg zu einer nicht-globalen Zone hinzugefügt werden.
Im folgenden Beispiel wird ein ZFS-Dateisystem durch den Administrator der globalen Zone aus der globalen Zone an eine nicht-globalen Zone delegiert:
# zonecfg -z zion zonecfg:zion> add dataset zonecfg:zion:dataset> set name=tank/zone/zion zonecfg:zion:dataset> end |
Im Gegensatz zum Hinzufügen von Dateisystemen wird durch diese Syntax das ZFS-Dateisystem tank/zone/zion in der bereits konfigurierten Zone zion sichtbar. Der Zonenadministrator kann Dateisystemeigenschaften einstellen und untergeordnete Dateisysteme erstellen. Darüber hinaus kann der Zonenadministrator Snapshots sowie Klone erstellen und die Dateisystemhierarchie auch anderweitig steuern.
Wenn Sie Oracle Solaris Live Upgrade zur Aktualisierung der ZFS-BU mit nicht-globalen Zonen verwenden, sollten Sie vorher jegliche delegierte Datasets entfernen. Andernfalls kann das Oracle Solaris Live Upgrade nicht ausgeführt werden, was auf einen Fehler im Zusammenhang mit dem Schreibschutz des Dateisystems zurückzuführen ist. Beispiel:
zonecfg:zion> zonecfg:zion> remove dataset name=tank/zone/zion zonecfg:zion1> exit |
Weitere Informationen zu zulässigen Aktionen innerhalb von Zonen finden Sie unter Verwalten von ZFS-Eigenschaften innerhalb einer Zone.
ZFS-Volumes können nicht mit dem Unterbefehl add dataset des Befehls zonecfg zu einer nicht-globalen Zone hinzugefügt werden. Mithilfe des Unterbefehls add device des Befehls zonecfg können Zonen jedoch Volumes hinzugefügt werden.
Im folgenden Beispiel wird ein ZFS-Volume durch den Administrator der globalen Zone aus der globalen Zone zu einer nicht-globalen Zone hinzugefügt:
# zonecfg -z zion zion: No such zone configured Use 'create' to begin configuring a new zone. zonecfg:zion> create zonecfg:zion> add device zonecfg:zion:device> set match=/dev/zvol/dsk/tank/vol zonecfg:zion:device> end |
Mit dieser Syntax wird das Volume tank/vol zur Zonezion hinzugefügt. Bitte beachten Sie, dass das Hinzufügen eines Volumes im Raw-Modus auch dann Sicherheitsrisiken in sich birgt, wenn das Volume keinem physischen Datenspeichergerät entspricht. Der Zonenadministrator könnte dadurch insbesondere fehlerhafte Dateisysteme erstellen, die beim Einhängen einen Systemabsturz verursachen. Weitere Informationen zum Hinzufügen von Geräten zu Zonen und den damit verbundenen Sicherheitsrisiken finden Sie unter Informationen zur Eigenschaft zoned.
Weitere Informationen zum Hinzufügen von Geräten zu Zonen finden Sie unter Teil II, Zonen in Systemverwaltungshandbuch: Oracle Solaris Container – Ressourcenverwaltung und Solaris Zones.
ZFS-Speicher-Pools können in Zonen werder erstellt noch geändert werden. Das Modell der delegierten Administration zentralisiert die Verwaltung physischer Datenspeichergeräte in der globalen Zone und die Verwaltung von virtuellem Speicherplatz in den nicht-globalen Zonen. Obwohl Datasets auf Pool-Ebene zu einer Zone hinzugefügt werden können, sind Befehle, die die physischen Eigenschaften eines Pools ändern (z. B. Erstellen, Hinzufügen oder Entfernen von Datenspeichergeräten) innerhalb einer Zone nicht zulässig. Auch wenn physische Datenspeichergeräte mit dem Unterbefehl add device des Befehls zonecfg zu einer Zone hinzugefügt oder Dateien verwendet werden, erlaubt der Befehl zpool kein Erstellen neuer Pools innerhalb der Zone.
Nach dem Delegieren eines Datasets an eine Zone kann der Zonenadministrator bestimmte Dataset-Eigenschaften einstellen. Wenn ein Dataset an eine Zone delegiert wird, sind alle seine übergeordneten Datasets als schreibgeschützte Datasets sichtbar. Das Dataset selbst sowie alle seine untergeordneten Datasets besitzen diesen Schreibschutz jedoch nicht. Betrachten wir zum Beispiel die folgende Konfiguration:
global# zfs list -Ho name tank tank/home tank/data tank/data/matrix tank/data/zion tank/data/zion/home |
Würde tank/data/zion zu einer Zone hinzugefügt, besäße jedes Dataset folgende Eigenschaften.
Dataset |
Sichtbar |
Beschreibbar |
Unveränderbare Eigenschaften |
---|---|---|---|
tank |
Ja |
Nein |
- |
tank/home |
Nein |
- |
- |
tank/data |
Ja |
Nein |
- |
tank/data/matrix |
Nein |
- |
- |
tank/data/zion |
Ja |
Ja |
sharenfs, zoned, quota, reservation |
tank/data/zion/home |
Ja |
Ja |
sharenfs, zoned |
Bitte beachten Sie, dass übergeordnete Datasets von tank/zone/zion schreibgeschützt sichtbar, alle untergeordneten Datasets beschreibbar und nicht zur übergeordneten Hierarchie gehörende Datasets nicht sichtbar sind. Der Zonenadministrator kann die Eigenschaft sharenfs nicht ändern, da nicht-globale Zonen nicht als NFS-Server fungieren können. Der Zonenadministrator kann nicht die Eigenschaft zoned ändern, da dies ein Sicherheitsrisiko (siehe nächster Abschnitt) darstellen würde.
Privilegierte Benutzer in der Zone können jede andere einstellbare Eigenschaft ändern, ausgenommen die Eigenschaften quota und reservation. Durch dieses Verhalten kann der globale Zonenadministrator den Verbrauch von Festplattenkapazität aller Datasets in den nicht-globalen Zonen überwachen.
Außerdem können nach dem Delegieren eines Datasets an eine nicht-globalen Zone die Eigenschaften sharenfs und mountpoint vom globalen Zonenadministrator nicht geändert werden.
Beim Delegieren eines Datasets an eine nicht-globale Zone muss dieses Dataset entsprechend gekennzeichnet werden, sodass bestimmte Eigenschaften nicht im Kontext der globalen Zone interpretiert werden. Nachdem ein Dataset an eine nicht-globalen Zone delegiert wurde und unter der Kontrolle eines Zonenadministrators ist, ist dessen Inhalt nicht mehr vertrauenswürdig. Wie bei anderen Dateisystemen auch können setuid-Binärdateien, symbolische Verknüpfungen oder andere fragwürdige Inhalte auftreten, die sich negativ auf die Sicherheit der globalen Zone auswirken. Darüber hinaus kann die Eigenschaft mountpoint nicht im Kontext der globalen Zone interpretiert werden, da der Zonenadministrator andernfalls den Namensplatz der globalen Zone ändern kann. Zur Lösung des letzteren Problems nutzt ZFS die Eigenschaft zoned, die anzeigt, dass ein Dataset zu einem bestimmten Zeitpunkt an eine nicht-globale Zone delegiert wurde.
Die Eigenschaft zoned ist ein boolescher Wert, der beim Booten einer Zone, die ein ZFS-Dataset enthält, automatisch auf „true” gesetzt wird. Diese Eigenschaft muss vom Zonenadministrator nicht manuell gesetzt werden. Wenn die Eigenschaft zoned gesetzt ist, kann das Dataset in der globalen Zone nicht eingehängt bzw. für den Netzwerkzugriff freigegeben werden. Im folgenden Beispiel wurde tank/zone/zion an eine Zone delegiert und tank/zone/global nicht:
# zfs list -o name,zoned,mountpoint -r tank/zone NAME ZONED MOUNTPOINT tank/zone/global off /tank/zone/global tank/zone/zion on /tank/zone/zion # zfs mount tank/zone/global /tank/zone/global tank/zone/zion /export/zone/zion/root/tank/zone/zion |
Bitte beachten Sie den Unterschied zwischen der Eigenschaft mountpoint und dem Verzeichnis, in das das Dataset tank/zone/zion gegenwärtig eingehängt ist. Die Eigenschaft mountpoint zeigt an, wo das Dataset auf dem Datenträger gespeichert ist, und nicht, wo es gegenwärtig eingehängt ist.
Beim Entfernen eines Datasets aus einer Zone bzw. Löschen einer Zone wird die Eigenschaft zoned nicht automatisch auf „false” zurückgesetzt. Dieses Verhalten resultiert aus den diesen Aufgaben innewohnenden Sicherheitsrisiken. Da ein nicht vertrauenswürdiger Benutzer vollständigen Zugriff auf das Dataset und seine untergeordneten Datasets hatte, kann die Eigenschaft mountpoint auf ungültige Werte gesetzt worden sein oder es können in den Dateisystemen setuid-Binärdateien vorhanden sein.
Zum Vermeiden versehentlicher Sicherheitsrisiken muss die Eigenschaft zoned vom Administrator der globalen Zone manuell zurückgesetzt werden, wenn das betreffende Dataset wiederverwendet werden soll. Bevor Sie die Eigenschaft zoned auf off setzen, müssen Sie sich vergewissern, dass die Eigenschaft mountpoint des Datasets und aller seiner untergeordneten Datasets auf zulässige Werte gesetzt ist und keine setuid-Binärdateien vorhanden sind, oder die Eigenschaft setuid deaktivieren.
Nachdem Sie sich überzeugt haben, dass keine Sicherheitslücken vorhanden sind, können Sie die Eigenschaft zoned mithilfe des Befehls zfs set oder zfs inherit deaktivieren. Wenn die Eigenschaft zoned deaktiviert wird, wenn das betreffende Dataset innerhalb einer Zone verwendet wird, kann das System unvorhersehbar reagieren. Deswegen sollten Sie den Wert dieser Eigenschaft nur dann ändern, wenn Sie sich sicher sind, dass das Dataset nicht mehr von einer nicht-globalen Zone verwendet wird.
Beim Erstellen eines Pools wird dieser inhärent mit dem Host-System verknüpft. Das Host-System verwaltet die Informationen des Pools und erkennt, wenn dieser nicht verfügbar ist. Obwohl für den Normalbetrieb nützlich, können diese Informationen hinderlich sein, wenn Sie das System von einem alternativen Datenträger booten oder ein Pool auf Wechsel-Datenträgern erstellen. Zur Lösung dieses Problems bietet ZFS Speicher-Pools mit alternativem Root-Verzeichnis. Speicher-Pools mit alternativem Root-Verzeichnis gelten nur temporär für einen Systemneustart, und alle Einhängepunkte werden relativ zum neuen Root-Verzeichnis des betreffenden Pools geändert.
Speicher-Pools mit alternativem Root-Verzeichnis werden am häufigsten für Wechsel-Datenträger verwendet. In einem solchen Fall wird ein einziges Dateisystem benötigt, und es soll in jede beliebige Stelle auf dem Zielsystem eingehängt werden können. Wenn mithilfe der Option zpool create -R ein Speicher-Pool mit alternativem Root-Verzeichnis erstellt wird, wird der Einhängepunkt des Root-Dateisystems automatisch auf / gesetzt, was dem Wert des alternativen Root-Verzeichnisses entspricht.
Im folgenden Beispiel wird ein Pool namens morpheus mit /mnt als alternativem Root-Verzeichnis erstellt:
# zpool create -R /mnt morpheus c0t0d0 # zfs list morpheus NAME USED AVAIL REFER MOUNTPOINT morpheus 32.5K 33.5G 8K /mnt |
Bitte beachten Sie das einzige Dateisystem morpheus, dessen Einhängepunkt das alternative Root-Verzeichnis /mnt ist. Der auf Festplatte gespeicherte Einhängepunkt ist /, und der vollständige Pfad zu /mnt wird nur im ursprünglichen Kontext der Pool-Erstellung interpretiert. Dieses Dateisystem kann dann auf einem anderen System unter einem beliebigen Speicher-Pool mit alternativem Root-Verzeichnis exportiert und importiert werden, indem die Syntax -R alternativer Root-Wert verwendet wird.
# zpool export morpheus # zpool import morpheus cannot mount '/': directory is not empty # zpool export morpheus # zpool import -R /mnt morpheus # zfs list morpheus NAME USED AVAIL REFER MOUNTPOINT morpheus 32.5K 33.5G 8K /mnt |
Pools können auch mithilfe eines alternativen Root-Verzeichnisses importiert werden. Dies ist in Situationen bei der Datenwiederherstellung nützlich, wo Einhängepunkte nicht im Kontext des aktuellen Root-Verzeichnisses interpretiert werden sollen, sondern relativ zu einem temporären Verzeichnis, in dem Reparaturen ausgeführt werden können. Diese Funktion kann auch beim Einhängen von Wechseldatenträgern verwendet werden, wie im vorherigen Abschnitt beschrieben ist.
Im folgenden Beispiel wird ein Pool namens morpheus mit /mnt als alternativem Root-Verzeichnis importiert. Es wird vorausgesetzt, dass morpheus vorher exportiert wurde.
# zpool import -R /a pool # zpool list morpheus NAME SIZE ALLOC FREE CAP HEALTH ALTROOT pool 44.8G 78K 44.7G 0% ONLINE /a # zfs list pool NAME USED AVAIL REFER MOUNTPOINT pool 73.5K 44.1G 21K /a/pool |
Wenn Sie ZFS-Verwaltungsaufgaben ohne das Superuser-Benutzerkonto (Root) durchführen wollen, können Sie zum Ausführen von ZFS-Administrationsaufgaben mithilfe der folgenden Profile eine Rolle annehmen:
ZFS-Speicherplatzverwaltung – Berechtigung zum Erstellen, Löschen und Ändern von Datenspeichergeräten in einem ZFS-Speicher-Pool
ZFS-Dateisystemverwaltung – Berechtigung zum Erstellen, Löschen und Ändern von ZFS-Dateisystemen
Weitere Informationen zum Erstellen bzw. Annehmen von Rollen finden Sie im System Administration Guide: Security Services .
Zusätzlich zur Arbeit mit RBAC-Rollen für die Administration von ZFS-Dateisystemen empfiehlt sich der Einsatz der delegierten ZFS-Administration für verteilte ZFS-Verwaltungsaufgaben. Weitere Informationen finden Sie in Kapitel 9Delegierte ZFS-Administration.