Guia de administração do ZFS Oracle Solaris

Consultando propriedades do ZFS

A forma mais simples de consultar os valores de uma propriedade é usando o comando zfs list. Para obter mais informações, consulte Listando informações básicas do ZFS. No entanto, para consultas complexas e para script, use o comando zfs get para fornecer informações mais detalhadas em um formato personalizado.

O comando zfs get pode ser usado para recuperar qualquer propriedade de conjunto de dados. O exemplo a seguir ilustra como recuperar um valor de propriedade único em um conjunto de dados:


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

A quarta coluna, SOURCE, indica a origem do valor da propriedade. A tabela a seguir define os possíveis valores de origem.

Tabela 6–3 Possíveis valores de SOURCE (comando zfs get)

Valor de origem 

Descrição 

default

Esse valor de propriedade nunca foi definido explicitamente para esse conjunto de dados ou para qualquer um dos seus predecessores. O valor padrão desta propriedade está sendo usado. 

inherited from nome-do-conjunto-de-dados

Esse valor de propriedade é herdado a partir do conjunto de dados pai especificado em dataset-name.

local

Este valor de propriedade foi explicitamente definido para este conjunto de dados usando zfs set.

temporary

Esse valor de propriedade foi definido utilizando a opção zfs mount -o e é válido somente durante a montagem. Para obter mais informações sobre as propriedades do ponto de montagem, consulte Usando propriedades de montagem temporárias.

- (none) 

Essa propriedade é somente leitura. Seu valor é gerado pelo ZFS. 

É possível utilizar a palavra-chave especial todos para recuperar todas os valores de propriedade do conjunto de dados. Os exemplos a seguir utilizam a palavra-chave todos:


# 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

Observação –

As propriedades casesensitivity, nbmand, normalization, sharesmb, utf8only e vscan não são totalmente operacionais na versão 10 do Oracle Solaris porque o serviço Oracle Solaris SMB não possui suporte na versão 10 do Oracle Solaris.


A opção -s de zfs get permite especificar, por tipo de origem, o tipo de propriedades a exibir. Esta opção usa uma lista separada por vírgulas indicando os tipos de origem desejados. Somente as propriedades com o tipo de origem especificado são exibidas. Os tipos de origem válidos são local, default, inherited, temporary e none. O exemplo abaixo ilustra todas as propriedades definidas localmente no pool.


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

Todas as opções acima podem ser combinadas com a opção -r para exibir repetidamente as propriedades especificadas em todos os filhos do conjunto de dados especificado. No exemplo abaixo, todas as propriedades temporárias de todos os conjuntos de dados dentro de tank são exibidas repetidamente:


# 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

É possível consultar os valores de propriedade utilizando o comando zfs get sem especificar um sistema de arquivos destino, o que significa que o comando opera em todos os conjuntos ou sistemas de arquivos. Por exemplo:


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

Para obter mais informações sobre o comando zfs get, consulte zfs(1M).

Consultando propriedades do ZFS em busca de script

O comando zfs get oferece suporte às opções -H e - o, que estão destinadas a script. É possível utilizar a opção -H para omitir o cabeçalho de informação e substituir o espaço em branco com o caractere Tab. O espaço em branco uniforme leva em consideração os dados facilmente analisáveis. É possível utilizar a opção -o para personalizar a saída das seguintes maneiras:

O exemplo a seguir ilustra como recuperar um único valor utilizando as opções -H e -o de zfs get:


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

A opção -p relata valores numéricos como seus valores exatos. Por exemplo, 1 MB seria relatado como 1000000. Esta opção pode ser usada da seguinte forma:


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

É possível utilizar a opção -r, juntamente com qualquer uma das opções anteriores, para recuperar recursivamente os valores solicitados para todos os descendentes. O exemplo a seguir utiliza as opções -H, -o e - r para recuperar o nome do conjunto de dados e o valor da propriedade utilizada para export/home e seus descendentes, ao mesmo tempo em que omite a saída de cabeçalho:


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