Guide d'administration Oracle Solaris ZFS

Chapitre 6 Gestion des systèmes de fichiers Oracle Solaris ZFS

Ce chapitre contient des informations détaillées sur la gestion des systèmes de fichiers ZFS Oracle Solaris. Il aborde notamment les concepts d'organisation hiérarchique des systèmes de fichiers, d'héritage des propriétés, de gestion automatique des points de montage et d'interaction sur les partages.

Il contient les sections suivantes :

Gestion des systèmes de fichiers ZFS (présentation)

La création d'un système de fichiers ZFS s'effectue sur un pool de stockage. La création et la destruction des systèmes de fichiers peuvent s'effectuer de manière dynamique, sans allocation ni formatage manuels de l'espace disque sous-jacent. En raison de leur légèreté et de leur rôle central dans l'administration du système ZFS, la création de ces systèmes de fichiers constitue généralement une opération extrêmement courante.

La gestion des systèmes de fichiers ZFS s'effectue à l'aide de la commande zfs. La commande zfs offre un ensemble de sous-commandes permettant d'effectuer des opérations spécifiques sur les systèmes de fichiers. Chacune de ces sous-commandes est décrite en détail dans ce chapitre. Cette commande permet également de gérer les instantanés, les volumes et les clones. Toutefois, ces fonctionnalités sont uniquement traitées de manière succincte dans ce chapitre. Pour plus d'informations sur les instantanés et les clones, reportez-vous au Chapitre 7Utilisation des instantanés et des clones ZFS Oracle Solaris. Pour de plus amples informations sur les volumes ZFS, reportez-vous à la section Volumes ZFS.


Remarque –

Dans ce chapitre, le terme jeu de données désigne de manière générique un système de fichiers, un instantané, un clone ou un volume.


Création, destruction et renommage de systèmes de fichiers ZFS

La création et la destruction des systèmes de fichiers ZFS s'effectuent respectivement à l'aide des commandes zfs create et zfs destroy. Vous pouvez renommer les systèmes de fichiers ZFS en utilisant la commande zfs rename.

Création d'un système de fichiers ZFS

La création des systèmes de fichiers ZFS s'effectue à l'aide de la commande zfs create. La sous-commande create ne peut contenir qu'un argument : le nom du système de fichiers à créer. Le nom de ce système de fichiers permet également de définir le nom du chemin par rapport au nom du pool, comme suit :

nom-pool/[nom-système-fichiers/]nom-système-fichiers

Le nom du pool et les noms des systèmes de fichiers existants mentionnés dans le chemin déterminent l'emplacement du nouveau système de fichiers dans la structure hiérarchique. Le dernier nom mentionné dans le chemin correspond au nom du système de fichiers à créer. Ce nom doit respecter les conventions d'attribution de nom définies à la section Exigences d'attribution de noms de composants ZFS.

Dans l'exemple suivant, un système de fichiers nommé bonwick est créé dans le système de fichiers tank/home.


# zfs create tank/home/bonwick

Si le processus de création se déroule correctement, le système de fichiers ZFS est automatiquement monté. Par défaut, les systèmes de fichiers sont montés sous /jeu-données, à l'aide du chemin défini pour le nom du système dans la commande create. Dans cet exemple, le système de fichiers bonwick créé est monté sous /tank/home/bonwick. Pour plus d'informations sur les points de montage gérés automatiquement, reportez-vous à la section Gestion des points de montage ZFS.

Pour plus d'informations sur la commande zfs create, reportez-vous à la page de manuel zfs(1M).

Il est possible de définir les propriétés du système de fichiers lors de la création de ce dernier.

Dans l'exemple ci-dessous, le point de montage /export/zfs est créé pour le système de fichiers tank/home :


# zfs create -o mountpoint=/export/zfs tank/home

Pour plus d'informations sur les propriétés des systèmes de fichiers, reportez-vous à la section Présentation des propriétés ZFS.

Destruction d'un système de fichiers ZFS

La destruction d'un système de fichiers ZFS s'effectue à l'aide de la commande zfs destroy. Les systèmes de fichiers détruits sont automatiquement démontés et ne sont plus partagés. Pour plus d'informations sur les montages ou partages gérés automatiquement, reportez-vous à la section Points de montage automatiques.

L'exemple suivant illustre la destruction du système de fichiers tabriz :


# zfs destroy tank/home/tabriz

Attention – Attention –

Aucune invite de confirmation ne s'affiche lors de l'exécution de la sous-commande destroy. Son utilisation requiert une attention particulière.


Si le système de fichiers à détruire est occupé et ne peut pas être démonté, la commande zfs destroy échoue. Pour détruire un système de fichiers actif, indiquez l'option -f. L'utilisation de cette option requiert une attention particulière. En effet, elle permet de démonter, d'annuler le partage et de détruire des systèmes de fichiers actifs, ce qui risque d'affecter le comportement de certaines applications.


# zfs destroy tank/home/ahrens
cannot unmount 'tank/home/ahrens': Device busy

# zfs destroy -f tank/home/ahrens

La commande zfs destroy échoue également si le système de fichiers possède des descendants. Pour détruire un système de fichiers et l'ensemble des descendants de ce système de fichiers, indiquez l'option -r. Ce type d'opération de destruction récursive entraîne également la destruction des instantanés ; l'utilisation de cette option requiert donc une attention particulière.


# zfs destroy tank/ws
cannot destroy 'tank/ws': filesystem has children
use '-r' to destroy the following datasets:
tank/ws/billm
tank/ws/bonwick
tank/ws/maybee

# zfs destroy -r tank/ws

Si le système de fichiers à détruire possède des systèmes indirectement dépendants, même la commande de destruction récursive échoue. Pour forcer la destruction de tous systèmes dépendants, y compris des systèmes de fichiers clonés situés en dehors de la structure hiérarchique cible, vous devez indiquer l'option -R. Utilisez cette option avec précaution.


# zfs destroy -r tank/home/schrock
cannot destroy 'tank/home/schrock': filesystem has dependent clones
use '-R' to destroy the following datasets:
tank/clones/schrock-clone

# zfs destroy -R tank/home/schrock

Attention – Attention –

Aucune invite de confirmation ne s'affiche lors de l'utilisation des options -f, - r ou -R avec la commande zfs destroy. L'utilisation de ces options requiert donc une attention particulière.


Pour plus d'informations sur les instantanés et les clones, reportez-vous au Chapitre 7Utilisation des instantanés et des clones ZFS Oracle Solaris.

Modification du nom d'un système de fichiers ZFS

La modification du nom d'un système de fichiers ZFS s'effectue à l'aide de la commande zfs rename. La commande rename permet d'effectuer les opérations suivantes :

L'exemple suivant utilise la sous-commande rename pour renommer le système de fichiers kustarz en kustarz_old  :


# zfs rename tank/home/kustarz tank/home/kustarz_old

L'exemple ci-dessous illustre la modification de l'emplacement d'un système de fichiers à l'aide de la sous-commande zfs rename :


# zfs rename tank/home/maybee tank/ws/maybee

Dans cet exemple, le système de fichiers maybee est déplacé de tank/home vers tank/ws. Lorsque vous modifiez l'emplacement d'un système de fichiers à l'aide de la commande rename, le nouvel emplacement doit se trouver au sein du même pool et l'espace disque disponible doit être suffisant pour contenir le nouveau système de fichiers. Si l'espace disque disponible du nouvel emplacement est insuffisant, par exemple si le quota d'espace disque est atteint, l'opération rename échoue.

Pour plus d'informations sur les quotas, reportez-vous à la section Définition des quotas et réservations ZFS.

L'opération rename tente de démonter, puis de remonter le système de fichiers ainsi que ses éventuels systèmes de fichiers descendants. Si la commande rename ne parvient pas à démonter un système de fichiers actif, l'opération échoue. Si ce problème survient, vous devez forcer le démontage du système de fichiers.

Pour plus d'informations sur la modification du nom des instantanés, reportez-vous à la section Renommage d'instantanés ZFS.

Présentation des propriétés ZFS

Les propriétés constituent le mécanisme principal de contrôle du comportement des systèmes de fichiers, des volumes, des instantanés et des clones. Sauf mention contraire, les propriétés définies dans cette section s'appliquent à tous les types de jeu de données.

Les propriétés se divisent en deux catégories : les propriétés natives et les propriétés définies par l'utilisateur. Les propriétés natives permettent d'exporter des statistiques internes ou de contrôler le comportement des systèmes de fichiers ZFS. Certaines de ces propriétés peuvent être définies tandis que d'autres sont en lecture seule. Les propriétés définies par l'utilisateur n'ont aucune incidence sur le comportement des systèmes de fichiers ZFS. En revanche, elles permettent d'annoter les jeux de données avec des informations adaptées à votre environnement. Pour plus d'informations sur les propriétés définies par l'utilisateur, reportez-vous à la section Propriétés ZFS définies par l'utilisateur.

La plupart des propriétés pouvant être définies peuvent également être héritées. Les propriétés pouvant être héritées sont des propriétés qui, une fois définies sur un jeu de données parent, peuvent être appliquées à l'ensemble des descendants de ce parent.

Toutes ces propriétés héritables sont associées à une source indiquant la façon dont la propriété a été obtenue. Les sources de propriétés peuvent être définies sur les valeurs suivantes :

local

Indique que la propriété été définie de manière explicite sur le jeu de données à l'aide de la commande zfs set, selon la procédure décrite à la section Définition des propriétés ZFS.

inherited from nom-jeu-données

