Usar cotas em sistemas de arquivos do Lustre Gerenciado pelo Azure
Neste artigo, você aprenderá a definir e configurar cotas para sistemas de arquivos do Azure Managed Lustre. As cotas permitem que um administrador do sistema limite a quantidade de armazenamento que os usuários podem consumir em um sistema de arquivos. Você pode definir cotas para usuários individuais, grupos ou projetos.
Pré-requisitos
- Sistema de arquivos existente do Azure Managed Lustre – crie um usando o portal do Azure, o Azure Resource Manager ou o Terraform. Para saber mais sobre a integração de blobs, consulte Pré-requisitos de integração de blobs.
Tipos de cotas
O Azure Managed Lustre dá suporte aos seguintes tipos de cotas:
- Cotas de usuário: limita a quantidade de armazenamento que um usuário individual pode consumir em um sistema de arquivos. Uma cota de usuário para um usuário específico pode ser diferente das cotas de outros usuários.
- Cotas de grupo: limita a quantidade de armazenamento que um grupo de usuários pode consumir em um sistema de arquivos. Uma cota de grupo se aplica a todos os usuários que são membros de um grupo específico.
- Cotas de projeto: limita a quantidade de armazenamento que um projeto pode consumir em um sistema de arquivos. Uma cota de projeto se aplica a todos os arquivos ou diretórios associados a um projeto. Um projeto pode incluir vários diretórios ou arquivos individuais localizados em diretórios diferentes dentro de um sistema de arquivos.
As seguintes cotas de limite podem ser aplicadas a cotas de usuário, grupo ou projeto:
- Bloquear cotas: limita a quantidade de armazenamento que um usuário, grupo ou projeto pode consumir em um sistema de arquivos. Você configura o tamanho do armazenamento em kilobytes.
- Cotas de inode: limita o número de arquivos que um usuário, grupo ou projeto pode criar em um sistema de arquivos. Você configura o número máximo de inodes como um número inteiro.
Observação
As cotas não se aplicam ao usuário raiz. As cotas definidas para o usuário raiz não são impostas. Da mesma forma, gravar dados como o usuário raiz usando o comando sudo ignora a imposição da cota.
Definir e exibir cotas para um sistema de arquivos
Para definir cotas para um sistema de arquivos, use o lfs setquota
comando. O lfs setquota
comando permite definir cotas para usuários individuais, grupos ou projetos. Para exibir cotas para um sistema de arquivos, use o lfs quota
comando.
Definir cotas para um sistema de arquivos
Para definir uma cota para um usuário, grupo ou projeto, use a seguinte sintaxe:
lfs setquota {-u|--user|-g|--group|-p|--project} username|groupname|projectid
[-b block_softlimit] [-B block_hardlimit]
[-i inode_softlimit] [-I inode_hardlimit]
/mount_point
O comando usa os seguintes parâmetros:
-u
ou--user
especifica um usuário para o qual definir uma cota.-g
ou--group
especifica um grupo para o qual definir uma cota.-p
ou--project
especifica um projeto para o qual definir uma cota.-b
Especifica o limite flexível para cotas de bloco.-B
Especifica o limite rígido para cotas de bloco. Para saber mais sobre limites, consulte Limites e períodos de carência para cotas.-i
Especifica o limite flexível para cotas de inode.-I
Especifica o limite rígido para cotas de inode./mount_point
Especifica o ponto de montagem do sistema de arquivos.
O exemplo a seguir define uma cota de bloco com um limite flexível de 1 TB e um limite rígido de 2 TB para o usuário user1
no sistema de arquivos montado em /mnt/fs1
:
sudo lfs setquota -u user1 -b 1T -B 2T /mnt/fs1
Exibir cotas para um sistema de arquivos
Para exibir cotas para um sistema de arquivos, use o lfs quota
comando. Você pode exibir informações sobre cotas de usuário, cotas de grupo, cotas de projeto e períodos de carência.
Os exemplos a seguir mostram diferentes maneiras de exibir cotas no sistema de arquivos montado em /mnt/fs1
:
Comando | Descrição |
---|---|
lfs quota /mnt/fs1 |
Exibe informações gerais de cota (uso e limites de disco) para o usuário que executa o comando e o grupo primário do usuário. |
lfs quota -u user1 /mnt/fs1 |
Exibe informações gerais de cota para o usuário user1 no sistema de arquivos. |
lfs quota -g group1 /mnt/fs1 |
Exibe informações gerais de cota para o grupo group1 no sistema de arquivos. |
lfs quota -p project1 /mnt/fs1 |
Exibe informações gerais de cota para o projeto project1 no sistema de arquivos. |
lfs quota -t -u /mnt/fs1 |
Exibe períodos de carência de bloco e inode para cotas de usuário. |
lfs quota -t -g /mnt/fs1 |
Exibe períodos de carência de bloco e inode para cotas de grupo. |
lfs quota -t -p /mnt/fs1 |
Exibe períodos de carência de bloco e inode para cotas de projeto. |
Limites e períodos de carência para cotas
O Azure Managed Lustre impõe cotas de usuário, grupo e projeto como um limite rígido ou flexível com um período de carência configurável.
O limite rígido é o limite absoluto. Se um usuário exceder o limite rígido, uma alocação de bloco ou inode falhará com uma Disk quota exceeded
mensagem. Os usuários que atingirem o limite rígido de cota devem excluir arquivos ou diretórios suficientes para ficar abaixo do limite de cota antes de poderem gravar no sistema de arquivos novamente.
O limite flexível deve ser menor que o limite rígido. Se um usuário exceder o limite flexível, ele poderá continuar a exceder a cota até que o período de carência termine ou até que o limite rígido seja atingido. Após o término do período de carência, o limite flexível é convertido em um limite rígido e os usuários são bloqueados de qualquer outra operação de gravação até que seu uso retorne abaixo da cota de bloco definida ou dos limites de cota de inode. Um usuário não recebe uma notificação ou aviso quando o período de carência começa.
O período de carência é padronizado para uma semana e se aplica a todos os usuários (para cotas de usuários), grupos (para cotas de grupo) ou projetos (para cotas de projetos). Em outras palavras, você não pode aplicar períodos de carência diferentes a cotas de usuário diferentes. A mesma restrição se aplica a cotas de grupo e cota de projeto. No entanto, você pode definir diferentes períodos de carência para cotas de inode e bloco.
A configuração do período de carência pode variar para cotas de usuário, grupo e projeto, mas a alteração se aplica a todas as entidades em cada uma das três categorias.
Definir períodos de carência para cotas
Para definir um período de carência para uma cota, use a seguinte sintaxe:
sudo lfs setquota -t {-u|-g|-p}
[-b block_grace]
[-i inode_grace]
/mount_point
O comando usa os seguintes parâmetros:
-t
especifica que você está definindo um período de carência.-u
define um período de carência para todos os usuários.-g
Define um período de carência para todos os grupos.-p
define um período de carência para todos os projetos.-b
Especifica o período de carência para cotas de bloco.-i
Especifica o período de carência para cotas de inode. Ambos eblock_grace
inode_grace
os valores estão em segundos por padrão. Você também pode usarXXwXXdXXhXXmXXs
o formato para especificar o período de carência em semanas, dias, horas, minutos ou segundos.
Nenhum valor é permitido após -u
, -g
, ou -p
. Por padrão, o período de carência é de uma semana.
O exemplo a seguir define o período de carência da cota de bloco como cinco dias (5d
) para todos os usuários no sistema de fs1
arquivos:
sudo lfs setquota -t -u -b 5d /mnt/fs1
Próximas etapas
Neste artigo, você aprendeu a definir e configurar cotas para sistemas de arquivos do Azure Managed Lustre. Para saber mais sobre o Azure Managed Lustre, consulte a documentação do Azure Managed Lustre.