JavaScript is required to for searching.
Ignorar Links de Navegao
Sair do Modo de Exibio de Impresso
Guia de administração do Oracle Solaris ZFS     Oracle Solaris 10 1/13 Information Library (Português (Brasil))
search filter icon
search icon

Informação sobre o documento

Prefácio

1.  Sistema de arquivos do Oracle Solaris ZFS (introdução)

2.  Introdução ao ZFS do Oracle Solaris

3.  Gerenciando pools de armazenamento do Oracle Solaris ZFS

4.  Instalando e inicializando um sistema de arquivos raiz do Oracle Solaris ZFS

5.  Gerenciando sistemas de arquivos ZFS do Oracle Solaris

Gerenciando de sistemas de arquivos ZFS (visão geral)

Criando, destruindo e renomeando sistemas de arquivos ZFS

Criando um sistema de arquivos ZFS

Destruindo um sistema de arquivos ZFS

Renomeando um sistema de arquivos ZFS

Introduzindo as propriedades do ZFS

Propriedades nativas somente leitura do ZFS

A propriedade used

Propriedades nativas definíveis do ZFS

A propriedade canmount

A propriedade recordsize

A propriedade volsize

Propriedades de usuário do ZFS

Consultando informações sobre o sistema de arquivos ZFS

Listando informações básicas do ZFS

Criando consultas complexas de ZFS

Gerenciando propriedades do ZFS

Definindo propriedades do ZFS

Herdando propriedades do ZFS

Consultando propriedades do ZFS

Consultando propriedades do ZFS em busca de script

Montando sistemas de arquivos ZFS

Gerenciando pontos de montagem do ZFS

Pontos de montagem automáticos

Pontos de montagem legados

Montando sistemas de arquivos ZFS

Usando propriedades de montagem temporárias

Desmontando sistemas de arquivos

Compartilhando e descompartilhando sistemas de arquivos ZFS

Controlando a semântica de compartilhamento

Descompartilhando sistemas de arquivos ZFS

Compartilhando sistemas de arquivos ZFS

Comportamento de compartilhamento de legado

Definindo cotas e reservas do ZFS

Definindo cotas em sistemas de arquivos ZFS

Definindo usuário e grupo de cotas em um sistema de arquivos ZFS

Definindo reservas nos sistemas de arquivos ZFS

Atualização de sistemas de arquivos ZFS

6.  Trabalhando com instantâneos e clones do Oracle Solaris ZFS

7.  Uso de ACLs e atributos para proteger arquivos do Oracle Solaris ZFS

8.  Administração delegada do ZFS do Oracle Solaris

9.  Tópicos avançados do Oracle Solaris ZFS

10.  Solução de problemas e recuperação de pools do Oracle Solaris ZFS

11.  Práticas Recomendadas do Oracle Solaris ZFS

A.  Descrição das versões do Oracle Solaris ZFS

Índice

Definindo cotas e reservas do ZFS

É possível utilizar a propriedade cota para definir um limite na quantidade de espaço em disco que um sistema de arquivos necessite utilizar. Além disso, é possível utilizar a propriedade reserva para garantir que uma quantidade especificada de espaço em disco esteja disponível para um sistema de arquivos. Ambas as propriedades se aplicam ao sistema de arquivos em que são definidas e todos os descendentes desse sistema de arquivos.

Isto é, se uma cota é definida no sistema de arquivos tank/home, a quantidade total do espaço em disco utilizado pelo tank/home e todos os seus descendentes não podem exceder a cota. Do mesmo modo, se ao tank/home é dado uma reserva, tank/home e todos os seus descendentes utilizarão tal reserva. A quantidade de espaço em disco utilizado por um sistema de arquivos e todos os seus descendentes são relatados pela propriedade utilizada.

As propriedades refquota e refreservation são utilizadas para gerenciar o espaço do sistema de arquivos sem contabilizar o espaço em disco utilizado pelos descendentes, tal como instantâneos e clones.