Indique que la propriété a été héritée à partir de l'ascendant indiqué.

default

Indique que la valeur de la propriété n'a été ni héritée, ni définie en local. Cette source est définie lorsque la propriété n'est pas définie en tant que source local sur aucun système ascendant.

Le tableau suivant répertorie les propriétés de système de fichiers ZFS natives en lecture seule et pouvant être définies. Les propriétés natives en lecture seule sont signalées comme tel. Les autres propriétés natives répertoriées dans le tableau peuvent être définies. Pour plus d'informations sur les propriétés définies par l'utilisateur, reportez-vous à la section Propriétés ZFS définies par l'utilisateur.

Tableau 6–1 Description des propriétés ZFS natives

Nom de la propriété 

Type 

Valeur par défaut 

Description 

aclinherit

Chaîne 

secure

Contrôle le processus d'héritage des entrées ACL lors de la création de fichiers et de répertoires. Les valeurs possibles sont discard, noallow, secure et passthrough. Pour une description de ces valeurs, reportez-vous à la section Propriétés ACL.

aclmode

Chaîne 

groupmask

Contrôle le processus de modification des entrées ACL lors des opérations chmod. Les valeurs possibles sont discard, groupmask et passthrough. Pour une description de ces valeurs, reportez-vous à la section Propriétés ACL.

atime

Booléen 

on

Détermine si l'heure d'accès aux fichiers est mise à jour lorsqu'ils sont consultés. La désactivation de cette propriété évite de produire du trafic d'écriture lors de la lecture de fichiers et permet parfois d'améliorer considérablement les performances ; elle risque cependant de perturber les logiciels de messagerie et autres utilitaires du même type.

available

Valeur numérique 

SO 

Propriété en lecture seule indiquant la quantité d'espace disque disponible pour le jeu de données et l'ensemble des systèmes enfant, sans tenir compte des autres activités du pool. L'espace disque étant partagé au sein d'un pool, l'espace disponible peut être limité par divers facteurs, y compris la taille du pool physique, les quotas, les réservations ou les autres jeux de données présents au sein du pool.

L'abréviation de la propriété est avail.

Pour plus d'informations sur la détermination de l'espace disque, reportez-vous à la section Comptabilisation de l'espace disque ZFS.

canmount

Booléen 

on

Détermine si un système de fichiers donné peut être monté à l'aide de la commande zfs mount. . Cette propriété peut être définie sur tous les systèmes de fichiers et ne peut pas être héritée. En revanche, lorsque cette propriété est définie sur off, un point de montage peut être hérité par des systèmes de fichiers descendants. Le système de fichiers à proprement parler n'est toutefois pas monté.

Lorsque l'option noauto est définie, un jeu de données ne peut être monté et démonté que de manière explicite. Le jeu de données n'est pas monté automatiquement lorsqu'il est créé ou importé, et n'est pas monté par la commande zfs mount- a ni démonté par la commande zfs unmount-a.

Pour plus d'informations, reportez-vous à la section Propriété canmount.

checksum

Chaîne 

on

Détermine la somme de contrôle permettant de vérifier l'intégrité des données. La valeur par défaut est définie sur on. Cette valeur permet de sélectionner automatiquement l'algorithme approprié, actuellement fletcher4. Les valeurs possibles sont on, off, fletcher2, fletcher4 et sha256. La valeur off entraîne la désactivation du contrôle d'intégrité des données utilisateur. La valeur off n'est pas recommandée.

compression

Chaîne 

off

Active ou désactive la compression d'un jeu de données. Les valeurs sont on , off et lzjb, gzip ou gzip-N. Donner à cette propriété la valeur lzjb, gzip ou la valeur gzip- N a actuellement le même effet que la valeur on. L'activation de la compression sur un système de fichiers contenant des données existantes entraîne uniquement la compression des nouvelles données. Les données actuelles restent non compressées.

L'abréviation de la propriété est compress.

compressratio

Valeur numérique 

SO 

Propriété en lecture seule indiquant le ratio de compression obtenu pour un jeu de données, exprimé sous la forme d'un multiple. La compression peut être activée en exécutant zfs set compression=on dataset.

Cette valeur est calculée sur la base de la taille logique de l'ensemble des fichiers et de la quantité de données physiques indiquée. Elle induit un gain explicite basé sur l'utilisation de la propriété compression.

copies

Valeur numérique 

1

Définit le nombre de copies des données utilisateur par système de fichiers. Les valeurs disponibles sont 1, 2 ou 3. Ces copies viennent s'ajouter à toute redondance au niveau du pool. L'espace disque utilisé par plusieurs copies de données utilisateur est chargé dans le fichier et le jeu de données correspondants et pénalise les quotas et les réservations. En outre, la propriété used est mise à jour lorsque plusieurs copies sont activées. Considérez la définition de cette propriété à la création du système de fichiers car lorsque vous la modifiez sur un système de fichiers existant, les modifications ne s'appliquent qu'aux nouvelles données.

creation

Chaîne 

SO 

Propriété en lecture seule identifiant la date et l'heure de création d'un jeu de données.

devices

Booléen 

on

Contrôle si les fichiers de périphérique d'un système de fichiers peuvent être ouverts.

exec

Booléen 

on

Contrôle l'autorisation d'exécuter les programmes dans un système de fichiers. Par ailleurs, lorsqu'elle est définie sur off, les appels de la commande mmap(2) avec PROT_EXEC ne sont pas autorisés.

mounted

Booléen 

SO 

Propriété en lecture seule indiquant si un système de fichiers, un clone ou un instantané est actuellement monté. Cette propriété ne s'applique pas aux volumes. Les valeurs possibles sont yes ou no.

mountpoint

Chaîne 

SO 

Détermine le point de montage utilisé pour le système de fichiers. Lorsque la propriété mountpoint d'un système de fichiers est modifiée, ce système de fichiers ainsi que les éventuels systèmes descendants héritant du point de montage sont démontés. Si la nouvelle valeur est définie sur legacy, ces systèmes restent démontés. Dans le cas contraire, ils sont automatiquement remontés au nouvel emplacement si la propriété était précédemment définie sur legacy ou sur none ou s'ils étaient montés avant la modification de la propriété. D'autre part, le partage de tout système de fichiers est annulé puis rétabli au nouvel emplacement.

Pour plus d'informations sur l'utilisation de cette propriété, reportez-vous à la section Gestion des points de montage ZFS.

primarycache

Chaîne 

all

Contrôle les éléments mis en cache dans le cache principal (ARC). Les valeurs possibles 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 ces valeurs sont définies sur metadata, seules les métadonnées sont mis en mémoire cache.

origin

Chaîne 

SO 

