Versions Solaris 10 10/09 et Oracle Solaris 10 9/10 : les améliorations apportées aux systèmes de fichiers ZFS sont incluses dans ces versions.
Améliorations des propriétés de flux d'instantané ZFS - Vous pouvez définir une propriété reçue différente de la définition de la propriété locale. Par exemple, vous pouvez recevoir un flux avec la propriété de compression désactivée, mais vous souhaitez que cette propriété soit activée dans le système de fichiers destinataire. Cela signifie que la valeur de compression du flux reçue est définie sur off et que la valeur de compression locale est définie sur on. Étant donné que la valeur locale remplace la valeur reçue, vous ne devez pas définir les paramètres du côté de l'envoi pour qu'ils remplacent la valeur du côté de la réception. La commande zfs get affiche la valeur effective de la propriété de compression sous la colonne VALUE.
Les nouvelles options et propriétés des commandes ZFS prenant en charge les valeurs des propriétés locales et des propriétés d'envoi sont les suivantes :
Utilisez la commande zfs inherit -S pour rétablir la valeurs de propriété locale reçue, le cas échéant. Si une propriété ne reçoit aucune valeur, le comportement de la commande zfs inherit -S est le même que la commande zfs inherit sans l'option -S. Si la propriété ne reçoit aucune valeur, la commande zfs inherit masque la valeur reçue par la valeur héritée jusqu'à ce que l'émission d'une commande zfs inherit -S rétablisse la valeur reçue.
Vous pouvez utiliser la commande zfs get -o pour prendre en compte la nouvelle colonne RECEIVED ajoutée. Vous pouvez également utiliser la commande zfs get -o all pour ajouter toutes les colonnes, y compris la colonne RECEIVED.
Vous pouvez utiliser l'option zfs send -p pour ajouter des propriétés dans le flux d'envoi sans l'option -R.
En outre, vous pouvez utiliser l'option zfs send -e pour utiliser le dernier élément du nom de l'instantané envoyé pour déterminer le nom du nouvel instantané. L'exemple suivant envoie l'instantané poola/bee/cee@1 au système de fichiers poold/eee et utilise uniquement le dernier élément (cee@1) du nom de l'instantané pour créer le système de fichiers et l'instantané reçus.
# zfs list -rt all poola NAME USED AVAIL REFER MOUNTPOINT poola 134K 134G 23K /poola poola/bee 44K 134G 23K /poola/bee poola/bee/cee 21K 134G 21K /poola/bee/cee poola/bee/cee@1 0 - 21K - # zfs send -R poola/bee/cee@1 | zfs receive -e poold/eee # zfs list -rt all poold NAME USED AVAIL REFER MOUNTPOINT poold 134K 134G 23K /poold poold/eee 44K 134G 23K /poold/eee poold/eee/cee 21K 134G 21K /poold/eee/cee poold/eee/cee@1 0 - 21K - |
Définition des propriétés de système de fichiers ZFS lors de la création du pool : vous pouvez définir les propriétés d'un système de fichiers ZFS lors de la création du pool de stockage. Dans l'exemple suivant, la compression est activée sur le système de fichiers ZFS qui est créé lors de la création du pool:
# zpool create -O compression=on pool mirror c0t1d0 c0t2d0 |
Définition des propriétés de cache sur un système de fichiers ZFS : deux nouvelles propriétés de système de fichiers ZFS vous permettent de déterminer quels sont les éléments mis en mémoire cache dans le cache principal (ARC) ou le cache secondaire (L2ARC). Les propriétés du cache sont définies comme suit :
Primarycache : contrôle les éléments qui sont mis en cache dans le cache principal.
Secondarycache : contrôle les éléments qui sont mis en cache dans le cache secondaire.
Les valeurs possibles de ces deux propriétés sont all, none et metadata. Si elles sont définies sur all, les données d'utilisateur et les métadonnées sont mises en cache. Si elle est définie sur none, ni les données d'utilisateur ni les métadonnées ne sont mises en cache. Si elles sont définies sur metadata, seules les métadonnées sont mises en cache. La valeur par défaut est all.
Vous pouvez définir ces propriétés sur un système de fichiers existant ou lors de la création d'un système de fichiers. Exemple :
# zfs set primarycache=metadata tank/datab # zfs create -o primarycache=metadata tank/newdatab |
Lorsque ces propriétés sont définies sur des systèmes de fichiers existants, seule la nouvelle E/S est mise en cache en fonction de la valeur de ces propriétés.
Certains environnements de bases de données pourraient bénéficier de la non-mise en cache des données d'utilisateur. Vous devrez déterminer si la définition des propriétés du cache est appropriée pour votre environnement.
Affichage des propriétés de comptabilisation d'espace : de nouvelles propriétés de système de fichiers en lecture seule vous aident à identifier l'utilisation de l'espace disque pour les clones, les systèmes de fichiers et les volumes, mais pas les instantanés. Les propriétés sont les suivantes :
usedbychildren : affiche l'espace disque occupé par les niveaux enfant de ce jeu de données. Ce dernier peut être libéré si tous les niveaux enfants du jeu de données sont détruits. L'abréviation de la propriété est usedchild.
usedbydataset : affiche l'espace disque occupé par le jeu de données, lors de la première destruction d'un instantané ou de la suppression d'une propriété refreservation. Cet espace peut être libéré si le jeu de données est détruit. L'abréviation de la propriété est usedds.
usedbyrefreservation : affiche l'espace disque occupé par le jeu refreservation de ce jeu de données. Cet espace peut être libéré si le jeu refreservation est supprimé. L'abréviation de la propriété est usedrefreserv.
Usedbysnapshots : affiche l'espace disque occupé par les instantanés de ce jeu de données. Cet espace peut être libéré si l'ensemble des instantanés de ce jeu de données est détruit. Notez qu'il ne s'agit pas de la somme des propriétés used des instantanés, car l'espace disque peut être partagé par plusieurs instantanés. L'abréviation de la propriété est usedsnap.
Ces nouvelles propriétés divisent la valeur de la propriété used dans les divers éléments qui utilisent de l'espace disque. En particulier, la valeur de la propriété used est divisée comme suit :
used property = usedbychildren + usedbydataset + usedbyrefreservation + usedbysnapshots |
Vous pouvez visualiser ces propriétés à l'aide de la commande zfs list -o space. Exemple :
$ zfs list -o space NAME AVAIL USED USEDSNAP USEDDS USEDREFRESERV USEDCHILD rpool 25.4G 7.79G 0 64K 0 7.79G rpool/ROOT 25.4G 6.29G 0 18K 0 6.29G rpool/ROOT/snv_98 25.4G 6.29G 0 6.29G 0 0 rpool/dump 25.4G 1.00G 0 1.00G 0 0 rpool/export 25.4G 38K 0 20K 0 18K rpool/export/home 25.4G 18K 0 18K 0 0 rpool/swap 25.8G 512M 0 111M 401M 0 |
La commande précédente est équivalente à la commande zfs list - o name,avail,used,usedsnap,usedds,usedrefreserv,usedchild -t filesystem,volume.
Liste d'instantanés– La propriété de pool listsnapshots vérifie si les informations sur les instantanés sont affichées par la commande zfs list. La valeur par défaut est on, ce qui signifie que les informations sur les instantanés sont affichées par défaut.
Si votre système contient un nombre important d'instantanés ZFS et que vous souhaitez désactiver l'affichage des informations concernant les instantanés dans la commande zfs list, désactivez la propriété listsnapshots comme suit :
# zpool get listsnapshots pool NAME PROPERTY VALUE SOURCE pool listsnapshots on default # zpool set listsnaps=off pool |
Si vous désactivez la propriété listsnapshots, vous pouvez utiliser la commande zfs list -t snapshots pour afficher les informations sur l'instantané. Exemple :
# zfs list -t snapshot NAME USED AVAIL REFER MOUNTPOINT pool/home@today 16K - 22K - pool/home/user1@today 0 - 18K - pool/home/user2@today 0 - 18K - pool/home/user3@today 0 - 18K - |