Usando cotas de armazenamento do Lustre - FSxpara Lustre

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Usando cotas de armazenamento do Lustre

É possível criar cotas de armazenamento para usuários, grupos e projetos em sistemas de arquivos do FSx para Lustre. Com as cotas de armazenamento, você pode limitar a quantidade de espaço em disco e o número de arquivos que um usuário, grupo ou projeto pode consumir. As cotas de armazenamento rastreiam automaticamente o uso em nível de usuário, de grupo e de projeto para que você possa monitorar o consumo, independentemente de definir ou não limites de armazenamento.

O Amazon FSx aplica cotas e evita que os usuários que as excederam realizem gravações no espaço de armazenamento. Quando os usuários excedem as cotas, eles devem excluir arquivos suficientes para retornar abaixo dos limites de cota com a finalidade de que possam realizar gravações no sistema de arquivos novamente.

Aplicação de cotas

A aplicação de cotas para usuários, grupos e projetos é habilitada automaticamente em todos os sistemas de arquivos do FSx para Lustre. Não é possível desabilitar a aplicação de cotas.

Tipos de cotas

Os administradores do sistema com credenciais de usuário raiz da AWS conta podem criar os seguintes tipos de cotas:

  • Uma cota de usuário se aplica a um usuário individual. Uma cota de usuário para um determinado usuário pode ser diferente das cotas de outros usuários.

  • Uma cota de grupo se aplica a todos os usuários que são membros de um grupo específico.

  • Uma cota de projeto se aplica a todos os arquivos ou os diretórios associados a um projeto. Um projeto pode incluir diversos diretórios ou arquivos individuais localizados em diretórios diferentes dentro de um sistema de arquivos.

    nota

    As cotas de projeto são suportadas somente na versão 2.15 do Lustre nos sistemas de arquivos FSx for Lustre.

  • Uma cota de bloqueio limita a quantidade de espaço em disco que um usuário, um grupo ou um projeto pode consumir. O tamanho do armazenamento é configurado em kilobytes.

  • Uma cota de inode limita o número de arquivos ou de diretórios que um usuário, um grupo ou um projeto pode criar. O número máximo de inodes é configurado como um número inteiro.

nota

Não há suporte para as cotas padrão.

Se você definir cotas para um usuário e um grupo específicos, e o usuário for membro desse grupo, o uso de dados por parte do usuário se aplicará a ambas as cotas. O uso também é limitado por ambas as cotas. Se um dos limites de cota for atingido, o usuário será impedido de realizar gravações no sistema de arquivos.

nota

As cotas definidas para o usuário raiz não são aplicadas. De forma semelhante, a gravação de dados como usuário raiz usando o comando sudo ignora a aplicação da cota.

Limites de cotas e períodos de carência

O Amazon FSx aplica cotas de usuários, de grupos e de projetos como um limite rígido ou flexível com um período de carência configurável.

O limite rígido corresponde ao limite absoluto. Se os usuários excederem o limite rígido, um bloqueio ou uma alocação de inodes falha e eles recebem uma mensagem Disk quota exceeded. Os usuários que atingiram o limite rígido de cota devem excluir arquivos ou diretórios suficientes para retornar abaixo do limite de cota antes que eles possam realizar gravações no sistema de arquivos novamente. Quando um período de carência é definido, os usuários podem exceder o limite flexível dentro do período de carência se este limite estiver abaixo do limite rígido.

Para limites flexíveis, você configura um período de carência em segundos. O limite flexível deve ser inferior ao limite rígido.

É possível definir diferentes períodos de carência para cotas de inodes e de bloqueios. Além disso, você pode definir diferentes períodos de carência para uma cota de usuário, uma cota de grupo e uma cota de projeto. Quando as cotas de usuário, de grupo e de projeto têm períodos de carência diferentes, o limite flexível se transforma em um limite rígido após a expiração do período de carência de qualquer uma dessas cotas.

Quando os usuários excedem um limite flexível, o Amazon FSx permite que eles continuem excedendo a cota até que o período de carência expire ou até que o limite rígido seja atingido. Após a expiração 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 operação de gravação adicional até que o uso de armazenamento retorne abaixo dos limites definidos para a cota de bloqueio ou para a cota de inode. Os usuários não recebem uma notificação ou um aviso quando o período de carência começa.