Propriété en lecture seule appliquée aux systèmes de fichiers ou aux volumes clonés et indiquant l'instantané à partir duquel le clone a été créé. Le système d'origine ne peut pas être détruit (même à l'aide des options -r ou -f) tant que le clone existe.

Les systèmes de fichiers non clonés indiquent un système d'origine none.

quota

Valeur numérique (ou none)

none

Limite la quantité d'espace disque disponible pour le jeu de données et ses descendants. Cette propriété permet d'appliquer une limite fixe à la quantité d'espace disque utilisée, y compris l'espace utilisé par les descendants, qu'il s'agisse de systèmes de fichiers ou d'instantanés. La définition d'un quota sur un descendant d'un jeu de données déjà associé à un quota n'entraîne pas le remplacement du quota du système ascendant. Cette opération entraîne au contraire l'application d'une limite supplémentaire. Les quotas ne peuvent pas être définis pour les volumes car la propriété volsize sert de quota implicite.

Pour plus d'informations concernant la définition de quotas, reportez-vous à la section Définitions de quotas sur les systèmes de fichiers ZFS.

readonly

Booléen 

off

Contrôle l'autorisation de modifier un jeu de données. Lorsqu'elle est définie sur on, aucune modification ne peut être apportée.

L'abréviation de la propriété est rdonly.

recordsize

Valeur numérique 

128K

Spécifie une taille de bloc suggérée pour les fichiers d'un système de fichiers.

L'abréviation de la propriété est recsize. Pour obtenir une description détaillée de cette propriété, reportez-vous à la section Propriété recordsize.

referenced

Valeur numérique 

SO 

Propriété en lecture seule identifiant la quantité de données à laquelle un jeu de données a accès, lesquelles peuvent être ou non partagées avec d'autres jeux de données du pool.

Lorsqu'un instantané ou un clone est créé, il indique dans un premier temps la même quantité d'espace disque que le système de fichiers ou l'instantané à partir duquel il a été créé. En effet, son contenu est identique. 

L'abréviation de la propriété est refer.

refquota

Valeur numérique (ou none) 

none

Définit la quantité d'espace disque pouvant être utilisé par un jeu de données. Cette propriété définit une quantité d'espace maximale. Cette limite maximale n'inclut pas l'espace disque utilisé par les descendants, notamment les instantanés et les clones.

refreservation

Valeur numérique (ou none) 

none

Définit la quantité d'espace disque minimale garantie pour un jeu de données, à l'exclusion des descendants, notamment les instantanés et les clones. Lorsque la quantité d'espace disque utilisée est inférieure à cette valeur, le système considère que le jeu de donnée utilise la quantité d'espace spécifiée par refreservation La réservation refreservation est prise en compte dans l'espace disque utilisé des jeux de donnés parent et vient en déduction de leurs quotas et réservations.

Lorsque la propriété refreservation est définie, un instantané n'est autorisé que si suffisamment d'espace est disponible dans le pool au-delà de cette réservation afin de pouvoir contenir le nombre actuel d'octets référencés dans le jeu de données.

L'abréviation de la propriété est refserv.

reservation

Valeur numérique (ou none) 

none

Définit la quantité minimale d'espace disque réservée pour un jeu de données et ses descendants. Lorsque la quantité d'espace disque utilisée est inférieure à la valeur de cette propriété, le système considère que le jeu de donnée utilise la quantité d'espace réservée. Les réservations sont prises en compte dans l'espace disque utilisé des jeux de données parent et viennent en déduction de leurs quotas et réservations.

L'abréviation de la propriété est reserv.

Pour plus d'informations, reportez-vous à la section Définition de réservations sur les systèmes de fichiers ZFS.

secondarycache

Chaîne 

all

Contrôle les éléments qui sont mis en cache dans le cache secondaire (L2ARC). Les valeurs possibles 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 ces valeurs sont définies sur metadata, seules les métadonnées sont mis en mémoire cache.

setuid

Booléen 

on

Contrôle l'application du bit setuid dans un système de fichiers.

shareiscsi

Chaîne 

off 

Contrôle si un volume ZFS est partagé en tant que cible iSCSI. Les valeurs de la propriété sont on, off et type=disk. Vous pouvez définir la valeur shareiscsi=on pour un système de fichiers afin que tous les volumes ZFS au sein du système de fichiers soient partagés par défaut. Cependant, la configuration de cette propriété sur un système de fichiers n'a aucune incidence directe.

sharenfs

Chaîne 

off

Détermine si un système de fichiers est disponible via NFS, ainsi que les options utilisées. Si cette propriété est définie sur on, la commande zfs share est exécutée sans option. Dans le cas contraire, la commande zfs share est exécutée avec les options équivalentes au contenu de cette propriété. Si elle est définie sur off, le système de fichiers est géré à l'aide des commandes héritées share et unshare et du fichier dfstab file.

Pour plus d'informations sur le partage des systèmes de fichiers ZF, reportez-vous à la section Activation et annulation du partage des systèmes de fichiers ZFS.

snapdir

Chaîne 

hidden

Détermine si le répertoire .zfs doit être affiché ou masqué au niveau de la racine du système de fichiers. Pour plus d'informations sur l'utilisation des instantanés, reportez-vous à la section Présentation des instantanés ZFS.

type

Chaîne 

SO 

Propriété en lecture seule identifiant le type de jeu de données comme étant un système de fichiers, (filesystem ; système de fichiers à proprement parler ou clone), un volume (volume) ou un instantané (snapshot).

used

Valeur numérique 

SO 

Propriété en lecture seule identifiant la quantité d'espace disque utilisée par le jeu de données et tous ses descendants.

Pour obtenir une description détaillée de cette propriété, reportez-vous à la section Propriété used.

usedbychildren

Valeur numérique 

off

Propriété en lecture seule indiquant la quantité d'espace disque utilisée par les enfants de ce jeu de données, qui serait libérée si tous ses enfants étaient détruits. L'abréviation de la propriété est usedchild.

usedbydataset

Valeur numérique 

off

Propriété en lecture seule indiquant la quantité d'espace disque utilisée par le jeu de données lui-même, qui serait libérée si ce dernier était détruit, après la destruction préalable de tous les instantanés et la suppression de toutes les réservations refreservation. L'abréviation de la propriété est usedds.

usedbyrefreservation

Valeur numérique 

off

Propriété en lecture seule indiquant la quantité d'espace disque utilisée par un jeu refreservation sur un jeu de données, qui serait libérée si le jeu refreservation était supprimé. L'abréviation de la propriété est usedrefreserv.

usedbysnapshots

Valeur numérique 

off

Propriété en lecture seule indiquant la quantité d'espace disque utilisée par les instantanés de ce jeu de données. En particulier, elle correspond à la quantité d'espace disque qui serait libérée si l'ensemble des instantanés de ce jeu de données était supprimé. Notez que cette valeur ne correspond pas simplement à la somme des propriétés used des instantanés, car l'espace peut être partagé par plusieurs instantanés. L'abréviation de la propriété est usedsnap.

version

Valeur numérique 

SO 

Identifie la version du disque d'un système de fichiers. Cette information n'est pas liée à la version du pool. Cette propriété peut uniquement être définie avec une version supérieure prise en charge par la version du logiciel. Pour plus d'informations, reportez-vous à la commande zfs upgrade.

volsize

Valeur numérique 

SO 

Spécifie la taille logique des volumes.

Pour obtenir une description détaillée de cette propriété, reportez-vous à la section Propriété volsize.

volblocksize

Valeur numérique 

8 KB

(Volumes) Spécifie la taille de bloc du volume. Une fois que des données ont été écrites sur un volume, la taille de bloc ne peut plus être modifiée. Vous devez donc définir cette valeur lors de la création du volume. La taille de bloc par défaut des volumes est de 8 Ko. Toute puissance de deux comprise entre 512 octets et 128 Ko est correcte.

L'abréviation de la propriété est volblock.

zoned

Booléen 

SO 

Indique si un jeu de données a été ajouté à une zone non globale. Si cette propriété est activée, le point de montage ne figure pas dans la zone globale et le système ZFS ne peut pas monter le système de fichiers en réponse aux requêtes. Lors de la première installation d'une zone, cette propriété est définie pour tout système de fichiers ajouté.

Pour plus d'informations sur l'utilisation du système ZFS avec des zones installées, reportez-vous à la section Utilisation de ZFS dans un système Solaris avec zones installées.

xattr

Booléen 

on

Indique si les attributs étendus sont activés (on) ou désactivés (off) pour ce système de fichiers.

Propriétés ZFS natives en lecture seule

Les propriétés natives en lecture seule peuvent être récupérées, mais ne peuvent pas être définies. Elles ne peuvent pas non plus être héritées. Certaines propriétés natives sont spécifiques à un type de jeu de données. Dans ce cas, le type de jeu de données correspondant est mentionné dans la description figurant dans le Tableau 6–1.

Les propriétés natives en lecture seule sont répertoriées dans cette section et décrites dans le Tableau 6–1.

Pour plus d'informations sur la détermination de l'espace disque, notamment sur les propriétés used, referenced et available, reportez-vous à la section Comptabilisation de l'espace disque ZFS.

Propriété used

La propriété used est une propriété en lecture seule indiquant la quantité d'espace disque utilisée par le jeu de données et l'ensemble de ses descendants. Cette valeur est comparée au quota et à la réservation définis pour le jeu de données. La quantité d'espace disque utilisé n'inclut pas la réservation du jeu de données. En revanche, elle prend en compte les réservations définies pour les éventuels jeux de données descendants. La quantité d'espace disque utilisée sur le parent par un jeu de données, ainsi que la quantité d'espace disque libérée si le jeu de données est détruit de façon récursive, constituent la plus grande partie de son espace utilisé et sa réservation.

Lors de la création d'un instantané, l'espace disque correspondant est dans un premier temps partagé entre cet instantané et le système de fichiers ainsi que les instantanés existants (le cas échéant). Lorsque le système de fichiers est modifié, l'espace disque précédemment partagé devient dédié à l'instantané. Il est alors comptabilisé dans l'espace utilisé par cet instantané. L'espace disque utilisé par un instantané représente ses données uniques. La suppression d'instantanés peut également augmenter l'espace disque dédié et utilisé par les autres instantanés. Pour plus d'informations sur les instantanés et les questions d'espace, reportez-vous à la section Comportement d'espace saturé.

La quantité d'espace disque utilisé, disponible et référencé ne comprend pas les modifications en attente. Ces modifications sont généralement prises en compte au bout de quelques secondes. La modification d'un disque utilisant la fonction fsync(3c) ou O_SYNC ne garantit pas la mise à jour immédiate des informations concernant l'utilisation de l'espace disque.

Les informations de propriété usedbychildren, usedbydataset , usedbyrefreservation et usedbysnapshots peuvent être affichées à l'aide de la commande zfs list -o space. Ces propriétés divisent la propriété used en espace disque utilisé par les descendants. Pour plus d'informations, reportez-vous au Tableau 6–1.

Propriétés ZFS natives définies

Les propriétés natives définies sont les propriétés dont les valeurs peuvent être récupérées et modifiées. La définition des propriétés natives s'effectue à l'aide de la commande zfs set, selon la procédure décrite à la section Définition des propriétés ZFS ou à l'aide de la commande zfs create, selon la procédure décrite à la section Création d'un système de fichiers ZFS. À l'exception des quotas et des réservations, les propriétés natives définies sont héritées. Pour plus d'informations sur les quotas et les réservations, reportez-vous à la section Définition des quotas et réservations ZFS.

Certaines propriétés natives définies sont spécifiques à un type de jeu de données. Dans ce cas, le type de jeu de données est mentionné dans la description figurant dans le Tableau 6–1. Sauf indication contraire, les propriétés s'appliquent à tous les types de jeu de données : aux systèmes de fichiers, aux volumes, aux clones et aux instantanés.

Les propriétés pouvant être définies sont répertoriées dans cette section et décrites dans le Tableau 6–1.

Propriété canmount

Si la propriété canmount est désactivée (valeur off), le système de fichiers ne peut pas être monté à l'aide de la commande zfs mount, ni de la commande zfs mount -a. Définir cette propriété sur off est comparable à définir la propriété mountpoint sur la valeur none. Toutefois, le jeu de données possède toujours une propriété mountpoint standard susceptible d'être héritée. Vous pouvez par exemple définir cette propriété sur la valeur off et définir des propriétés héritées pour les systèmes de fichiers descendants. Toutefois, le système de fichiers parent à proprement parler n'est jamais monté, ni accessible par les utilisateurs. Dans ce cas, le système de fichiers parent sert de conteneur afin de pouvoir définir des propriétés sur le conteneur ; toutefois, le conteneur à proprement parler n'est jamais accessible.

L'exemple suivant illustre la création du système de fichiers userpool avec la propriété canmount désactivée (valeur off). Les points de montage des systèmes de fichiers utilisateur descendants sont définis sur un emplacement commun, /export/home. Les systèmes de fichiers descendants héritent des propriétés définies sur le système de fichiers parent, mais celui-ci n'est jamais monté.


# zpool create userpool mirror c0t5d0 c1t6d0
# zfs set canmount=off userpool
# zfs set mountpoint=/export/home userpool
# zfs set compression=on userpool
# zfs create userpool/user1
# zfs create userpool/user2
# zfs mount
userpool/user1                  /export/home/user1
userpool/user2                  /export/home/user2

Définir la propriété canmount sur noauto indique que le jeu de données ne peut être monté que de manière explicite, et non pas de manière automatique. Cette valeur de paramètre est utilisée par le logiciel de mise à niveau Oracle Solaris afin que seuls les jeux de données appartenant à l'environnement d'initialisation actif soient montés lors de l'initialisation.

Propriété recordsize

La propriété recordsize spécifie une taille de bloc suggérée pour les fichiers du système de fichiers.

Cette propriété s'utilise uniquement pour les charges de travail de base de données accédant à des fichiers résidant dans des enregistrements à taille fixe. Le système ZFS ajuste automatiquement les tailles en fonction d'algorithmes internes optimisés pour les schémas d'accès classiques. Pour les bases de données générant des fichiers volumineux mais accédant uniquement à certains fragments de manière aléatoire, ces algorithmes peuvent se révéler inadaptés. La définition d'une valeur recordsize supérieure ou égale à la taille d'enregistrement de la base de données peut améliorer les performances du système de manière significative. Il est vivement déconseillé d'utiliser cette propriété pour les systèmes de fichiers à usage générique. En outre, elle peut affecter les performances du système. La taille spécifiée doit être une puissance de 2 supérieure ou égale à 512 octets et inférieure ou égale à 128 Ko. La modification de la valeur recordsize du système de fichiers affecte uniquement les fichiers créés ultérieurement. Cette modification n'affecte pas les fichiers existants.

L'abréviation de la propriété est recsize.

Propriété volsize

La propriété volsize spécifie la taille logique du volume. Par défaut, la création d'un volume définit une réservation de taille identique. Toute modification apportée à la valeur de la propriété volsize se répercute dans des proportions identiques au niveau de la réservation. Ce fonctionnement permet d'éviter les comportements inattendus lors de l'utilisation des volumes. L'utilisation de volumes contenant moins d'espace disponible que la valeur indiquée risque, suivant le cas, d'entraîner des comportements non valides et des corruptions de données. Ces symptômes peuvent également survenir lors de la modification et notamment de la réduction de la taille du volume en cours d'utilisation. Faites preuve de prudence lorsque vous ajustez la taille d'un volume.

Même s'il s'agit d'une opération déconseillée, vous avez la possibilité de créer des volumes fragmentés. Pour ce faire, spécifiez l'étiquette -s dans la commande zfs create -V ou modifiez la réservation, une fois le volume créé. Un volume fragmenté désigne un volume dont la réservation est différente de la taille de volume. Les modifications apportées à la propriété volsize des volumes fragmentés ne sont pas répercutées au niveau de la réservation.

Pour plus d'informations sur l'utilisation des volumes, reportez-vous à la section Volumes ZFS.

Propriétés ZFS définies par l'utilisateur

Outre les propriétés natives, le système ZFS prend en charge des propriétés définies par l'utilisateur. Les propriétés définies par l'utilisateur n'ont aucune incidence sur le comportement du système ZFS. En revanche, elles permettent d'annoter les jeux de données avec des informations adaptées à votre environnement.

Les noms de propriétés définies par l'utilisateur doivent respecter les conventions suivantes :

La syntaxe attendue des noms de propriétés consiste à regrouper les deux composants suivants (cet espace de noms n'est toutefois pas appliqué par les systèmes ZFS) :


module:property

Si vous utilisez des propriétés définies par l'utilisateur dans un contexte de programmation, spécifiez un nom de domaine DNS inversé pour le composant module des noms de propriétés, afin de réduire la probabilité que deux packages développés séparément n'utilisent un nom de propriété identique à des fins différentes. Les noms de propriété commençant par sun.com. sont réservés à l'usage d'Oracle Corporation.

Les valeurs des propriétés définies par l'utilisateur doivent respecter les conventions suivantes :

Exemple :


# zfs set dept:users=finance userpool/user1
# zfs set dept:users=general userpool/user2
# zfs set dept:users=itops userpool/user3

Toutes les commandes fonctionnant avec des propriétés (par exemple, les commandes zfs list, zfs get, zfs set, etc.) permettent d'utiliser des propriétés natives et des propriétés définies par l'utilisateur.

Exemple :


zfs get -r dept:users userpool
NAME            PROPERTY    VALUE           SOURCE
userpool        dept:users  all             local
userpool/user1  dept:users  finance         local
userpool/user2  dept:users  general         local
userpool/user3  dept:users  itops           local

Pour supprimer une propriété définie par l'utilisateur, utilisez la commande zfs inherit. Exemple :


# zfs inherit -r dept:users userpool

Si cette propriété n'est définie dans aucun jeu de données parent, elle est définitivement supprimée.

Envoi de requêtes sur les informations des systèmes de fichiers ZFS

La commande zfs list contient un mécanisme extensible permettant d'afficher et d'envoyer des requêtes sur les informations des systèmes de fichiers. Cette section décrit les requêtes de base ainsi que les requêtes plus complexes.

Affichage des informations de base des systèmes ZFS

La commande zfs list spécifiée sans option permet de répertorier les informations de base sur les jeux de données. Cette commande affiche le nom de tous les jeux de données définis sur le système ainsi que les valeurs used, available, referenced et mountpoint correspondantes. Pour plus d'informations sur ces propriétés, reportez-vous à la section Présentation des propriétés ZFS.

Exemple :


# zfs list
NAME                   USED  AVAIL  REFER  MOUNTPOINT
pool                   476K  16.5G    21K  /pool
pool/clone              18K  16.5G    18K  /pool/clone
pool/home              296K  16.5G    19K  /pool/home
pool/home/marks        277K  16.5G   277K  /pool/home/marks
pool/home/marks@snap      0      -   277K  -
pool/test               18K  16.5G    18K  /test

Cette commande permet d'afficher des jeux de données spécifiques. Pour cela, spécifiez le nom du ou des jeux de données à afficher sur la ligne de commande. Vous pouvez également spécifier l'option -r pour afficher de manière récursive tous les descendants des jeux de données. Exemple :


# zfs list -r pool/home/marks
NAME                   USED  AVAIL  REFER  MOUNTPOINT
pool/home/marks        277K  16.5G   277K  /pool/home/marks
pool/home/marks@snap      0      -   277K  -

Vous pouvez utiliser la commande zfs list avec le point de montage d'un système de fichiers. Exemple :


# zfs list /pool/home/marks
NAME              USED  AVAIL  REFER  MOUNTPOINT
pool/home/marks   277K  16.5G   277K  /pool/home/marks

L'exemple suivant illustre la manière d'afficher les informations de base sur tank/home/chua et tous ses jeux de données descendants :


# zfs list -r tank/home/chua
NAME                        USED  AVAIL  REFER  MOUNTPOINT 
tank/home/chua		          26.0K  4.81G  10.0K  /tank/home/chua 
tank/home/chua/projects       16K  4.81G   9.0K  /tank/home/chua/projects
tank/home/chua/projects/fs1    8K  4.81G     8K  /tank/home/chua/projects/fs1 
tank/home/chua/projects/fs2    8K  4.81G     8K  /tank/home/chua/projects/fs2

Pour plus d'informations sur la commande zfs list, reportez-vous à la page de manuel zfs(1M).

Création de requêtes ZFS complexes

Les options o, -t et -H permettent de personnaliser la sortie de la commande -zfs list.

Vous pouvez également personnaliser la sortie des valeurs de propriété en spécifiant l'option -o ainsi que la liste des propriétés souhaitées séparées par une virgule. Toute propriété de jeu de données peut être utilisée en tant qu'argument valide. Pour consulter la liste de toutes les propriétés de jeu de données prises en charge, reportez-vous à la section Présentation des propriétés ZFS. Outre les propriétés répertoriées dans cette section, la liste de l'option -o peut également contenir la valeur littérale name afin de définir l'inclusion du nom de jeu de données dans la sortie.

Les exemples suivants illustrent l'utilisation de la commande zfs list pour afficher le nom de jeu de données et des valeurs sharenfs et mountpoint.


# zfs list -o name,sharenfs,mountpoint
NAME                   SHARENFS         MOUNTPOINT
tank                   off              /tank
tank/home              on               /tank/home
tank/home/ahrens       on               /tank/home/ahrens
tank/home/bonwick      on               /tank/home/bonwick
tank/home/chua         on               /tank/home/chua
tank/home/eschrock     on               legacy
tank/home/moore        on               /tank/home/moore
tank/home/tabriz       ro               /tank/home/tabriz

L'option -t permet de spécifier le type de jeu de données à afficher. Les types corrects sont décrits dans le tableau suivant.

Tableau 6–2 Types de jeux de données ZFS

Type 

Description 

filesystem

Systèmes de fichiers et clones 

Volume

Volumes 

Instantané

Instantanés 

L'option -t permet de spécifier la liste des types de jeux de données à afficher, séparés par une virgule. L'exemple suivant illustre l'affichage du nom et de la propriété -used de l'ensemble des systèmes de fichiers via l'utilisation simultanée des options -t et o :


# zfs list -t filesystem -o name,used
NAME              USED
pool              476K
pool/clone         18K
pool/home         296K
pool/home/marks   277K
pool/test          18K

L'option -H permet d'exclure l'en-tête de la commande zfs list lors de la génération de la sortie. L'option -H permet de remplacer les espaces par un caractère de tabulation. Cette option permet notamment d'effectuer des analyses sur les sorties (par exemple, des scripts). L'exemple suivant illustre la sortie de la commande zfs list spécifiée avec l'option -H :


# zfs list -H -o name
pool
pool/clone
pool/home
pool/home/marks
pool/home/marks@snap
pool/test

Gestion des propriétés ZFS

La gestion des propriétés de jeu de données s'effectue à l'aide des sous-commandes set, inherit et get de la commande zfs.

Définition des propriétés ZFS

La commande zfs set permet de modifier les propriétés de jeu de données pouvant être définies. Vous pouvez également définir les propriétés lors de la création des jeux de données à l'aide de la commande zfs create. Pour consulter la listes des propriétés de jeu de données définies, reportez-vous à la section Propriétés ZFS natives définies.

La commande zfs set permet d'indiquer une séquence propriété/valeur au format property=value, suivie du nom du jeu de données. Lors de chaque appel de la commande zfs set, vous ne pouvez définir ou modifier qu'une propriété à la fois.

L'exemple suivant illustre la définition de la propriété atime sur la valeur off pour tank/home.


# zfs set atime=off tank/home

Vous pouvez également définir les propriétés des systèmes de fichiers une fois ces derniers créés. Exemple :


# zfs create -o atime=off tank/home

Vous pouvez spécifier les valeurs des propriétés numériques à l'aide de suffixes facile à comprendre (par ordre croissant de grandeur) : BKMGTPEZ. Ces suffixes peuvent être suivis de la lettre b (signifiant "byte", octet) à l'exception du suffixe B, qui fait déjà référence à cette unité de mesure. Les quatre formulations de la commande zfs set suivantes correspondent à des expressions numériques équivalentes indiquant que la propriété quota doit être définie sur 50 Go sur le système de fichiers tank/home/marks :


# zfs set quota=50G tank/home/marks
# zfs set quota=50g tank/home/marks
# zfs set quota=50GB tank/home/marks
# zfs set quota=50gb tank/home/marks

Les valeurs des propriétés non numériques prennent en charge la distinction majuscules/minuscules et doivent être spécifiées sous la forme de minuscules, sauf pour les propriétés mountpoint et sharenfs. Les valeurs de ces propriétés peuvent utiliser des minuscules et des majuscules.

Pour plus d'informations sur la commande zfs set, reportez-vous à la page de manuel zfs(1M).

Héritage des propriétés ZFS

Toutes les propriétés définies, à l'exception des propriétés de quotas et de réservations, héritent de la valeur du jeu de données parent (sauf si un quota ou une réservation est explicitement défini pour le jeu de données descendant). Si aucune valeur explicite n'est définie pour une propriété d'un système ascendant, la valeur par défaut de cette propriété est appliquée. Vous pouvez utiliser la commande zfs inherit pour effacer la valeur d'une propriété et faire ainsi hériter la valeur du jeu de données parent.

L'exemple suivant illustre l'activation de la compression pour le système de fichiers tank/home/bonwick à l'aide de la commande zfs set. La commande zfs inherit est ensuite exécutée afin de supprimer la valeur de la propriété compression, entraînant ainsi l'héritage de la valeur par défaut off. En effet, la propriété compression n'est définie localement ni pour home, ni pour tank ; la valeur par défaut est donc appliquée. Si la compression avait été activée pour ces deux systèmes, la valeur définie pour le système ascendant direct aurait été utilisée (en l'occurrence, home).


# zfs set compression=on tank/home/bonwick
# zfs get -r compression tank
NAME             PROPERTY      VALUE                    SOURCE
tank             compression   off                      default
tank/home        compression   off                      default
tank/home/bonwick compression   on                      local
# zfs inherit compression tank/home/bonwick
# zfs get -r compression tank
NAME             PROPERTY      VALUE                    SOURCE
tank             compression   off                      default
tank/home        compression   off                      default
tank/home/bonwick compression  off                      default

La sous-commande inherit est appliquée de manière récursive lorsque l'option -r est spécifiée. Dans l'exemple suivant, la commande entraîne l'héritage de la valeur de la propriété compression pour tank/home ainsi que pour ses éventuels descendants :


# zfs inherit -r compression tank/home

Remarque –

L'utilisation de l'option -r entraîne la suppression de la valeur de propriété actuelle pour l'ensemble des jeux de données descendants.


Pour plus d'informations sur la commande zfs inherit, reportez-vous à la page de manuel zfs(1M).

Envoi de requêtes sur les propriétés ZFS

Le moyen le plus simple pour envoyer une requête sur les valeurs de propriété consiste à exécuter la commande zfs list. Pour plus d'informations, reportez-vous à la section Affichage des informations de base des systèmes ZFS. Cependant, dans le cadre de requêtes complexes et pour les scripts, utilisez la commande zfs get afin de fournir des informations plus détaillées dans un format personnalisé.

La commande zfs get permet de récupérer les propriétés de jeu de données. L'exemple suivant illustre la récupération d'une seule valeur de propriété au sein d'un jeu de données :


# zfs get checksum tank/ws
NAME             PROPERTY       VALUE                      SOURCE
tank/ws          checksum       on                         default

La quatrième colonne SOURCE indique l'origine de la valeur de cette propriété. Le tableau ci-dessous définit les valeurs possibles de la source.

Tableau 6–3 Valeurs possibles de la colonne SOURCE (commande zfs get)

Valeur 

Description 

default

Cette propriété n'a jamais été définie de manière explicite pour ce jeu de données ni pour ses systèmes ascendants. La valeur par défaut est utilisée. 

inherited from nom-jeu-données

La valeur de propriété est héritée du jeu de données parent spécifié par la chaîne dataset-name.

local

La valeur de propriété a été définie de manière explicite pour ce jeu de données à l'aide de la commande zfs set.

temporary

Cette valeur de propriété a été définie à l'aide la commande zfs mount spécifiée avec l'option - o et n'est valide que pour la durée du montage. Pour plus d'informations sur les propriétés de point de montage temporaires, reportez-vous à la section Utilisation de propriétés de montage temporaires.

- (none) 

Cette propriété est en lecture seule. Sa valeur est générée par ZFS. 

Le mot-clé all permet de récupérer toutes les valeurs de propriétés du jeu de données. Les exemples suivants utilisent le mot-clé all :


# zfs get all tank/home
NAME       PROPERTY              VALUE                  SOURCE
tank/home  type                  filesystem             -
tank/home  creation              Tue Jun 29 11:44 2010  -
tank/home  used                  21K                    -
tank/home  available             66.9G                  -
tank/home  referenced            21K                    -
tank/home  compressratio         1.00x                  -
tank/home  mounted               yes                    -
tank/home  quota                 none                   default
tank/home  reservation           none                   default
tank/home  recordsize            128K                   default
tank/home  mountpoint            /tank/home             default
tank/home  sharenfs              off                    default
tank/home  checksum              on                     default
tank/home  compression           off                    default
tank/home  atime                 on                     default
tank/home  devices               on                     default
tank/home  exec                  on                     default
tank/home  setuid                on                     default
tank/home  readonly              off                    default
tank/home  zoned                 off                    default
tank/home  snapdir               hidden                 default
tank/home  aclmode               groupmask              default
tank/home  aclinherit            restricted             default
tank/home  canmount              on                     default
tank/home  shareiscsi            off                    default
tank/home  xattr                 on                     default
tank/home  copies                1                      default
tank/home  version               4                      -
tank/home  utf8only              off                    -
tank/home  normalization         none                   -
tank/home  casesensitivity       sensitive              -
tank/home  vscan                 off                    default
tank/home  nbmand                off                    default
tank/home  sharesmb              off                    default
tank/home  refquota              none                   default
tank/home  refreservation        none                   default
tank/home  primarycache          all                    default
tank/home  secondarycache        all                    default
tank/home  usedbysnapshots       0                      -
tank/home  usedbydataset         21K                    -
tank/home  usedbychildren        0                      -
tank/home  usedbyrefreservation  0                      -
tank/home  logbias               latency                default

Remarque –

Le fonctionnement des propriétés casesensitivity, nbmand, normalization, sharesmb, utf8only et vscan n'est pas optimal dans la version Solaris 10 car le service Oracle Solaris SMB n'est pas pris en charge dans la version Solaris 10.


L'option -s spécifiée avec la commande zfs get permet de spécifier, en fonction du type de source, les propriétés à afficher. Cette option permet d'indiquer la liste des types de sources souhaités, séparés par une virgule. Seules les propriétés associées au type de source spécifié sont affichées. Les types de source valides sont local, default, inherited, temporary et none. L'exemple suivant indique toutes les propriétés définies localement sur pool.


# zfs get -s local all pool
NAME             PROPERTY      VALUE                      SOURCE
pool             compression   on                         local

Les options décrites ci-dessus peuvent être associées à l'option -r afin d'afficher de manière récursive les propriétés spécifiées sur les systèmes enfant du jeu de données. Dans l'exemple suivant, les propriétés temporaires de tous les jeux de données définis sur tank sont affichées de manière récursive :


# zfs get -r -s temporary all tank
NAME             PROPERTY       VALUE                      SOURCE
tank/home          atime          off                      temporary
tank/home/bonwick  atime          off                      temporary
tank/home/marks    atime          off                      temporary

Vous pouvez interroger les valeurs d'une propriété à l'aide de la commande zfs get sans spécifier le système de fichiers cible (la commande fonctionne sur tous les systèmes de fichiers et les pools). Exemple :


# zfs get -s local all
tank/home               atime          off                    local
tank/home/bonwick       atime          off                    local
tank/home/marks         quota          50G                    local

Pour plus d'informations sur la commande zfs get, reportez-vous à la page de manuel zfs(1M).

Envoi de requête sur les propriétés ZFS pour l'exécution de scripts

La commande zfs get prend en charge les options -H et -o, qui permettent l'exécution de scripts. Vous pouvez utiliser l'option -H pour omettre les informations d'en-tête et pour remplacer un espace par un caractère de tabulation. L'uniformisation des espaces permet de faciliter l'analyse des données. Vous pouvez utiliser l'option -o pour personnaliser la sortie de l'une des façons suivantes :

L'exemple suivant illustre la commande permettant de récupérer une seule valeur en spécifiant les options -H et -o de la commande zfs get:


# zfs get -H -o value compression tank/home
on

L'option -p indique les valeurs numériques sous leur forme exacte. Par exemple, 1 Mo serait signalé sous la forme 1000000. Cette option peut être utilisée comme suit :


# zfs get -H -o value -p used tank/home
182983742

L'option -r permet de récupérer de manière récursive les valeurs demandées pour l'ensemble des descendants et peut s'utiliser avec toutes les options mentionnées précédemment. Dans l'exemple suivant, les options -H, -o et -r sont spécifiées afin de récupérer le nom du jeu de données ainsi que la valeur de la propriété used pour export/home et ses descendants, tout en excluant les en-têtes dans la sortie :


# zfs get -H -o name,value -r used export/home
export/home             5.57G
export/home/marks       1.43G
export/home/maybee      2.15G

Montage et partage des systèmes de fichiers ZFS

Cette section décrit le processus de gestion des points de montage et des systèmes de fichiers partagés dans ZFS.

Gestion des points de montage ZFS

Par défaut, un système de fichiers ZFS est automatiquement monté lors de sa création. Vous pouvez déterminer un comportement de point de montage spécifique pour un système de fichiers comme décrit dans cette section.

Vous pouvez également définir le point de montage par défaut du jeu de données du pool lors de l'exécution de la commande de création zpool create en spécifiant l'option -m. Pour plus d'informations sur la création de pools, reportez-vous à la section Création d'un pool de stockage ZFS.

Tous les systèmes de fichiers ZFS sont montés lors de l'initialisation à l'aide du service svc://system/filesystem/local SMF (Service Management Facility). Les systèmes de fichiers sont montés sous /path, où path correspond au nom du système de fichiers. Système de fichiers ZFS

Vous pouvez remplacer le point de montage par défaut à l'aide de la commande zfs set pour définir la propriété mountpoint sur un chemin spécifique. Le système de fichiers ZFS crée automatiquement le point de montage spécifié, le cas échéant. Il monte ensuite automatiquement le système de fichiers correspondant, lors de l'exécution de la commande zfs mount -a. Il n'est pas nécessaire de modifier le fichier /etc/vfstab.

La propriété mountpoint est héritée. Par exemple, si le fichier pool/home est doté d'une propriété mountpoint définie sur /export/stuff, alors pool/home/user hérite de la valeur /export/stuff/user pour sa propriété mountpoint.

Pour éviter le montage d'un système de fichiers, définissez la propriété mountpoint sur none. En outre, la propriété canmount peut être utilisée pour contrôler le montage d'un système de fichiers. Pour plus d'informations sur la propriété canmount, reportez-vous à la section Propriété canmount.

Les systèmes de fichiers peuvent également être gérés de manière explicite à l'aide d'interfaces de montage héritées en utilisant la commande zfs set pour définir la propriété mountpoint sur legacy. Dans ce cas, le montage et la gestion d'un système de fichiers ne sont pas gérés automatiquement par ZFS. Ces opérations s'effectuent alors à l'aide des outils hérités, comme les commandes mount et umount et le fichier /etc/vfstab. Pour plus d'informations sur les montages hérités, reportez-vous à la section Points de montage hérités.

Points de montage automatiques

Les jeux de données dont la propriété mountpoint n'est pas définie sur legacy sont gérés par le système ZFS. L'exemple suivant illustre la création d'un jeu de données dont le point de montage est géré automatiquement par le système ZFS :


# zfs create pool/filesystem
# zfs get mountpoint pool/filesystem
NAME             PROPERTY      VALUE                      SOURCE
pool/filesystem  mountpoint    /pool/filesystem           default
# zfs get mounted pool/filesystem
NAME             PROPERTY      VALUE                      SOURCE
pool/filesystem  mounted       yes                        -

Vous pouvez également définir la propriété mountpoint de manière explicite, comme dans l'exemple suivant :


# zfs set mountpoint=/mnt pool/filesystem
# zfs get mountpoint pool/filesystem
NAME             PROPERTY      VALUE                      SOURCE
pool/filesystem  mountpoint    /mnt                       local
# zfs get mounted pool/filesystem
NAME             PROPERTY      VALUE                      SOURCE
pool/filesystem  mounted       yes                        -

Si la propriété mountpoint est modifiée, le système de fichiers est automatiquement démonté de l'ancien point de montage et remonté sur le nouveau. Les répertoires de point de montage sont créés, le cas échéant. Si ZFS n'est pas en mesure de démonter un système de fichiers parce qu'il est actif, une erreur est signalée et un démontage manuel forcé doit être effectué.

Points de montage hérités

La gestion des systèmes de fichiers ZFS peut s'effectuer à l'aide d'outils hérités. Pour cela, la propriété mountpoint doit être définie sur legacy. Les systèmes de fichiers hérités sont alors gérés à l'aide des commandes mount et umount et du fichier /etc/vfstab. Lors de l'initialisation, le système de fichiers ZFS ne monte pas automatiquement les systèmes de fichiers hérités et les commandes ZFS mount et umount ne fonctionnent pas sur ces types de jeu de données. Les exemples suivants illustrent les commandes de définition et de gestion d'un jeu de données ZFS hérité :


# zfs set mountpoint=legacy tank/home/eschrock
# mount -F zfs tank/home/eschrock /mnt

Pour monter automatiquement un système de fichiers hérité lors de l'initialisation, vous devez ajouter une entrée au fichier /etc/vfstab. L'exemple suivant montre l'entrée telle qu'elle peut apparaître dans le fichier /etc/vfstab :


#device         device        mount           FS      fsck    mount   mount
#to mount       to fsck       point           type    pass    at boot options
#

tank/home/eschrock -		/mnt		   zfs		-		yes		-	

Les entrées device to fsck et fsck pass sont définies sur - car la commande fsck ne s'applique pas aux systèmes de fichiers ZFS. Pour plus d'informations sur l'intégrité des données ZFS, reportez-vous à la section Sémantique transactionnelle.

Montage de système de fichiers ZFS

Le montage des systèmes de fichiers ZFS s'effectue automatiquement lors du processus de création ou lors de l'initialisation du système. Vous ne devez utiliser la commande zfs mount que lorsque vous devez modifier les options de montage ou monter/démonter explicitement les systèmes de fichiers.

Spécifiée sans argument, la commande zfs mount répertorie tous les systèmes de fichiers actuellement montés gérés par ZFS. Les points de montage hérités ne sont pas inclus. Exemple :


# zfs mount
tank                            /tank
tank/home                       /tank/home
tank/home/bonwick               /tank/home/bonwick
tank/ws                         /tank/ws

L'option -a permet de monter tous les systèmes de fichiers ZFS. Les systèmes de fichiers hérités ne sont pas montés. Exemple :


# zfs mount -a

Par défaut, le système ZFS autorise uniquement le montage sur les répertoires vides. Pour forcer une opération de montage effectuée sur un répertoire non vide, spécifiez l'option -O. Exemple :


# zfs mount tank/home/lalt
cannot mount '/export/home/lalt': directory is not empty
use legacy mountpoint to allow this behavior, or use the -O flag
# zfs mount -O tank/home/lalt

La gestion des points de montage hérités doit s'effectuer à l'aide des outils hérités. Toute tentative d'utilisation des outils ZFS génère une erreur. Exemple :


# zfs mount pool/home/billm
cannot mount 'pool/home/billm': legacy mountpoint
use mount(1M) to mount this filesystem
# mount -F zfs tank/home/billm

Le montage d'un système de fichiers requiert l'utilisation d'un ensemble d'options basées sur les valeurs des propriétés associées au jeu de données. Le tableau ci-dessous illustre la corrélation entre les propriétés et les options de montage :

Tableau 6–4 Options et propriétés de montage ZFS

Propriétés 

Option de montage 

atime

atime/noatime

devices

devices/nodevices

exec

exec/noexec

nbmand

nbmand/nonbmand

readonly

ro/rw

setuid

setuid/nosetuid

xattr

xattr/noaxttr

L'option de montage nosuid représente un alias de nodevices,nosetuid.

Utilisation de propriétés de montage temporaires

Si les options de montage décrites à la section précédente sont définies de manière explicite en spécifiant l'option -o avec la commande zfs mount, les valeurs des propriétés associées sont remplacées de manière temporaire. Ces valeurs de propriété sont désignées par la chaîne temporary dans la commande zfs get et reprennent leur valeur d'origine une fois le système de fichiers démonté. Si une valeur de propriété est modifiée alors que le jeu de données est monté, la modification prend immédiatement effet et remplace toute valeur temporaire.

L'exemple suivant illustre la définition temporaire de l'option de montage en lecture seule sur le système de fichiers tank/home/perrin. Le système de fichiers est censé être démonté.


# zfs mount -o ro tank/home/perrin

Pour modifier temporairement une valeur de propriété sur un système de fichiers monté, vous devez utiliser l'option spécifique remount. Dans l'exemple suivant, la propriété atime est temporairement définie sur la valeur off pour un système de fichiers monté :


# zfs mount -o remount,noatime tank/home/perrin
# zfs get atime tank/home/perrin
NAME             PROPERTY      VALUE                      SOURCE
tank/home/perrin atime         off                        temporary

Pour plus d'informations sur la commande zfs mount, reportez-vous à la page de manuel zfs(1M).

Démontage des systèmes de fichiers ZFS

Le démontage des systèmes de fichiers ZFS peut s'effectuer à l'aide de la commande zfs unmount. La commande unmount peut utiliser le point de montage ou le nom du système de fichiers comme argument.

L'exemple suivant illustre le démontage d'un système de fichiers avec l'argument de nom de système de fichiers :


# zfs unmount tank/home/tabriz

L'exemple suivant illustre le démontage d'un système de fichiers avec l'argument de point de montage :


# zfs unmount /export/home/tabriz

Si le système de fichiers est occupé, la commande unmount échoue. L'option -f permet de forcer le démontage d'un système de fichiers. Le démontage forcé d'un système de fichiers requiert une attention particulière si le contenu de ce système est en cours d'utilisation. Ce type d'opération peut entraîner des comportements d'application imprévisibles.


# zfs unmount tank/home/eschrock
cannot unmount '/export/home/eschrock': Device busy
# zfs unmount -f tank/home/eschrock

Pour garantir la compatibilité ascendante, vous pouvez démonter les systèmes de fichiers ZFS à l'aide de la commande héritée umount. Exemple :


# umount /export/home/bob

Pour plus d'informations sur la commande zfs unmount, reportez-vous à la page de manuel zfs(1M).

Activation et annulation du partage des systèmes de fichiers ZFS

Le système de fichiers ZFS permet de partager automatiquement des systèmes de fichiers en définissant la propriété sharenfs. Cette propriété évite d'avoir à modifier le fichier /etc/dfs/dfstab lors de l'ajout d'un système de fichiers. La propriété sharenfs correspond à une liste d'options séparées par une virgule spécifiée avec la commande share. La valeur on constitue un alias des options de partage par défaut, qui attribuent les droits read/write à tous les utilisateurs. La valeur off indique que le partage du système de fichiers n'est pas géré par ZFS et qu'il s'effectue à l'aide des outils classiques (par exemple, à l'aide du fichier /etc/dfs/dfstab). Tous les systèmes de fichiers dont la propriété sharenfs n'est pas définie sur off sont partagés lors de l'initialisation.

Contrôle de la sémantique de partage

Par défaut, le partage est annulé pour tous les systèmes de fichiers. Pour partager un nouveau système de fichiers, utilisez une syntaxe de la commande zfs set similaire à celle présentée à l'exemple ci-dessous :


# zfs set sharenfs=on tank/home/eschrock

La propriété sharenfs est héritée et les systèmes de fichiers sont automatiquement partagés lorsqu'ils sont créés (si la propriété héritée n'est pas définie sur off). Exemple :


# zfs set sharenfs=on tank/home
# zfs create tank/home/bricker
# zfs create tank/home/tabriz
# zfs set sharenfs=ro tank/home/tabriz

tank/home/bricker et tank/home/tabriz sont partagés en écriture dès leur création, car ils héritent de la propriété sharenfs définie pour tank/home. Une fois la propriété définie sur ro (lecture seule), tank/home/tabriz est partagé en lecture seule, quelle que soit la propriété sharenfs définie pour tank/home .

Annulation du partage des systèmes de fichiers ZFS

Même si la plupart des systèmes de fichiers sont automatiquement partagés ou non lors de l'initialisation, la création ou la destruction de ces derniers, il est parfois nécessaire de les définir explicitement comme non partagés. Ce type d'opération s'effectue à l'aide de la commande zfs unshare. Exemple :


# zfs unshare tank/home/tabriz

Cette commande entraîne l'annulation du partage du système de fichiers tank/home/tabriz. Pour annuler le partage de tous les systèmes de fichiers ZFS du système, vous devez utiliser l'option - a.


# zfs unshare -a

Partage des systèmes de fichiers ZFS

La plupart du temps, le comportement automatique du système de fichiers ZFS par rapport au partage de système de fichiers lors de l'initialisation et de la création de ces derniers est suffisant pour les opérations normales. Si vous êtes amené à annuler le partage d'un système de fichiers, vous pouvez réactiver le partage à l'aide de la commande zfs share. Exemple :


# zfs share tank/home/tabriz

L'option - a permet également de partager tous les systèmes de fichiers ZFS du système.


# zfs share -a

Comportement de partage hérité

Si la propriété sharenfs est définie sur off, l'activation et l'annulation du partage des systèmes de fichiers ZFS sont désactivées de manière permanente. Cette valeur permet de gérer le partage des systèmes de fichiers à l'aide des outils classiques (par exemple, à l'aide du fichier /etc/dfs/dfstab).

