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. Toutefois, 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.
|
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 Mon Dec 3 13:10 2012 - tank/home used 291K - tank/home available 58.7G - tank/home referenced 291K - 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 discard 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 5 - tank/home utf8only off - tank/home normalization none - tank/home casesensitivity mixed - 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 291K - tank/home usedbychildren 0 - tank/home usedbyrefreservation 0 - tank/home logbias latency default tank/home sync standard default tank/home rekeydate - default tank/home rstchown on default
L'option –s de zfs get vous permet de spécifier par 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 l'ensemble des propriétés définies localement sur tank/ws.
# zfs get -s local all tank/ws NAME PROPERTY VALUE SOURCE tank/ws 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 système de fichiers concerné. Dans l'exemple suivant, toutes les propriétés temporaires de l'ensemble des systèmes de fichiers de tank/home sont affichées de façon récursive :
# zfs get -r -s temporary all tank/home NAME PROPERTY VALUE SOURCE tank/home atime off temporary tank/home/jeff atime off temporary tank/home/mark quota 20G 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). Par exemple :
# zfs get -s local all tank/home atime off local tank/home/jeff atime off local tank/home/mark quota 20G 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 manières 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 système de fichiers et 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