Definição e visualização de cotas

Você define cotas de armazenamento usando comandos lfs do sistema de arquivos do Lustre em seu terminal do Linux. O comando lfs setquota define os limites de cotas e o comando lfs quota exibe as informações relacionadas às cotas.

Para obter mais informações sobre os comandos de cotas do Lustre, consulte Manual de operações do Lustre no site de documentação do Lustre.

Definição de cotas de usuário, de grupo e de projeto

A sintaxe do comando setquota para definir cotas de usuário, de grupo ou de projeto é semelhante à apresentada a seguir.

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

Em que:

  • -u ou --user especifica um usuário para o qual uma cota será definida.

  • -g ou --group especifica um grupo para o qual uma cota será definida.

  • -p ou --project especifica um projeto para o qual uma cota será definida.

  • -b define uma cota de bloqueio com um limite flexível. -B define uma cota de bloqueio com um limite rígido. Tanto o block_softlimit quando o block_hardlimit são expressos em kilobytes, e o valor mínimo é 1.024 KB.

  • -i define uma cota de inode com um limite flexível. -I define uma cota de inode com um limite rígido. Tanto o inode_softlimit quanto o inode_hardlimit são expressos em número de inodes, e o mínimo o valor é 1.024 inodes.

  • mount_point corresponde ao diretório no qual o sistema de arquivos foi montado.

Exemplo de cota de usuário: o comando apresentado a seguir define um limite de bloqueio flexível de 5.000 KB, um limite de bloqueio rígido de 8.000 KB, um limite de inode flexível de dois mil e uma cota de limite de inode rígido de três mil para user1 no sistema de arquivos montado em /mnt/fsx.

sudo lfs setquota -u user1 -b 5000 -B 8000 -i 2000 -I 3000 /mnt/fsx

Exemplo de cota de grupo: o comando apresentado a seguir define um limite de bloqueio rígido de 100.000 KB para o grupo chamado group1 no sistema de arquivos montado em /mnt/fsx.

sudo lfs setquota -g group1 -B 100000 /mnt/fsx

Exemplo de cota de projeto: primeiro, é necessário se certificar de que você usou o comando project para associar os arquivos e os diretórios desejados ao projeto. Por exemplo, o comando apresentado a seguir associa todos os arquivos e os subdiretórios do diretório /mnt/fsxfs/dir1 ao projeto cujo ID do projeto é 100.

sudo lfs project -p 100 -r -s /mnt/fsxfs/dir1

Em seguida, use o comando setquota para definir a cota de projeto. O comando apresentado a seguir define um limite de bloqueio flexível de 307.200 KB, um limite de bloqueio rígido de 309.200 KB, um limite de inode flexível de dez mil e uma cota de limite de inode rígido de onze mil para o projeto 250 no sistema de arquivos montado em /mnt/fsx.

sudo lfs setquota -p 250 -b 307200 -B 309200 -i 10000 -I 11000 /mnt/fsx

Definição de períodos de carência

O período de carência padrão é de uma semana. É possível ajustar o período de carência padrão para usuários, grupos ou projetos usando a sintaxe apresentada a seguir.

lfs setquota -t {-u|-g|-p} [-b block_grace] [-i inode_grace] /mount_point

Em que:

  • -t indica que um período de carência será definido.

  • -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 define um período de carência para as cotas de bloqueio. -i define um período de carência para as cotas de inode. Tanto block_grace quanto inode_grace são expressos em segundos inteiros ou no formato XXwXXdXXhXXmXXs.

  • mount_point corresponde ao diretório no qual o sistema de arquivos foi montado.

O comando apresentado a seguir define períodos de carência de mil segundos para as cotas de bloqueio do usuário e de uma semana e quatro dias para as cotas de inode do usuário.

sudo lfs setquota -t -u -b 1000 -i 1w4d /mnt/fsx

Visualização de cotas

O comando quota exibe informações sobre cotas de usuário, cotas de grupo, cotas de projeto e períodos de carência.