Contrairement à la commande mount héritée, les commandes share et unshare peuvent être exécutées sur les systèmes de fichiers ZFS. Vous pouvez dès lors partager manuellement un système de fichiers en spécifiant des options différentes de celles définies pour la propriété sharenfs. Ce modèle de gestion est déconseillé. La gestion des partages NFS doit s'effectuer intégralement à l'aide du système ZFS ou intégralement à l'aide du fichier /etc/dfs/dfstab. Les modèle ZFS a été conçu pour simplifier et pour faciliter les opérations de gestion par rapport au modèle classique.

Définition des quotas et réservations ZFS

La propriété quota permet de limiter la quantité d'espace disque disponible pour un système de fichiers. La propriété reservation permet quant à elle de garantir la disponibilité d'une certaine quantité d'espace disque pour un système de fichiers. Ces deux propriétés s'appliquent au jeu de données sur lequel elles sont définies ainsi qu'à ses descendants.

Par exemple, si un quota est défini pour le jeu de données tank/home, la quantité d'espace disque totale utilisée par tank/home et par tous ses descendants ne peut pas excéder le quota défini. De même, si une réservation est définie pour le jeu de données tank/home, cette réservation s'applique à tank/home et à tous ses descendants. La quantité d'espace disque utilisée par un jeu de données et par tous ses descendants est indiquée par la propriété used.

