In diesem Abschnitt finden Sie eine Beschreibung der neuen ZFS-Leistungsmerkmale in Solaris Express Developer Edition 9/07.
Erweiterungen des ZFS-Befehlsprotokolls (zpool history) – Der Befehl zpool history wurde um neue Optionen erweitert. Dazu gehören Ereignisprotokollierung für ZFS-Dateisysteme und ein Langformat mit Benutzername, Hostname und Zone, in der das betreffende Ereignis auftrat.
So stellt die Option zpool history -i beispielsweise die Befehlsereignisse zpool und zfs bereit.
# zpool history -i users History for 'users': 2007-04-26.12:44:02 zpool create users mirror c0t8d0 c0t9d0 c0t10d0 2007-04-26.12:46:13 zfs create users/home 2007-04-26.12:46:18 zfs create users/home/markm 2007-04-26.12:46:23 zfs create users/home/marks 2007-04-26.12:46:30 zfs create users/home/neil 2007-04-26.12:47:15 zfs snapshot -r users/home@yesterday 2007-04-26.12:54:50 zfs snapshot -r users/home@today 2007-04-26.13:29:13 zfs create users/snapshots |
Die Option zpool history -l gibt das Langformat aus. Beispiel:
# zpool history -l tank History for 'tank': 2007-07-19.10:55:13 zpool create tank mirror c0t1d0 c0t11d0 [user root on neo:global] 2007-07-19.10:55:19 zfs create tank/cindys [user root on neo:global] 2007-07-19.10:55:49 zfs allow cindys create,destroy,mount,snapshot tank/cindys [user root on neo:global] 2007-07-19.10:56:24 zfs create tank/cindys/data [user cindys on neo:global] |
Weitere Informationen finden Sie in der Manpage zpool(1M).
Upgrade von ZFS-Dateisystemen (zfs upgrade) – Ab dieser Version ist der Befehl zfs upgrade vorhanden, der für vorhandene ZFS-Dateisysteme zukünftige Funktionalitätserweiterungen verfügbar macht. ZFS-Speicherpools besitzen eine ähnliche Upgrade-Funktion, um vorhandene Speicherpools um neue Funktionalität zu erweitern.
Beispiel:
# zfs upgrade This system is currently running ZFS filesystem version 2. The following filesystems are out of date, and can be upgraded. After being upgraded, these filesystems (and any 'zfs send' streams generated from subsequent snapshots) will no longer be accessible by older software versions. VER FILESYSTEM --- ------------ 1 datab 1 datab/users 1 datab/users/area51 |
In dieser Version werden jedoch keine neuen Leistungsmerkmale für das Upgrade von ZFS-Dateisystemen eingeführt.
Delegierte ZFS-Administration – Ab dieser Version können Sie fein abgestimmte Zugriffsrechte an Benutzer ohne entsprechene Zugriffsrechte delegieren, damit diese ZFS-Administrationsaufgaben ausführen können. Zum Gewähren und Verweigern von Zugriffsrechten dienen die Befehle zfs allow und zfs unallow.
Das folgende Beispiel zeigt, wie Sie Zugriffsrechte setzen können, sodass der Benutzer cindys Snapshots am Dateisystem tank/cindys erstellen, löschen und einhängen kann. Darüber hinaus werden die Zugriffsrechte des Dateisystems tank/cindys angezeigt.
# zfs allow cindys create,destroy,mount,snapshot tank/cindys # zfs allow tank/cindys ------------------------------------------------------------- Local+Descendent permissions on (tank/cindys) user cindys create,destroy,mount,snapshot ------------------------------------------------------------- |
Da das Zugriffsrecht des Einhängepunktes von tank/cindys standardmäßig auf 755 gesetzt ist, kann der Benutzer cindys unter tank/cindys keine Dateisysteme einhängen. Damit der betreffende Benutzer Dateisysteme dort einhängen kann, müssen Sie eine Zugriffssteuerungsliste wie die folgende setzen.
# chmod A+user:cindys:add_subdirectory:allow /tank/cindys |
Mit der Speicherpool-Eigenschaft delegation kann die delegierte ZFS-Administration aktiviert und deaktiviert werden. Beispiel:
# zpool get delegation users NAME PROPERTY VALUE SOURCE users delegation on default # zpool set delegation=off users # zpool get delegation users NAME PROPERTY VALUE SOURCE users delegation off local |
Standardmäßig ist die Eigenschaft delegation aktiviert.
Weitere Informationen finden Sie in Kapitel 8, Delegierte ZFS-Administration, im ZFS-Administrationshandbuch.
Einrichten getrennter ZFS-Protokollgeräte – Das ZFS Intent Log (ZIL) erfüllt POSIX-Voraussetzungen für synchrone Transaktionen. So setzen Datenbanken bei der Rückkehr von Systemaufrufen beispielsweise oft voraus, dass Transaktionen auf stabilen Speichergeräten stattfinden. NFS und andere Anwendungen können zur Gewährleistung der Datenstabilität ebenfalls fsync() verwenden. Standardmäßig wird das ZIL aus Blöcken innerhalb des Hauptspeicherpools zugewiesen. Durch Verwendung getrennter Intent-Protokolliergeräte im ZFS-Speicherpool wie z. B. NVRAM oder eine speziell dafür vorgesehene Festplatte kann jedoch eine höhere Leistung erreicht werden.
Protokolliergeräte für das Intent-Protokoll von ZFS sind etwas Anderes als Datenbankprotokolldateien.
Sie können getrennte ZFS-Protokolliergeräte wie folgt einrichten:
während oder nach dem Erstellen eines ZFS-Speicherpools
Sie können zur Datenspiegelung an ein vorhandenes Protokolliergerät ein weiteres Protokolliergerät anschließen. Dies entspricht dem Verbinden eines Speichergeräts in einem Speicherpool ohne Datenspiegelung.
Beispiele zum Einrichten von Protokolliergeräten finden Sie unter·Erstellen eines ZFS-Speicherpools mit Protokolliergeräten im ZFS-Administrationshandbuch und unter Hinzufügen von Speichergeräten zu einem Speicherpool im ZFS-Administrationshandbuch.
Informationen darüber, ob sich Ihre Systemumgebung für den Einsatz von ZFS-Protokolliergeräten eignet, finden Sie unter Einrichten getrennter ZFS-Protokolliergeräte im ZFS-Administrationshandbuch.
Erstellen intermediärer ZFS-Datasets – Durch Verwendung der Option -p mit den Befehlen zfs create, zfs clone und zfs rename können Sie schnell einen intermediären Dataset erstellen, falls er noch nicht vorhanden ist.
So können Sie beispielsweise ZFS-Datasets (users/area51) im Speicherpool datab erstellen.
# zfs list NAME USED AVAIL REFER MOUNTPOINT datab 106K 16.5G 18K /datab # zfs create -p -o compression=on datab/users/area51 |
Wenn während des Erstellungsvorgangs bereits ein intermediärer Dataset vorhanden ist, wird er ohne Fehlermeldung abgeschlossen.
Angegebene Eigenschaften gelten für den Ziel-Dataset und nicht für die intermediären Datasets. Beispiel:
# zfs get mountpoint,compression datab/users/area51 NAME PROPERTY VALUE SOURCE datab/users/area51 mountpoint /datab/users/area51 default datab/users/area51 compression on local |
Es wird ein intermediärer Dataset mit Standard-Einhängepunkt erstellt. Alle zusätzlichen Eigenschaften werden für diesen intermediären Dataset deaktiviert. Beispiel:
# zfs get mountpoint,compression datab/users NAME PROPERTY VALUE SOURCE datab/users mountpoint /datab/users default datab/users compression off default |
Weitere Informationen finden Sie in der Manpage zfs(1M).
Erweiterungen für das ZFS-Hotplugging – Ab dieser Version reagiert ZFS besser auf das Entfernen von Speichergeräten. Mit den folgenden Erweiterungen erkennt·ZFS jetzt hinzugefügte Speichergeräte auch automatisch:
Sie können ein Speichergerät durch ein anderes auswechseln, ohne dafür den Befehl zpool replace eingeben zu müssen.
Die Eigenschaft autoreplace legt die Charakteristika des automatischen Erkennens ausgewechselter Geräte fest. Wenn diese Eigenschaft auf „off“ gesetzt ist, muss das Auswechseln von Speichergeräten vom Administrator mithilfe des Befehls zpool replace initiiert werden. Wenn diese Eigenschaft auf „on“ gesetzt ist, wird das neue Speichergerät an der physischen Adresse des vorherigen Speichergeräts im Pool automatisch formatiert und in das Pool eingebunden. Der Standardwert für die Eigenschaft autoreplace ist „off“.
Für die physische Entfernung eines Speichergeräts bzw. Hot-Spares bei laufendem System gibt es jetzt den Speicherpoolstatus REMOVED. Falls verfügbar, wird ein Hot-Spare für das entfernte Speichergerät in das Pool eingebunden.
Wenn ein Speichergerät entfernt und danach wieder eingesetzt wird, wird es online geschaltet. Wenn für das entfernte Speichergerät ein Hot-Spare eingebunden wurde, wird dieses bei Abschluss der Online-Schaltung wieder entfernt.
Das automatische Erkennen entfernter und hinzugefügter Speichergeräte ist hardwareabhängig und wird nicht von allen Plattformen unterstützt.
Hot-Spares werden regelmäßig überprüft, um sicherzustellen, dass sie online und verfügbar sind.
Weitere Informationen finden Sie in der Manpage zpool(1M).
Weitere Informationen zu Erweiterungen am ZFS-Dateisystem finden Sie im ZFS-Administrationshandbuch.