Gestion des systèmes de fichiers ZFS dans Oracle®Solaris 11.2

Quitter la vue de l'impression

Mis à jour : Décembre 2014
 
 

Interrogation des 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. 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.

Table 5-3  Valeurs possibles de la colonne SOURCE (commande zfs get)
Valeur source
Description
Valeur par défaut
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.
hérité de dataset-name
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 (Aucune)
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              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).

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 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