Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.5. Gerenciamento de Cota do GFS2

As quotas do sistema de arquivos são usadas para limitar a quantidade do espaço do sistema de arquivos que um usuário ou grupo pode usar. Um usuário ou grupo não possui um limite de quota até que um seja estabelecido. Quando um sistema de arquivos GFS2 estiver montado com a opção quota=on ou quota=account, o GFS2 mantém registro do espaço do usuário usado para cada usuário e grupo mesmo onde não há limites impostos. O GFS2 atualiza a informação de quotas de uma maneira transacional que onde travamentos do sistema não requerem uso de quotas para serem reconstruídos.
Para evitar uma redução de desempenho, um nó do GFS2 sincroniza atualizações para o arquivo de cota somente diariamente. A conta de cotas "difusas" (fuzzy) pode permitir que usuários ou grupos excedam um pouco do limite estabelecido. Para minimizar isto, o GFS2 reduz o período de sincronização, de forma dinâmica, quando um limite de cota "hard" é procurado.

Nota

A partir do lançamento do Red Hat Enterprise Linux 6.1, o GFS2 suporta a facilidade de quotas Linux padrões. Para usar isto você precisará instalar o RPM de quota. Esta é a maneira preferida para administrar quotas no GFS2 e deve ser usada para todas as novas implementações do GFS2 usando quotas. Esta seção documenta o gerenciamento de quotas GFS2 usando estas facilidades.
Para versões anteriores do Red Hat Enterprise Linux, o GFS2 requisitava o comando gfs2_quota para gerenciar quotas. Para informações sobre o uso do comando gfs2_quota, veja o Apêndice A, Gerenciamento de Quota do GFS2 com o comando gfs2_quota.

4.5.1. Configurando Quotas de Disco

Para implementar quotas de disco, use os seguintes passos:
  1. Configure quotas em modo enforcement ou accounting
  2. Inicialize o banco de dados de quota com a informação de uso de bloco atual.
  3. Atribua políticas de quota (No modo accounting, estas políticas não são impostas).
Cada um destes passos é discutido em detalhes nas seguintes seções.

4.5.1.1. Definindo Quotas no Modo Enforcement ou Accounting

Nos sistemas de arquivo do GFS2, quotas são desativada por padrão. Para ativar as quotas para um sistema de arquivos, monte o sistema de arquivos com a opção quota=on especificada.
É possível manter o controle do uso do disco e manter a conta de conta para todos os usuários e grupo sem impor o limite e valores warn. Para fazer isto, monte o sistema de arquivo com a opção quota=account especificada.
4.5.1.1.1. Uso
Para montar um sistema de arquivos com as quotas ativadas, monte o sistema de arquivos com a opção quota=on especificada.
mount -o quota=on BlockDevice MountPoint
Para montar um sistema de arquivos as quotas accounting mantidas, mesmo que o limite de quotas não estiver imposto, monte do sistema de arquivos com a opção quota=account especificada.
mount -o quota=account BlockDevice MountPoint
Para montar um sistema de arquivos com quotas desativadas, monte o sistema de arquivos com a opção quota=off especificada. Esta é a configuração padrão.
mount -o quota=off BlockDevice MountPoint
quota={on|off|account}
on - Especifica que as quotas estão habilitadas quando o sistema de arquivos é montado.
off - Especifica que quotas estão desabilitadas quando o sistema de arquivos estiver montado.
account - Especifica que o usuário e as estatisticas de uso do grupo são mantidas pelo sistema de arquivos, mesmo que os limites de quota não são impostos.
BlockDevice
Especifica o dispositivo de bloco onde o sistema de arquivo do GFS2 reside.
MountPoint
Especifica o diretório onde o sistema de arquivo GFS2 deve ser montado.
4.5.1.1.2. Exemplos
Neste exemplo, o sistema de arquivos GFS2 no /dev/vg01/lvol0 é montado no diretório /mygfs2 com quotas ativadas.
mount -o quota=on /dev/vg01/lvol0 /mygfs2
Neste exemplo, o sistema de arquivos GFS2 no /dev/vg01/lvol0 é montado no diretório /mygfs2 com a quota accounting mantida mas não imposta.
mount -o quota=account /dev/vg01/lvol0 /mygfs2