Les propriétés refquota et refreservation vous permettent de gérer l'espace d'un système de fichiers sans prendre en compte l'espace disque utilisé par les descendants, notamment les instantanés et les clones.

Dans cette version de Solaris, vous pouvez définir un quota d'utilisateur (user) ou de groupe sur la quantité d'espace disque utilisée par les fichiers appartenant à un utilisateur ou à un groupe spécifique. Les propriétés de quota d'utilisateur et de groupe ne peuvent pas être définies sur un volume, sur un système de fichiers antérieur à la version 4, ou sur un pool antérieur à la version 15.

Considérez les points suivants pour déterminer quelles fonctions de quota et de réservation conviennent le mieux à la gestion de vos systèmes de fichiers :

Pour plus d'informations sur la définition de quotas et réservations, reportez-vous aux sections Définitions de quotas sur les systèmes de fichiers ZFS et Définition de réservations sur les systèmes de fichiers ZFS.

Définitions de quotas sur les systèmes de fichiers ZFS

Les quotas des systèmes de fichiers ZFS peuvent être définis et affichés à l'aide des commandes zfs set et zfs get. Dans l'exemple suivant, un quota de 10 Go est défini pour tank/home/bonwick :


# zfs set quota=10G tank/home/bonwick
# zfs get quota tank/home/bonwick
NAME              PROPERTY      VALUE                      SOURCE
tank/home/bonwick quota         10.0G                      local

