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 |
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).
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 nome literal pode ser utilizado com uma lista de propriedades separadas por vírgula, como definido na seção Introduzindo as propriedades do ZFS.
Uma lista de campos literais separados por vírgula, nome, valor, propriedades e origem, a ser retirada seguida por um espaço e um argumento, que é uma lista de propriedades separadas por vírgula.
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 |