4.5.1.2. Criando os Arquivos de Banco de Dados de Quotas

Depois que cada sistema de arquivos com quotas ativadas é montado, o sistema é capaz de funcionar com quotas de disco. Entretanto, o próprio sistema de arquivos não está pronto ainda para suportar quotas. O próximo passo é rodar o comando quotacheck
O comando quotacheck examina sistemas de arquivos com quotas habilitadas e constrói uma tabela de uso de disco atual por arquivo de sistema. A tabela é então usada para atualizar a cópia de uso do disco do sistema operacional. Além disso, os arquivos de quota de disco do sistema de arquivos são atualizados.
Para criar arquivos de quota no sistema de arquivos, use as opções -u e -g do comando quotacheck; ambas opções devem ser especificadas para quotas de usuário e grupos a serem inicializados. Por exemplo, se as quotas estiverem ativadas para o sistema de arquivos /home, crie os arquivos no diretório /home:
quotacheck -ug /home

4.5.1.3. Atribuindo Quotas por Usuário

O último passo é atribuir quotas de disco com o comando edquota. Note que se você montou seu sistema de arquivos no modo accounting (com a opção quota=account especificada), as quotas não são impostas.
Para configurar a quota para um usuário, como root no prompt de shell, execute o comando:
edquota username
Realize este passo para cada usuário que precisa de uma quota. Por exemplo, se uma quota estiver ativada no /etc/fstab para a partição /home (/dev/VolGroup00/LogVol02 no exemplo abaixo) e o comando edquota testuser é executado, o seguinte é mostrado no editor padrão do sistema:
Disk quotas for user testuser (uid 501):   
Filesystem                blocks     soft     hard    inodes   soft   hard
/dev/VolGroup00/LogVol02  440436        0        0

Nota

O editor de texto definido pela variável de ambiente EDITOR é usada pelo edquota. Para mudar o editor, defina a variável de ambiente EDITOR em seu arquivo ~/.bash_profile para o caminho completo do editor de sua preferência.
Se a primeira coluna é o nome de seu sistema de arquivos que tem uma quota ativada. A segunda coluna mostra quantos blocos o usuário está atualmente usando. As próximas duas colunas são usadas para definir limites de bloco soft e hard para o uso do sistema de arquivos.
O limite de block soft define a quantidade máxima so espaço de disco que pode ser usada.
O limite de bloco hard é a quantidade máxima absoluta de espaço de disco que um usuário ou grupo pode usar. Uma vez este limite é alcançado, mais nenhum espaço de disco pode ser usado.
O sistema de arquivos GFS2 não mantém quotas para o inodes, então estas colunas não se aplicam aos sistemas de arquivos GFS2 e ficarão em branco.
Se qualquer dos valores são configurados para 0, o limite não é definido. Em um editor de texto, mude os limites desejados. Por exemplo:
Disk quotas for user testuser (uid 501):   
Filesystem                blocks     soft     hard    inodes   soft   hard
/dev/VolGroup00/LogVol02  440436   500000   550000
Para verificar que a quota para o usuário foi definida, use o comando:
quota testuser

4.5.1.4. Atribuindo Quotas por Grupo

Quotas também podem ser atribuídas por grupo. Note que se você montou seu sistema de arquivos no modo accounting (com a opção account=on especificada), as quotas não são impostas.
Para definir uma quota de grupo para o grupo devel (o grupo deve existir antes de definir a quota de grupo), use o seguinte comando:
edquota -g devel
Este comando exibe a quota existente para o grupo no editor de texto:
Disk quotas for group devel (gid 505):   
Filesystem                blocks    soft     hard    inodes   soft   hard
/dev/VolGroup00/LogVol02  440400       0        0
O sistema de arquivos GFS2 não mantém quotas para o inodes, então estas colunas não se aplicam para os sistemas de arquivos GFS2 e ficarão em branco. Modifique os limites e então salve o arquivo.
Para verificar que a quota de grupo foi definida, use o seguinte comando:
quota -g devel