Les quotas affectent également la sortie des commandes zfs list et df. Exemple :


# zfs list
NAME                   USED  AVAIL  REFER  MOUNTPOINT
tank/home             16.5K  33.5G  8.50K  /export/home
tank/home/bonwick     15.0K  10.0G  8.50K  /export/home/bonwick
tank/home/bonwick/ws  6.50K  10.0G  8.50K  /export/home/bonwick/ws
# df -h /export/home/bonwick
Filesystem             size   used  avail capacity  Mounted on
tank/home/bonwick       10G     8K    10G     1%    /export/home/bonwick

tank/home dispose de 33,5 Go d'espace disque disponible. Toutefois, tank/home/bonwick et tank/home/bonwick/ws disposent uniquement de 10 Go d'espace disponible, respectivement, en raison du quota défini pour tank/home/bonwick.

Vous ne pouvez pas définir un quota sur une valeur inférieure à la quantité d'espace actuellement utilisée par un jeu de données. Exemple :


# zfs set quota=10K tank/home/bonwick
cannot set quota for 'tank/home/bonwick': size is less than current used or 
reserved space

Vous pouvez définir une propriété refquota sur un jeu de données pour limiter l'espace disque occupé par le jeu de données. Cette limite fixe ne comprend pas l'espace disque utilisé par les descendants. Exemple :