Nessa versão do Solaris, é possível definir uma cota de usuário ou de grupo na quantidade de espaço em disco utilizado por arquivos que pertencem a um usuário particular ou a um grupo. As propriedades de cota do usuário ou grupo não podem ser definidas em um volume, em um sistema de arquivos antes da versão 4 do sistema de arquivos, ou em um pool antes da versão 15 do pool.

Considere os pontos a seguir para determinar quais recursos de cotas e reservas melhor ajudam no gerenciamento dos sistemas de arquivos:

Para obter informações sobre a definição de cotas e reservas, consulte Definindo cotas em sistemas de arquivos ZFSand Definindo reservas nos sistemas de arquivos ZFS.

Definindo cotas em sistemas de arquivos ZFS

As cotas nos sistemas de arquivos ZFS podem ser configuradas e exibidas utilizando os comandos zfs set e zfs get. No exemplo a seguir, uma cota de 10 GB é configurada no tank/home/jeff:

# zfs set quota=10G tank/home/jeff
# zfs get quota tank/home/jeff
NAME            PROPERTY  VALUE  SOURCE
tank/home/jeff  quota     10G    local

As cotas também afetam a saída dos comandos zfs list e df. Por exemplo:

# zfs list -r tank/home
NAME                USED  AVAIL  REFER  MOUNTPOINT
tank/home          1.45M  66.9G    36K  /tank/home
tank/home/eric      547K  66.9G   547K  /tank/home/eric
tank/home/jeff      322K  10.0G   291K  /tank/home/jeff
tank/home/jeff/ws    31K  10.0G    31K  /tank/home/jeff/ws
tank/home/lori      547K  66.9G   547K  /tank/home/lori
tank/home/mark       31K  66.9G    31K  /tank/home/mark
# df -h /tank/home/jeff
Filesystem            Size  Used Avail Use% Mounted on
tank/home/jeff         10G  306K   10G   1% /tank/home/jeff

Observe que, embora tank/home possua 66,9 GB de espaço em disco disponível, tank/home/jeff e tank/home/jeff/ws possuem, cada um, somente 10 GB de espaço em disco disponível, devido à cota em tank/home/jeff.

Não é possível definir uma cota para uma quantidade menor do que a atualmente em uso por um sistema de arquivos. Por exemplo:

# zfs set quota=10K tank/home/jeff
cannot set property for 'tank/home/jeff': 
size is less than current used or reserved space

É possível definir uma refquota em um sistema de arquivos que limite a quantidade de espaço em disco que o sistema de arquivos pode consumir. Esse limite de disco rígido não inclui o espaço em disco que é utilizado pelos descendentes. Por exemplo, a cota de 10 GB do aluno A não é afetada pelo espaço consumido por instantâneos.

# zfs set refquota=10g students/studentA
# zfs list -t all -r students
NAME                          USED  AVAIL  REFER  MOUNTPOINT
students                      150M  66.8G    32K  /students
students/studentA             150M  9.85G   150M  /students/studentA
students/studentA@yesterday      0      -   150M  -
# zfs snapshot students/studentA@today
# zfs list -t all -r students
students                      150M  66.8G    32K  /students
students/studentA             150M  9.90G   100M  /students/studentA
students/studentA@yesterday  50.0M      -   150M  -
students/studentA@today          0      -   100M  -

Para maior comodidade, é possível configurar outra cota no sistema de arquivos para ajudar a gerenciar o espaço em disco que é utilizado pelos instantâneos. Por exemplo:

# zfs set quota=20g students/studentA
# zfs list -t all -r students
NAME                          USED  AVAIL  REFER  MOUNTPOINT
students                      150M  66.8G    32K  /students
students/studentA             150M  9.90G   100M  /students/studentA
students/studentA@yesterday  50.0M      -   150M  -
students/studentA@today          0      -   100M  -

Nesse cenário, studentA deve alcançar refquota (10 GB) de limite de disco rígido, mas studentA pode remover arquivos para recuperar, mesmo se existirem instantâneos.

