In diesem Abschnitt finden Sie eine Beschreibung der neuen ZFS-Leistungsmerkmale in Solaris Express Developer Edition 5/07.
Rekursive Umbenennung von ZFS-Snapshots: Mit dem Befehl zfs rename -r können Sie alle untergeordneten ZFS-Snapshots umbenennen.
Erstellen Sie z. B. einen Snapshot von einer Reihe von ZFS-Dateisystemen mit dem Namen users/home@today. Nennen Sie dann alle Snapshots am nächsten Tag mit einem Befehl um: users/home/@yesterday .
Snapshots sind die einzigsten Daten, die rekursiv umbenannt werden können.
GZIP-Komprimierung ist verfügbar: Neben lzjb-Komprimierung ist für ZFS-Dateisysteme auch gzip-Komprimierung verfügbar. Sie können festlegen, dass die Komprimierung vom Typ gzip (Standardeinstellung) sein soll oder vom Typ gzip-N, wobei N den Wert 1 bis 9 haben kann. Beispiel:
# zfs create -o compression=gzip users/home/snapshots # zfs get compression users/home/snapshots NAME PROPERTY VALUE SOURCE users/home/snapshots compression gzip local # zfs create -o compression=gzip-9 users/home/oldfiles # zfs get compression users/home/oldfiles NAME PROPERTY VALUE SOURCE users/home/oldfiles compression gzip-9 local |
Speichern mehrerer Kopien von ZFS-Benutzerdaten: Die Metadaten von ZFS-Dateisystemen werden mehrmals automatisch auf verschiedenen Laufwerken gespeichert, sofern dies möglich ist — ein durchaus zuverlässiges Leistungsmerkmal. Dies wird als ditto blocks bezeichnet.
Ab dieser Version können Sie über den Befehl zfs set copies festlegen, dass mehrere Kopien der Benutzerdaten auch pro Dateisystem gespeichert werden sollen. Beispiel:
# zfs set copies=2 users/home # zfs get copies users/home NAME PROPERTY VALUE SOURCE users/home copies 2 local |
Verfügbare Werte sind 1, 2 oder 3. Der Standardwert ist 1. Diese Kopien werden zusätzlich zu den von Redundanzfunktionen (Datenspiegelung bzw. RAID-Z) auf Pool-Ebene angelegten Sicherungskopien erstellt.
Die Speicherung mehrerer Kopien von ZFS-Benutzerdaten bringt die folgenden Vorteile mit sich:
Verbesserte Datenaufbewahrung, da für alle ZFS-Konfigurationen die Wiederherstellung von nicht wiederherstellbaren Blocklesefehlern zugelassen wird, z. B. Datenträgerfehler (bit rot)
Bietet Schutz der Daten auch wenn nur ein Laufwerk verfügbar ist
Ermöglicht die Auswahl von Datenschutzrichtlinien auf Dateisystembasis jenseits der Grenzen des Speicherpools
Verbesserte Statusinformationen des Speicherpools ( zpool status): Mit dem Befehl zpool status - v können Sie eine Liste der Dateien mit beständigen Fehlern anzeigen. Bisher mussten die Dateinamen mit Hilfe des Befehls find -inum anhand der Liste der angezeigten Knoten ermittelt werden.
Verbesserungen des gemeinsamen ZFS-Dateisystems: Der Prozess der gemeinsamen Nutzung der Dateisysteme wurde verbessert. Für die gemeinsame Nutzung von ZFS-Dateisystemen ist eine Änderung von Systemkonfigurationsdateien wie z. B. /etc/dfs/dfstab zwar nicht erforderlich, gemeinsame ZFS-Eigenschaften können jedoch über den Befehl sharemgr verwaltet werden. Mit Hilfe des Befehls sharemgr können Sie Eigenschaften für gemeinsam genutzte Gruppen festlegen und verwalten. Die gemeinsame Nutzung von ZFS-Dateisystemen wird in der gemeinsam genutzten Gruppe zfs automatisch gekennzeichnet.
Wie in der vorherigen Version können Sie in einem ZFS-Dateisystem über die ZFS-Eigenschaft sharenfs die gemeinsame Nutzung des Dateisystems festlegen. Beispiel:
# zfs set sharenfs=on tank/home |
Oder Sie verwenden den neuen sharemgr-Unterbefehl add-share, um die gemeinsame Nutzung eines ZFS-Dateisystems in der gemeinsam genutzten zfs-Gruppe festzulegen. Beispiel:
# sharemgr add-share -s tank/data zfs # sharemgr show -vp zfs zfs nfs=() zfs/tank/data /tank/data /tank/data/1 /tank/data/2 /tank/data/3 |
Die Verwaltung der gemeinsamen ZSF-Nutzung ist dann über den Befehl sharemgr möglich. Das folgende Beispiel verdeutlicht, wie Sie in den gemeinsam genutzten ZFS-Dateisystemen mit Hilfe von sharemgr die Eigenschaft nosuid festlegen können. Gemeinsam genutzte ZFS-Pfade müssen mit dem Präfix /zfs gekennzeichnet werden.
# sharemgr set -P nfs -p nosuid=true zfs/tank/data # sharemgr show -vp zfs zfs nfs=() zfs/tank/data nfs=(nosuid="true") /tank/data /tank/data/1 /tank/data/2 /tank/data/3 |
Verbesserungen von ZFS und Solaris iSCSI: Durch Setzen der Eigenschaft shareiscsi im ZFS-Volume können Sie ein ZFS-Volume als ein Solaris iSCSI-Zielgerät erstellen. Mithilfe dieses Verfahrens können Solaris iSCSI-Zielgeräte schnell eingerichtet werden. 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 zum Einrichten eines Solaris iSCSI-Initiators finden Sie in Chapter 14, Configuring Solaris iSCSI Targets and Initiators (Tasks), in System Administration Guide: Devices and File Systems .
Weitere Informationen zum Verwalten eines ZFS-Volume als iSCSI-Ziel finden Sie im ZFS-Administrationshandbuch.
Verbesserungen der ZFS-Eigenschaften
ZFS-Eigenschaft xattr: Mit der Eigenschaft xattr können Sie für ein bestimmtes ZFS-Dateisystem erweiterte Attribute deaktivieren oder aktivieren. Standardmäßig sind sie aktiviert.
ZFS-Eigenschaft canmount: Über die Eigenschaft canmount legen Sie fest, ob ein Datensatz über den Befehl zfs mount eingliederbar sein soll.
ZFS-Benutzereigenschaften: ZFS unterstützt neben den nativen Standardeigenschaften Benutzeigenschaften, über die entweder interne Statistiken exportiert oder das Verhalten von ZFS-Dateisystemen gesteuert werden kann. 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.
Setzen von Eigenschaften beim Erstellen von ZFS-Dateisystemen: Neben dem Setzen von Eigenschaften nach der Erstellung eines Dateisystems können Sie die Eigenschaften auch beim Erstellen eines Dateisystems festlegen.
Die folgenden Beispiele zeigen die entsprechende Syntax:
# zfs create tank/home # zfs set mountpoint=/export/zfs tank/home # zfs set sharenfs=on tank/home # zfs set compression=on tank/home |
# zfs create -o mountpoint=/export/zfs -o sharenfs=on -o compression=on tank/home |
Anzeigen aller Informationen des ZFS-Dateisystems: Um für den Fall, dass kein spezieller Datensatz angegeben ist, die Informationen aller Datensätze anzuzeigen, stehen verschiedene Formen des Befehls zfs get zur Verfügung. Bisher war es nicht möglich, mit dem Befehl zfs get Informationen aller Datensätze anzuzeigen. Beispiel:
# zfs get -s local all tank/home atime off local tank/home/bonwick atime off local tank/home/marks quota 50G local |
Neue ZFS-Empfangsoption -F: Sie können nun die neue Option -F für den Befehl zfs receive verwenden, um das Dateisystem vor dem Empfang auf den letzten Snapshot zurückzusetzen. Die Verwendung dieser Option kann erforderlich werden, wenn das Dateisystem zwischen dem Zeitpunkt des Rollbacks und des Beginns der receive-Operation geändert wurde.
Rekursive ZFS-Snapshots: Es sind rekursive Snapshots verfügbar. Wenn Sie zum Erstellen eines Dateisystem-Snapshot den Befehl zfs snapshot verwenden, können Sie durch die Verwendung der Option -r erreichen, dass für alle untergeordneten Dateisysteme rekursiv Snapshots erstellt werden. Darüber hinaus werden durch Verwendung der Option -r beim Löschen von Snapshots rekursiv auch alle untergeordneten Snapshots gelöscht.
Weitere Informationen zu diesen Verbesserungen finden Sie im ZFS-Administrationshandbuch.