# zfs set refquota=10g students/studentA
# zfs list
NAME                USED  AVAIL  REFER  MOUNTPOINT
profs               106K  33.2G    18K  /profs
students           57.7M  33.2G    19K  /students
students/studentA  57.5M  9.94G  57.5M  /students/studentA
# zfs snapshot students/studentA@today
# zfs list
NAME                      USED  AVAIL  REFER  MOUNTPOINT
profs                     106K  33.2G    18K  /profs
students                 57.7M  33.2G    19K  /students
students/studentA        57.5M  9.94G  57.5M  /students/studentA
students/studentA@today      0      -  57.5M  -

Par souci de commodité, vous pouvez définir un autre quota pour un jeu de données afin de vous aider à gérer l'espace disque utilisé par les instantanés. Exemple :


# zfs set quota=20g students/studentA
# zfs list
NAME                      USED  AVAIL  REFER  MOUNTPOINT
profs                     106K  33.2G    18K  /profs
students                 57.7M  33.2G    19K  /students
students/studentA        57.5M  9.94G  57.5M  /students/studentA
students/studentA@today      0      -  57.5M  -

Dans ce scénario, studentA peut atteindre la limite maximale de refquota (10 Go), mais studentA peut supprimer des fichiers pour libérer de l'espace même en présence d'instantanés.