No exemplo anterior, a menor das duas cotas (10 GB comparado a 20 GB) é exibida na saída zfs list. Para visualizar o valor de ambas as cotas, utilize o comando zfs get. Por exemplo:

# zfs get refquota,quota students/studentA
NAME               PROPERTY  VALUE              SOURCE
students/studentA  refquota  10G                local
students/studentA  quota     20G                local

Definindo usuário e grupo de cotas em um sistema de arquivos ZFS

É possível definir uma cota de usuário ou de grupo utilizando os comandos zfs userquota ou zfs groupquota, respectivamente. Por exemplo:

# zfs create students/compsci
# zfs set userquota@student1=10G students/compsci
# zfs create students/labstaff
# zfs set groupquota@labstaff=20GB students/labstaff

Exiba a cota atual do usuário ou grupo como segue:

# zfs get userquota@student1 students/compsci
NAME              PROPERTY            VALUE               SOURCE
students/compsci  userquota@student1  10G                 local
# zfs get groupquota@labstaff students/labstaff
NAME               PROPERTY             VALUE                SOURCE
students/labstaff  groupquota@labstaff  20G                  local

É possível exibir o usuário geral ou o grupo de espaço em disco consultando as propriedades a seguir:

# zfs userspace students/compsci
TYPE        NAME      USED  QUOTA  
POSIX User  root      350M   none  
POSIX User  student1  426M    10G  
# zfs groupspace students/labstaff
TYPE         NAME      USED  QUOTA  
POSIX Group  labstaff  250M    20G  
POSIX Group  root      350M   none  

Para identificar usuários individuais ou de grupo de uso do espaço em disco, consulte as propriedades a seguir:

# zfs get userused@student1 students/compsci
NAME              PROPERTY           VALUE              SOURCE
students/compsci  userused@student1  550M               local
# zfs get groupused@labstaff students/labstaff
NAME               PROPERTY            VALUE               SOURCE
students/labstaff  groupused@labstaff  250                 local

As propriedades de cotas de usuário e de grupo não são exibidas utilizando o comando zfs get all conjunto de dados, que exibem uma lista de todas as outras propriedades do sistema de arquivos.

É possível remover uma cota de usuário de grupo da seguinte forma:

# zfs set userquota@student1=none students/compsci
# zfs set groupquota@labstaff=none students/labstaff

As cotas de usuário e de grupo no sistema de arquivos ZFS fornecem os recursos a seguir:

Aplicação de usuário e cotas de grupos podem ser adiadas por vários segundos. Esta atraso significa que os usuários podem exceder suas cotas antes que o sistema observe que estão acima da cota e recusa gravações adicionais EDQUOT .

Você pode usar o comando quota herdado, para rever as cotas do usuário em um ambiente NFS, por exemplo, onde uma sistema de arquivos ZFS não esteja montado. Sem quaisquer opções, o comando quota somente exibe a saída se a cota do usuário estiver excedida. Por exemplo:

# zfs set userquota@student1=10m students/compsci   
# zfs userspace students/compsci
TYPE        NAME      USED  QUOTA  
POSIX User  root      350M   none  
POSIX User  student1  550M    10M  
# quota student1
Block limit reached on /students/compsci

Se você predefinir a cota de usuário e o limite de cotas não estiver excedido, é possível utilizar o comando quota -v para visualizar a cota do usuário. Por exemplo:

# zfs set userquota@student1=10GB students/compsci 
# zfs userspace students/compsci
TYPE        NAME      USED  QUOTA  
POSIX User  root      350M   none  
POSIX User  student1  550M    10G 
# quota student1
# quota -v student1
Disk quotas for student1 (uid 102):
Filesystem     usage  quota  limit    timeleft  files  quota  limit    timeleft
/students/compsci
              563287 10485760 10485760           -      -      -      -           -

Definindo reservas nos sistemas de arquivos ZFS

