Cette section décrit les nouvelles fonctions ZFS de la version 5/07 de Solaris Express Édition Developer.
Renommage récursif des instantanés ZFS – Il est possible de renommer, de façon récursive, tous les descendants des instantanés ZFS au moyen de la commande zfs rename -r.
Prenez, par exemple, un instantané d'un jeu de systèmes de fichiers ZFS appelé utilisateurs/domicile@cejour. Renommez ensuite tous les instantanés en une seule opération le jour suivant, de la façon suivante : utilisateurs/domicile/@hier.
Les instantanés sont le seul jeu de données qu'il est possible de renommer de façon récursive.
Compression GZIP – En plus du mode de compression lzjb, vous pouvez appliquer le mode de compression gzip à tous les systèmes de fichiers ZFS. Vous pouvez spécifier la compression gzip (format par défaut) ou gzip-N où N correspond à un chiffre entre 1 et 9. Par exemple :
# 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 |
Stockage de plusieurs copies des données utilisateur ZFS – Par mesure de sécurité, les métadonnées du système de fichiers ZFS sont automatiquement enregistrées plusieurs fois sur différents disques, si cela est possible. Cette fonction est connue sous le terme anglais de ditto blocks.
Désormais, à partir de cette version, vous pouvez également demander à stocker plusieurs copies des données utilisateur par système de fichiers à l'aide de la commande zfs set copies. Par exemple :
# zfs set copies=2 users/home # zfs get copies users/home NAME PROPERTY VALUE SOURCE users/home copies 2 local |
Les valeurs disponibles sont 1, 2 et 3. La valeur par défaut est 1. Ces copies constituent un ajout à toute redondance de niveau pool, par exemple dans une configuration en miroir ou RAID-Z.
Stocker plusieurs copies des données utilisateur ZFS présente les avantages suivants :
Cela améliore la rétention des données en autorisant leur récupération à partir d'erreurs de lecture de blocs irrécupérables, comme par exemple des défaillances de média pour l'ensemble des configurations ZFS.
Cela garantit la sécurité des données même si un seul disque est disponible.
Cela permet de choisir les stratégies de protection des données par système de fichiers et de dépasser les capacités du pool de stockage.
Amélioration des informations relatives au statut du pool de stockage (zpool status) : la commande zpool status- v permet d'afficher la liste des fichiers comportant des erreurs persistantes. Auparavant, il était nécessaire d'exécuter la commande find -inum pour identifier les noms de fichiers à partir de la liste des inodes affichés.
Amélioration du partage des systèmes de fichiers ZFS – Le processus de partage des systèmes de fichiers a été amélioré. Bien qu'il soit inutile de modifier les fichiers de configuration du système, tels que /etc/dfs/dfstab, pour partager des systèmes de fichiers ZFS, il peut être intéressant d'exécuter la commande sharemgr pour gérer les propriétés de partage ZFS. La commande sharemgr permet de définir et de gérer les propriétés de partage relatives aux groupes de partages. Les partages ZFS sont automatiquement désignés dans le groupe de partages zfs.
Comme dans les versions précédentes, vous pouvez appliquer la propriété ZFS sharenfs à un système de fichiers ZFS pour le partager. Par exemple :
# zfs set sharenfs=on tank/home |
Vous pouvez également faire appel à la nouvelle sous-commande sharemgr add-share pour partager un système de fichiers ZFS dans le groupe de partage zfs. Par exemple :
# 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 |
Vous pouvez ensuite utiliser la commande sharemgr pour gérer les partages ZFS. L'exemple suivant montre comment définir la propriété nosuid sur les systèmes de fichiers ZFS à l'aide de la commande sharemgr. Vous devez faire précéder les chemins de partage ZFS par la désignation /zfs.
# 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 |
Améliorations ZFS et Solaris iSCSI – Vous avez la possibilité de créer un volume ZFS en tant que périphérique cible Solaris iSCSI en appliquant la propriété shareiscsi au volume ZFS. Cette méthode est très pratique pour configurer rapidement une cible Solaris iSCSI. Par exemple :
# 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 |
Une fois la cible iSCSI créée, il convient de définir l'initiateur iSCSI. Pour obtenir des informations sur la configuration d'un initiateur iSCSI Solaris, reportez-vous au Chapter 14, Configuring Solaris iSCSI Targets and Initiators (Tasks), du System Administration Guide: Devices and File Systems.
Pour de plus amples informations sur la gestion d'un volume ZFS en tant que cible iSCSI, reportez-vous au ZFS Administration Guide.
Améliorations de la propriété ZFS
Propriété xattr ZFS : la propriété xattr permet de désactiver ou d'activer les attributs étendus d'un système de fichiers ZFS spécifique. La valeur par défaut est activée.
Propriété ZFS canmount – La propriété canmount permet de préciser si le jeu de données peut être monté à l'aide de la commande zfs mount.
Propriétés utilisateur ZFS – ZFS prend en charge les propriétés utilisateur, en plus des propriétés natives standard permettant d'exporter des statistiques internes ou de contrôler le comportement du système de fichiers ZFS. Les propriétés utilisateur n'ont aucune incidence sur le comportement ZFS, mais vous pouvez vous en servir pour annoter des jeux de données en veillant à ce que ces annotations soient significatives pour votre environnement.
Configuration des propriétés lors de la création de systèmes de fichiers ZFS– Vous pouvez définir des propriétés non seulement après avoir créé un système de fichiers, mais aussi pendant sa création.
Les exemples suivants illustrent une syntaxe équivalente :
# 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 |
Affichage de l'intégrité des informations des systèmes de fichiers ZFS – Vous pouvez utiliser diverses formes de la commande zfs get pour obtenir des informations sur tous les jeux de données, si vous omettez d'en indiquer un en particulier. Dans les versions précédentes, il n'était pas possible de récupérer les informations relatives à tous les jeux de données avec la commande zfs get. Par exemple :
# zfs get -s local all tank/home atime off local tank/home/bonwick atime off local tank/home/marks quota 50G local |
Nouvelle option zfs receive -F – Vous pouvez tirer parti de la nouvelle option -F de la commande zfs receive pour restaurer le dernier instantané du système de fichiers avant de procéder à la réception. Il peut être utile de faire appel à cette option en cas de modification du système de fichiers entre le moment où la restauration se produit et le moment où la réception commence.
Instantanés ZFS récursifs – Les instantanés récursifs sont disponibles. Lors de la création d'un instantané de système de fichiers à l'aide de la commande zfs snapshot, vous pouvez créer récursivement des instantanés pour tous les systèmes de fichiers descendants en spécifiant l'option -r. L'option -r permet en outre de détruire récursivement tous les instantanés descendants lors de la destruction d'un instantané.
Pour de plus amples informations sur ces améliorations, reportez-vous au ZFS Administration Guide.