Como posso melhorar o desempenho do meu sistema de arquivos FSx for Lustre?

4 minuto de leitura
0

Quero melhorar o desempenho do meu sistema de arquivos Amazon FSx for Lustre.

Resolução

Aumentar o tamanho do sistema de arquivos

A taxa de transferência suportada por um sistema de arquivos FSx for Lustre é proporcional à sua capacidade de armazenamento.

Capacidade de throughput = Capacidade de armazenamento (TiB) * Capacidade de throughput de armazenamento por unidade (MBps)

Por exemplo, um sistema de arquivos persistente com 4,8 TiB de capacidade de armazenamento e 50 MBps por TiB de throughput por unidade de armazenamento fornece:

  • Um throughput de disco de linha de base agregada de 240 MBps
  • Um throughput de disco intermitente de 1,152 GiBps

Se os destinos de armazenamento de objetos (OSTs) estiverem quase cheios, o sistema de arquivos poderá travar ou ficar preso quando você ler ou gravar nele. Nesse caso, aumente o tamanho do sistema de arquivos.

Solucionar problemas de OSTs desbalanceados

O FSx for Lustre é um sistema de arquivos distribuído composto por OSTs que armazenam dados no sistema de arquivos. Para ver o número de OSTs e o tamanho de cada OST, execute o seguinte comando no cliente:

$lfs df -h

Se for um sistema de arquivos desequilibrado, a saída será semelhante à seguinte:

UUID                 bytes   Used  Available Use%  Mounted on  
testfs-MDT0000_UUID  4.4G   214.5M   3.9G     4%   /mnt/testfs[MDT:0]  
testfs-MDT0001_UUID  4.4G   144.5M   4.0G     4%   /mnt/testfs[MDT:1]  
testfs-OST0000_UUID  2.0T   751.3G   1.1G    37%   /mnt/testfs[OST:0]  
testfs-OST0001_UUID  2.0T   755.3G   1.1G    37%   /mnt/testfs[OST:1]  
testfs-OST0002_UUID  2.0T     1.9T  55.1M    99%   /mnt/testfs[OST:2] <-  
testfs-OST0003_UUID  2.0T   751.3G   1.1G    37%   /mnt/testfs[OST:3]  
testfs-OST0004_UUID  2.0T   747.3G   1.1G    37%   /mnt/testfs[OST:4]  
testfs-OST0005_UUID  2.0T   743.3G   1.1G    36%   /mnt/testfs[OST:5]

filesystem summary: 11.8T     5.5T   5.7T    46%  /mnt/lustre

O armazenamento disponível de um único OST pode ser relativamente menor ou maior do que o resto. Isso acontece devido a uma das seguintes situações:

  • Novos OSTs são adicionados e a otimização não está completa.
  • A contagem de faixas padrão de um colocou o arquivo em um único OST.

Se vários OSTs estiverem cheios, aumente a capacidade de armazenamento do seu sistema de arquivos. Se apenas alguns OSTs estiverem cheios, redistribua os OSTs.

Além disso, ajuste a configuração de distribuição para liberar espaço e melhorar o desempenho. Você pode definir uma configuração de ](https://docs.aws.amazon.com/fsx/latest/LustreGuide/performance.html#striping-pfl)layout de arquivo progressivo (PFL)[ que permite que o layout de um arquivo mude com o tamanho. Por exemplo, para especificar uma configuração de layout, use o comando lfs setstripe com opções -E para especificar componentes de layout para arquivos de tamanhos diferentes:

lfs setstripe -E 100M -c 1 -E 10G -c 8 -E 100G -c 16 -E -1 -c 32 /mountname/directory

**Observação: **

  • O PFL pode não ajudar com arquivos menores.
  • Você pode usar o comando lfs setstripe para definir a configuração do stripe somente para novos arquivos e pastas. Você deve usar o comando lfs migrate para remover os arquivos ou pastas existentes.
  • As leituras sequenciais podem não se beneficiar do stripping.

Use instâncias maiores para cargas de trabalho com uso intensivo de computação

Para cargas de trabalho intensivas, escolha instâncias com maior capacidade de memória ou computação.

Veja a seguir algumas práticas recomendadas de ajuste:

1.    Ajuste grandes instâncias de clientes para obter um desempenho ideal:

Para tipos de instâncias de cliente com memória de mais de 64 GiB, aplique o seguinte ajuste:

lctl set_param ldlm.namespaces.*.lru_max_age=600000

Para tipos de instância de cliente com mais de 64 núcleos de CPU, aplique o seguinte ajuste:

echo "options ptlrpc ptlrpcd_per_cpt_max=32" >> /etc/modprobe.d/modprobe.conf  
echo "options ksocklnd credits=2560" >> /etc/modprobe.d/modprobe.conf  
         
# reload all kernel modules to apply the above two settings  
sudo reboot

2.    Depois que o cliente estiver montado, aplique o seguinte ajuste:

sudo lctl set_param osc.*OST*.max_rpcs_in_flight=32  
sudo lctl set_param mdc.*.max_rpcs_in_flight=64  
sudo lctl set_param mdc.*.max_mod_rpcs_in_flight=50

**Observação: **

O comando lctl set_param não persiste durante a reinicialização. Você não pode definir esses parâmetros permanentemente do lado do cliente. Portanto, é uma prática recomendada implementar uma tarefa de boot cron para definir a configuração com os ajustes recomendados.

Informações relacionadas

Linha de base agregada e taxa de throughput intermitente

Dicas de desempenho

AWS OFICIAL
AWS OFICIALAtualizada há um ano