¿Cómo puedo mejorar el rendimiento de mi sistema de archivos FSx para Lustre?

4 minutos de lectura
0

Quiero mejorar el rendimiento de mi sistema de archivos Amazon FSx para Lustre.

Resolución

Aumentar el tamaño del sistema de archivos

El rendimiento que admite un sistema de archivos FSx para Lustre es proporcional a su capacidad de almacenamiento.

Capacidad de rendimiento = Capacidad de almacenamiento (TiB) \ * Rendimiento de almacenamiento por unidad (Mbps)

Por ejemplo, un sistema de archivos persistentes con 4,8 TiB de capacidad de almacenamiento y 50 Mbps por TiB de rendimiento por unidad de almacenamiento proporciona:

  • Un rendimiento de disco de referencia agregado de 240 Mbps
  • Un rendimiento de disco en ráfaga de 1,152 GiBps

Si los destinos de almacenamiento de objetos (OST) están casi llenos, es posible que el sistema de archivos se bloquee al leer o escribir en el sistema de archivos. En este caso, aumente el tamaño del sistema de archivos.

Solucionar problemas de OST desequilibrados

FSx para Lustre es un sistema de archivos distribuido que se compone de OST que almacenan datos en el sistema de archivos. Para ver el número de OST y el tamaño de cada OST, ejecute el siguiente comando desde el cliente:

$lfs df -h

Si se trata de un sistema de archivos desequilibrado, el resultado será similar al siguiente:

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

El almacenamiento disponible de un solo OST puede ser relativamente más pequeño o más grande que el resto. Esto ocurre debido a una de las siguientes condiciones:

  • Se añaden nuevos OST y la optimización no está completa.
  • El recuento de franjas predeterminado de una colocaba el archivo en un único OST.

Si hay varios OST llenos, aumente la capacidad de almacenamiento del sistema de archivos. Si solo unos pocos OST están llenos, reequilibre los OST.

Además, ajuste la configuración de franjas para liberar espacio y mejorar el rendimiento. Puede configurar una configuración de diseño de archivos progresivo (PFL) que permita que el diseño de un archivo cambie con el tamaño. Por ejemplo, para especificar una configuración de diseño, utilice el comando lfs setstripe con las opciones**-E** para especificar los componentes de diseño para archivos de diferentes tamaños:

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

Nota:

  • Es posible que PFL no ayude con archivos más pequeños.
  • Puede utilizar el comando lfs setstripe para establecer la configuración de franjas solo para archivos y carpetas nuevos. Debe utilizar el comando lfs migrate para eliminar los archivos o carpetas existentes.
  • Es posible que las lecturas secuenciales no se beneficien del uso de franjas.

Utilice instancias más grandes para cargas de trabajo con uso intensivo de computación

Para cargas de trabajo intensivas, elija instancias con mayor capacidad de memoria o de computación.

A continuación se muestran algunas prácticas recomendadas de ajuste:

1.    Ajuste las instancias de clientes de gran tamaño para obtener un rendimiento óptimo:

Para los tipos de instancias de cliente con memoria de más de 64 GiB, aplique los siguientes ajustes:

lctl set_param ldlm.namespaces.*.lru_max_age=600000

Para los tipos de instancias de cliente con más de 64 núcleos de CPU, aplique los siguientes ajustes:

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.    Una vez montado el cliente, aplique el siguiente 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

Nota:

El comando lctl set_param no persiste durante el reinicio. No puede configurar estos parámetros de forma permanente desde el lado del cliente. Por lo tanto, se recomienda implementar un trabajo boot cron para configurar la configuración con los ajustes recomendados.

Información relacionada

Rendimiento total de referencia y de ráfagas

Consejos de rendimiento

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año