Uma reserva ZFS é uma alocação do espaço em disco do pool que garante estar disponível ao conjunto de dados. Assim, não é possível reservar o espaço em disco para um conjunto de dados se o espaço não estiver atualmente disponível no pool. A quantidade total de reservas livres e não consumidas não pode exceder a quantidade de espaço em disco não utilizado no pool. A reservas do ZFS podem ser definidas e exibidas com os comandos zfs set e zfs get. Por exemplo:

# zfs set reservation=5G tank/home/bill
# zfs get reservation tank/home/bill
NAME            PROPERTY     VALUE   SOURCE
tank/home/bill  reservation  5G      local

As reservas podem afetar a saída do comando zfs list. Por exemplo:

# zfs list -r tank/home
NAME                USED  AVAIL  REFER  MOUNTPOINT
tank/home          5.00G  61.9G    37K  /tank/home
tank/home/bill       31K  66.9G    31K  /tank/home/bill
tank/home/jeff      337K  10.0G   306K  /tank/home/jeff
tank/home/lori      547K  61.9G   547K  /tank/home/lori
tank/home/mark       31K  61.9G    31K  /tank/home/mark

Note que tank/home está utilizando 5 GB de espaço em disco, embora a quantidade total do espaço seja referente a tank/home e seus descendentes são menores que 5 GB. O espaço usado reflete o espaço reservado para tank/home/bill. As reservas são consideradas no cálculo de espaço em disco utilizado do sistema de arquivos pai e contam contra sua cota, reserva ou ambos.

# zfs set quota=5G pool/filesystem
# zfs set reservation=10G pool/filesystem/user1
cannot set reservation for 'pool/filesystem/user1': size is greater than 
available space

Um conjunto de dados utiliza mais espaço em disco do que sua reserva, enquanto o espaço não reservado está disponível no pool e o conjunto de dados atualmente utilizado está abaixo de sua cota. Um conjunto de dados não pode utilizar o espaço em disco que foi reservado para outro conjunto de dados.

As reservas não são cumulativas. Ou seja, uma segunda chamada de zfs set para definir uma reserva não adiciona sua reserva à reserva existente. Em vez disso, a segunda reserva substitui a primeira reserva. Por exemplo:

# zfs set reservation=10G tank/home/bill
# zfs set reservation=5G tank/home/bill
# zfs get reservation tank/home/bill
NAME            PROPERTY     VALUE   SOURCE
tank/home/bill  reservation  5G      local

É possível definir uma reserva refreservation para garantir espaço em disco para um conjunto de dados que não inclua espaço em disco utilizado pelos instantâneos e clones. Essa reserva é contabilizada para o cálculo do espaço utilizado do conjunto de dados pai e conta contra as cotas e reservas do conjunto de dados pai. Por exemplo:

# zfs set refreservation=10g profs/prof1
# zfs list
NAME                      USED  AVAIL  REFER  MOUNTPOINT
profs                    10.0G  23.2G    19K  /profs
profs/prof1                10G  33.2G    18K  /profs/prof1

Também é possível definir um reserva no mesmo conjunto de dados para garantir o espaço do conjunto de dados e o espaço do instantâneo. Por exemplo:

# zfs set reservation=20g profs/prof1
# zfs list
NAME                      USED  AVAIL  REFER  MOUNTPOINT
profs                    20.0G  13.2G    19K  /profs
profs/prof1                10G  33.2G    18K  /profs/prof1

As reservas regulares são contabilizados para o cálculo de espaço utilizado do pai.

No exemplo anterior, a menor das duas cotas (10 GB comparado a 20 GB) é exibida na saída zfs list. Para visualizar o valor de ambas as cotas, utilize o comando zfs get. Por exemplo:

# zfs get reservation,refreserv profs/prof1
NAME         PROPERTY        VALUE        SOURCE
profs/prof1  reservation     20G          local
profs/prof1  refreservation  10G          local

Se refreservation está configurada, um instantâneo só é permitido se o espaço do pool não reservado suficiente existe fora da reserva para acomodar o número atual de bytes referenciados no conjunto de dados.