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 |
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).
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 :
Le littéral nom peut être utilisé avec une liste séparée par des virgules de propriétés comme l'explique la section Présentation des propriétés ZFS.
Une liste de champs littéraux séparés par des virgules (name, value, property et source) suivi d'un espace et d'un argument. En d'autres termes, il s'agit d'une liste de propriétés séparées par des virgules.
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 |