Visualização do comando de cotas Informações exibidas sobre as cotas

lfs quota /mount_point

Informações gerais sobre a cota (por exemplo, uso do disco e limites) para o usuário que executa o comando e o grupo principal do usuário.

lfs quota -u username /mount_point

Informações gerais sobre a cota para um usuário específico. Usuários com credenciais de usuário raiz da AWS conta podem executar esse comando para qualquer usuário, mas usuários não root não podem executar esse comando para obter informações de cotas sobre outros usuários.

lfs quota -u username -v /mount_point

Informações gerais sobre a cota para um usuário específico e estatísticas detalhadas sobre a cota para cada destino de armazenamento de objetos (OST) e destino de metadados (MDT). Usuários com credenciais de usuário raiz da AWS conta podem executar esse comando para qualquer usuário, mas usuários não root não podem executar esse comando para obter informações de cotas sobre outros usuários.

lfs quota -g groupname /mount_point

Informações gerais sobre a cota para um grupo específico.

lfs quota -p projectid /mount_point

Informações gerais sobre a cota para um projeto específico.

lfs quota -t -u /mount_point

Períodos de carência de bloqueio e de inode para cotas de usuário.

lfs quota -t -g /mount_point

Períodos de carência de bloqueio e de inode para cotas de grupo.

lfs quota -t -p /mount_point

Períodos de carência de bloqueio e de inode para cotas de projeto.

Cotas e buckets vinculados do Amazon S3

É possível vincular seu sistema de arquivos do FSx para Lustre a um repositório de dados do Amazon S3. Para ter mais informações, consulte Vinculando seu sistema de arquivos a um bucket do Amazon S3.

Opcionalmente, você pode escolher uma pasta ou um prefixo específico em um bucket do S3 vinculado como um caminho de importação para o sistema de arquivos. Quando uma pasta no Amazon S3 é especificada e importada para o sistema de arquivos usando o S3, somente os dados dessa pasta são aplicados à cota. Os dados de todo o bucket não são contabilizados nos limites de cotas.

Os metadados de arquivo em um bucket do S3 vinculado são importados para uma pasta com uma estrutura correspondente à pasta importada do Amazon S3. Esses arquivos são contabilizados para as cotas de inodes de usuários e grupos que têm os arquivos.

Quando um usuário executa um hsm_restore ou carrega lentamente um arquivo, o tamanho total do arquivo é contabilizado para a cota de bloqueio associada ao proprietário do arquivo. Por exemplo, se o usuário A carregar lentamente um arquivo de propriedade do usuário B, a quantidade de armazenamento e o uso de inodes serão contabilizados na cota do usuário B. De forma semelhante, quando um usuário usa a API do Amazon FSx para liberar um arquivo, os dados são liberados das cotas de bloqueio do usuário ou de grupo proprietário do arquivo.

Como as restaurações e o carregamento lento do HSM são executados com acesso raiz, eles ignoram a aplicação de cotas. Depois que os dados forem importados, eles serão contabilizados para o usuário ou para o grupo com base na propriedade definida no S3, o que pode fazer com que os usuários ou os grupos excedam os limites de bloqueio. Se isso ocorrer, eles precisarão liberar arquivos para realizar gravações no sistema de arquivos novamente.

De forma semelhante, os sistemas de arquivos com importação automática habilitada criarão automaticamente novos inodes para objetos adicionados ao S3. Esses novos inodes são criados com acesso raiz e ignoram a aplicação de cotas enquanto estão sendo criados. Esses novos inodes serão contabilizados para os usuários e para os grupos, com base em quem é o proprietário do objeto no S3. Se esses usuários e grupos excederem as cotas de inode com base na atividade de importação automática, eles terão que excluir arquivos para liberar capacidade adicional e retornar abaixo dos limites de cotas.

Cotas e restauração de backups

Ao restaurar um backup, as configurações de cotas do sistema de arquivos original são implementadas no sistema de arquivos restaurado. Por exemplo, se as cotas forem definidas no sistema de arquivos A e o sistema de arquivos B for criado de um backup do sistema de arquivos A, as cotas do sistema de arquivos A serão aplicadas no sistema de arquivos B.