Dans l'exemple précédent, le plus petit des deux quotas (10 Go par rapport à 20 Go) s'affiche dans la sortie zfs list. Pour afficher la valeur des deux quotas, utilisez la commande zfs get. Exemple :


# zfs get refquota,quota students/studentA
NAME               PROPERTY  VALUE              SOURCE
students/studentA  refquota  10G                local
students/studentA  quota     20G                local

Définition de quotas d'utilisateurs et de groupes sur un système de fichiers ZFS

Vous pouvez définir un quota d'utilisateurs ou de groupes en utilisant respectivement les commandes zfs userquota et zfs groupquota. Exemple :


# zfs create students/compsci
# zfs set userquota@student1=10G students/compsci
# zfs create students/labstaff
# zfs set groupquota@staff=20GB students/labstaff

Affichez le quota d'utilisateurs ou de groupes actuel comme suit :


# zfs get userquota@student1 students/compsci
NAME              PROPERTY            VALUE               SOURCE
students/compsci  userquota@student1  10G                 local
# zfs get groupquota@staff students/labstaff
NAME               PROPERTY          VALUE             SOURCE
students/labstaff  groupquota@staff  20G               local

Vous pouvez afficher l'utilisation générale de l'espace disque par les utilisateurs et les groupes en interrogeant les propriétés suivantes :


# zfs userspace students/compsci
TYPE        NAME      USED  QUOTA  
POSIX User  root      227M   none  
POSIX User  student1  455M    10G  
# zfs groupspace students/labstaff
TYPE         NAME   USED  QUOTA  
POSIX Group  root   217M   none  
POSIX Group  staff  217M    20G  

Pour identifier l'utilisation de l'espace disque d'un groupe ou d'un utilisateur, vous devez interroger les propriétés suivantes :


# zfs get userused@student1 students/compsci
NAME              PROPERTY           VALUE              SOURCE
students/compsci  userused@student1  455M               local
# zfs get groupused@staff students/labstaff
NAME               PROPERTY         VALUE            SOURCE
students/labstaff  groupused@staff  217M             local

Les propriétés de quota d'utilisateurs et de groupes ne sont pas affichées à l'aide de la commande zfs get all dataset, qui affiche une liste de toutes les autres propriétés du système de fichiers.

Vous pouvez supprimer un quota d'utilisateurs ou de groupes comme suit :


# zfs set userquota@user1=none students/compsci
# zfs set groupquota@staff=none students/labstaff

Les quotas d'utilisateurs et de groupes sur les systèmes de fichiers ZFS offrent les fonctionnalités suivantes :

L'application des quotas d'utilisateurs et de groupes peut être différée de quelques secondes. Ce délai signifie que les utilisateurs peuvent dépasser leurs quotas avant que le système ne le remarque et refuse d'autres écritures en affichant le message d'erreur EDQUOT .

Vous pouvez utiliser la commande quota héritée pour examiner les quotas d'utilisateurs dans un environnement NFS où un système de fichiers ZFS est monté, par exemple. Sans aucune option, la commande quota affiche uniquement la sortie en cas de dépassement du quota de l'utilisateur. Exemple :


# zfs set userquota@student1=10m students/compsci   
# zfs userspace students/compsci
TYPE        NAME      USED  QUOTA  
POSIX User  root      227M   none  
POSIX User  student1  455M    10M  
# quota student1
Block limit reached on /students/compsci

Si vous réinitialisez le quota d'utilisateurs et que la limite du quota n'est plus dépassée, vous devez utiliser la commande quota -v pour examiner le quota de l'utilisateur. Exemple :


# zfs set userquota@student1=10GB students/compsci 
# zfs userspace students/compsci
TYPE        NAME      USED  QUOTA  
POSIX User  root      227M   none  
POSIX User  student1  455M    10G  
# quota student1
# quota -v student1
Disk quotas for student1 (uid 201):
Filesystem     usage  quota  limit    timeleft  files  quota  limit    timeleft
/students/compsci
              466029 10485760 10485760     

Définition de réservations sur les systèmes de fichiers ZFS

Une réservation ZFS désigne une quantité d'espace disque du pool garantie pour un jeu de données. Dès lors, pour réserver une quantité d'espace disque pour un jeu de données, cette quantité doit être actuellement disponible sur le pool. La quantité totale d'espace non utilisé des réservations ne peut pas dépasser la quantité d'espace disque non utilisé du pool. La définition et l'affichage des réservations ZFS s'effectuent respectivement à l'aide des commandes zfs set et zfs get. Exemple :


# zfs set reservation=5G tank/home/moore
# zfs get reservation tank/home/moore
NAME             PROPERTY     VALUE   SOURCE
tank/home/moore  reservation  5G      local

Les réservations peuvent affecter la sortie de la commande zfs list. Exemple :


# zfs list
NAME                   USED  AVAIL  REFER  MOUNTPOINT
tank/home             5.00G  33.5G  8.50K  /export/home
tank/home/moore       15.0K  33.5G  8.50K  /export/home/moore

Notez que tank/home utilise 5 Go d'espace bien que la quantité totale d'espace à laquelle tank/home et ses descendants font référence est bien inférieure à 5 Go. L'espace utilisé correspond à l'espace réservé pour tank/home/moore. Les réservations sont prises en compte dans le calcul de l'espace disque utilisé des jeux de données parent et non dans le quota, la réservation ou les deux.


# zfs set quota=5G pool/filesystem
# zfs set reservation=10G pool/filesystem/user1
cannot set reservation for 'pool/filesystem/user1': size is greater than 
available space

Un jeu de données peut utiliser davantage d'espace disque que sa réservation, du moment que le pool dispose d'un espace non réservé et disponible et que l'utilisation actuelle du jeu de données se trouve en dessous des quotas. Un jeu de données ne peut pas utiliser un espace disque réservé à un autre jeu de données.

Les réservations ne sont pas cumulatives. En d'autres termes, l'exécution d'une nouvelle commande zfs set pour un jeu de données déjà associé à une réservation n'entraîne pas l'ajout de la nouvelle réservation à la réservation existante. La seconde réservation remplace la première. Exemple :


# zfs set reservation=10G tank/home/moore
# zfs set reservation=5G tank/home/moore
# zfs get reservation tank/home/moore
NAME             PROPERTY      VALUE                      SOURCE
tank/home/moore  reservation   5.00G                      local

Vous pouvez définir une réservation refreservation pour garantir un espace disque ne contenant aucun instantané ou clone au jeu de données. Cette valeur est prise en compte dans le calcul de l'espace utilisé des jeux de données parent et vient en déduction des quotas et réservations des jeux de données parent. Exemple :


# zfs set refreservation=10g profs/prof1
# zfs list
NAME                      USED  AVAIL  REFER  MOUNTPOINT
profs                    10.0G  23.2G    19K  /profs
profs/prof1                10G  33.2G    18K  /profs/prof1

Vous pouvez également définir une valeur de réservation pour le même jeu de données afin de garantir l'espace du jeu de données et pas de l'espace des instantanés. Exemple :


# zfs set reservation=20g profs/prof1
# zfs list
NAME                      USED  AVAIL  REFER  MOUNTPOINT
profs                    20.0G  13.2G    19K  /profs
profs/prof1                10G  33.2G    18K  /profs/prof1

Les réservations régulières sont prises en compte dans le calcul de l'espace utilisé du parent.

Dans l'exemple précédent, le plus petit des deux quotas (10 Go par rapport à 20 Go) s'affiche dans la sortie zfs list. Pour afficher la valeur des deux quotas, utilisez la commande zfs get. Exemple :


# zfs get reservation,refreserv profs/prof1
NAME         PROPERTY        VALUE        SOURCE
profs/prof1  reservation     20G          local
profs/prof1  refreservation  10G          local

Lorsque la propriété refreservation est définie, un instantané n'est autorisé que si suffisamment d'espace non réservé est disponible dans le pool au-delà de cette réservation afin de pouvoir contenir le nombre actuel d'octets référencés dans le jeu de données.