PowerEdge: Características de Dell Ready Solutions para almacenamiento HPC BeeGFS
Summary: Características de Dell Ready Solutions para almacenamiento HPC BeeGFS
Instructions
Tabla de contenido
- Introducción
- StorageBench: para comparar el rendimiento de diferentes configuraciones RAID
- StorageBench: para identificar destinos de almacenamiento defectuosos o configurados erróneamente
- Conclusión y trabajo a futuro
Introducción
En este blog, se analizan las características más destacadas de Dell Ready Solutions para el almacenamiento HPC BeeGFS que se anunció recientemente. Este es el tercer blog de la serie relacionada con la solución de almacenamiento de alto rendimiento de BeeGFS. El primer blog anunció el lanzamiento de la solución. En el segundo blog, se analizó la escalabilidad de Dell Ready Solutions para el almacenamiento HPC BeeGFS. Proporcionó detalles sobre las configuraciones básicas, las configuraciones escalables flexibles y el rendimiento de lectura/escritura secuencial medido de las diversas configuraciones, lo que demuestra que la escalabilidad es lineal con respecto a la cantidad de servidores en la solución. En el blog actual, se destaca el uso de "StorageBench", el parámetro de referencia de objetivos de almacenamiento integrado de BeeGFS.
BeeGFS es un sistema de archivos de código abierto que se puede descargar desde www.beegfs.io. Es un sistema de archivos paralelo que distribuye datos entre varios destinos de almacenamiento. Es un almacenamiento definido por software que desacopla el sistema de archivos lógicos del hardware de almacenamiento subyacente, lo que permite que el usuario defina cómo y dónde se almacenan los datos. El software del sistema de archivos incluye funciones empresariales, como alta disponibilidad, aplicación de cuotas y listas de control de acceso. Las características clave de BeeGFS son su facilidad de uso, escalabilidad y flexibilidad. Su facilidad de uso se deriva del hecho de que todos los componentes del lado del servidor son demonios de espacio de usuario, mientras que el cliente es un módulo del kernel que no requiere ningún parche en el kernel en sí. Todos los componentes de BeeGFS se pueden instalar y actualizar sin reiniciar el servidor. Podemos agregar clientes y servidores al sistema existente sin tiempo de inactividad. Mediante la adición de servidores y unidades, el rendimiento y la capacidad del sistema de archivos se pueden escalar más verticalmente en el blog vinculado aquí. BeeGFS es compatible con varias distribuciones de Linux y está diseñado para funcionar con cualquier sistema de archivos local compatible con POSIX. BeeGFS también admite la ejecución de varias instancias de un servicio determinado en el mismo servidor.
Dell Ready Solutions para HPC BeeGFS Storage aprovecha todas las características clave del sistema de archivos de BeeGFS y está diseñado para un alto rendimiento. La solución utiliza servidores PowerEdge R740xd para almacenar y prestar servicios o procesar metadatos y datos. Cada servidor PowerEdge R740xd tiene 24 SSD NVMe Intel P4600 de 1,6 TB que se consideran el segundo salto importante en tecnología de unidades. Las SSD son las primeras. En los entornos de HPC, el espacio desde cero a menudo puede ser un factor limitante. Puede ser demasiado pequeño o demasiado lento. Dell EMC Ready Solutions para HPC BeeGFS Storage está diseñado para utilizarse como una solución desde cero y sirve el almacenamiento desde cero mediante el sistema de archivos de BeeGFS.
BeeGFS incluye dos herramientas de análisis comparativo integradas que pueden ayudar a caracterizar o evaluar la red o el almacenamiento : NetBench y StorageBench, respectivamente. Cuando el modo NetBench está habilitado, los servidores descartan las solicitudes de escritura recibidas en lugar de escribir los datos. De manera similar, en el caso de solicitudes de lectura, en lugar de leer desde el sistema de archivos subyacente, solo se envían los búferes de memoria a los clientes. El modo NetBench está diseñado para probar el rendimiento del streaming de red independientemente de los discos subyacentes. Por otro lado, StorageBench está diseñado para medir el rendimiento de streaming del sistema de archivos subyacente independientemente del rendimiento de la red. StorageBench es un parámetro de referencia de destinos de almacenamiento que no utiliza la red. El comando storage-bench simplemente envía la solicitud a los destinos de almacenamiento para comenzar a escribir/leer datos. De esta manera, eliminamos el impacto de la red. El resultado que obtenemos del banco de almacenamiento es el mejor rendimiento que el sistema puede lograr si el rendimiento de la red es ideal. En este blog, se ilustra cómo se puede utilizar StorageBench para comparar el rendimiento de diferentes destinos de almacenamiento y, por lo tanto, identificar destinos defectuosos o configurados erróneamente.
StorageBench: para comparar el rendimiento de diferentes configuraciones RAID
StorageBench no utiliza el sistema de archivos montado. Cuando ejecutamos StorageBench, solo hay un destino por archivo. Storagebench crea un directorio en cada destino de almacenamiento del sistema en el que se crean archivos de prueba igual al número de hilos de ejecución de prueba. Los datos se transmiten directamente a este para mostrar el rendimiento de bajo nivel disponible para cada destino de almacenamiento. Sin comunicación de red, no se puede simular el fraccionado de archivos. Por lo tanto, los resultados del parámetro de referencia de almacenamiento son bastante comparables con las I/O del cliente con el fraccionado deshabilitado. Cuando se ejecutan parámetros de referencia, el archivo se fracciona en cuatro destinos de almacenamiento si se adopta el patrón de fraccionado predeterminado.
Con el fin de probar diferentes objetivos de almacenamiento, se utilizaron las configuraciones pequeñas y medianas descritas en el blog sobre la escalabilidad de la solución de almacenamiento Dell BeeGFS. Ambas configuraciones tienen la misma cantidad de objetivos de metadatos configurados en RAID 1. Difieren en la configuración RAID de los destinos de almacenamiento. Mientras que la configuración pequeña tiene el almacenamiento y los destinos configurados en RAID 0 de 6 unidades, la configuración mediana tiene los destinos de almacenamiento configurados en RAID 10 de seis unidades. A continuación, se tabulan los destinos de almacenamiento configurados en la configuración pequeña y mediana:
| Tabla 1 Configuración del banco de pruebas | ||
|---|---|---|
| Configuración | Media: RAID 10 para destinos de almacenamiento | Pequeño: RAID 0 para destinos de almacenamiento |
| Cantidad de metadatos de destino | 6 | 6 |
| Número de instancias de servicio de metadatos | 6 | 6 |
| Cantidad de servidores de almacenamiento | 5 | 2 |
| Cantidad de destinos de almacenamiento | 22 | 10 |
| Cantidad de servicios de almacenamiento por servidor | 4 | 4 |
| Cantidad de servicios de almacenamiento por zona NUMA | 2 | 2 |
| Cantidad de destinos por instancia de servicio de almacenamiento | 2 | 2 |
Nota: La configuración anterior de la configuración mediana es solo para probar el rendimiento de los destinos de almacenamiento configurados en diferentes configuraciones RAID mediante la herramienta StorageBench.
Parámetro de referencia de escritura de StorageBench: en la configuración pequeña con destinos de almacenamiento configurados en RAID 0
El parámetro de referencia de almacenamiento se inicia y monitorea con la herramienta beegfs-ctl. El paquete beegfs-utils proporciona la herramienta de línea de comandos beegfs-ctl que se puede utilizar para ejecutar el parámetro de referencia de destinos de almacenamiento. El siguiente ejemplo inicia un parámetro de referencia de escritura en todos los destinos de todos los servidores de almacenamiento de BeeGFS con un tamaño de bloque de I/O de 512 KB con 16 subprocesos por destino, cada uno de los cuales escribirá 200 GB de datos en su propio archivo.
[root@stor1 ~]# beegfs-ctl --storagebench --alltargets --write --blocksize=512K --size=200G --threads=16 Write storage benchmark was started. You can query the status with the --status argument of beegfs-ctl. Server benchmark status: Running: 10
La campaña "Running: La salida de 10" indica que hay un total de 10 destinos de almacenamiento configurados en el sistema.
Para consultar el estado o los resultados del parámetro de referencia de todos los destinos, se puede ejecutar el siguiente comando:
[root@stor1 ~]# beegfs-ctl --storagebench --alltargets --status Server benchmark status: Finished: 10 Write benchmark results: Min throughput: 4692435 KiB/s nodeID: stor1-numa0-2 [ID: 6], targetID: 50 Max throughput: 5368537 KiB/s nodeID: meta-stor-numa1-2 [ID: 2], targetID: 48 Avg throughput: 4907091 KiB/s Aggregate throughput: 49070915 KiB/s
Al agregar información detallada al comando anterior, se muestra la lista de todos los destinos y su rendimiento respectivo.
[root@meta-stor ~]# beegfs-ctl --storagebench --alltargets --status --verbose Server benchmark status: Finished: 10 Write benchmark results: Min throughput: 4692435 KiB/s nodeID: stor1-numa0-2 [ID: 6], targetID: 6 Max throughput: 5368537 KiB/s nodeID: meta-stor-numa1-2 [ID: 2], targetID: 2 Avg throughput: 4907091 KiB/s Aggregate throughput: 49070915 KiB/s List of all targets: 1 5368477 KiB/s nodeID: meta-stor-numa1-1 [ID: 1] 2 5368537 KiB/s nodeID: meta-stor-numa1-2 [ID: 2] 3 4706368 KiB/s nodeID: stor1-numa0-1 [ID: 3] 4 4896077 KiB/s nodeID: stor1-numa1-1 [ID: 4] 5 4872876 KiB/s nodeID: stor1-numa1-2 [ID: 5] 6 4692435 KiB/s nodeID: stor1-numa0-2 [ID: 6] 7 4879054 KiB/s nodeID: stor2-numa1-2 [ID: 7] 8 4864737 KiB/s nodeID: stor2-numa1-1 [ID: 8] 9 4696152 KiB/s nodeID: stor2-numa0-1 [ID: 9] 10 4726202 KiB/s nodeID: stor2-numa0-2 [ID: 10]
Inferencia del resultado:
El rendimiento promedio por destino de almacenamiento configurado en RAID 0 es de 5,02 GB/s.
Parámetro de referencia de escritura de StorageBench: en la configuración mediana con destinos de almacenamiento configurados en RAID 10
El siguiente ejemplo inicia un parámetro de referencia de escritura en todos los destinos de todos los servidores de almacenamiento de BeeGFS con un tamaño de bloque de I/O de 512 KB con 16 subprocesos por destino, cada uno de los cuales escribe 200 Gb de datos en su propio archivo.
[root@node001 ~]# beegfs-ctl --storagebench --alltargets --write --blocksize=512K --size=200G --threads=16 Write storage benchmark was started. You can query the status with the --status argument of beegfs-ctl. Server benchmark status: Running: 22
Al agregar información detallada al comando anterior, se muestra la lista de todos los destinos y su rendimiento respectivo.
[root@node001 ~]# beegfs-ctl --storagebench --alltargets --status --verbose Server benchmark status: Finished: 22 Write benchmark results: Min throughput: 2705987 KiB/s nodeID: node006-numa0-1 [ID: 19], targetID: 1 Max throughput: 3364311 KiB/s nodeID: node001-numa1-1 [ID: 1], targetID: 1 Avg throughput: 3212845 KiB/s Aggregate throughput: 70682603 KiB/s List of all targets: 1 3364311 KiB/s nodeID: node001-numa1-1 [ID: 1] 2 3361591 KiB/s nodeID: node001-numa1-2 [ID: 2] 3 3309530 KiB/s nodeID: node002-numa0-1 [ID: 3] 4 3312840 KiB/s nodeID: node002-numa0-2 [ID: 4] 5 3332095 KiB/s nodeID: node002-numa1-1 [ID: 5] 6 3323319 KiB/s nodeID: node002-numa1-2 [ID: 6] 7 3313000 KiB/s nodeID: node003-numa0-1 [ID: 7] 8 3321214 KiB/s nodeID: node003-numa0-2 [ID: 8] 9 3335072 KiB/s nodeID: node003-numa1-1 [ID: 9] 10 3339743 KiB/s nodeID: node003-numa1-2 [ID: 10] 11 3302175 KiB/s nodeID: node004-numa0-1 [ID: 11] 12 3309474 KiB/s nodeID: node004-numa0-2 [ID: 12] 13 3329879 KiB/s nodeID: node004-numa1-1 [ID: 13] 14 3328291 KiB/s nodeID: node004-numa1-2 [ID: 14] 15 3306132 KiB/s nodeID: node005-numa0-1 [ID: 15] 16 3307096 KiB/s nodeID: node005-numa0-2 [ID: 16] 17 3318436 KiB/s nodeID: node005-numa1-1 [ID: 17] 18 3329684 KiB/s nodeID: node005-numa1-2 [ID: 18] 19 2705987 KiB/s nodeID: node006-numa0-1 [ID: 19] 20 2716438 KiB/s nodeID: node006-numa0-2 [ID: 20] 21 2707970 KiB/s nodeID: node006-numa1-1 [ID: 21] 22 2708326 KiB/s nodeID: node006-numa1-2 [ID: 22]
Inferencia del resultado:
El rendimiento promedio por destino de almacenamiento es de 3,29 GB/s.
A partir de los resultados de las pruebas de parámetro de referencia de StorageBench realizadas en dos configuraciones diferentes de BeeGFS, una con objetivos de almacenamiento configurados en RAID 0 y otra con destinos de almacenamiento configurados en RAID 10, es evidente que el rendimiento de escritura es mejor con los destinos de almacenamiento configurados en RAID 0 en lugar de en RAID 10. Cuando se utilizó el comando dd para escribir un archivo de 10 G con un tamaño de bloque de 1 millón y "oflag=direct", el promedio fue de aproximadamente 5,1 GB/s para el sistema pequeño configurado en RAID 0, mientras que el rendimiento promedio fue de aproximadamente 3,4 GB/s para el sistema mediano configurado en RAID 10, lo que es comparable con los resultados obtenidos con la herramienta storagebench.
StorageBench: para identificar destinos de almacenamiento defectuosos o configurados erróneamente
StorageBench se ejecutó en la configuración de medio descrita en el blog de anuncios para averiguar si hay destinos de almacenamiento mal configurados o defectuosos en el sistema.
[root@node001 ~]# beegfs-ctl --storagebench --alltargets --status --verbose Server benchmark status: Finished: 33 Read benchmark results: Min throughput: 2830479 KiB/s nodeID: node003-numa1-2 [ID: 14], targetID: 14 Max throughput: 3025500 KiB/s nodeID: node005-numa0-1 [ID: 22], targetID: 22 Avg throughput: 2917836 KiB/s Aggregate throughput: 96288596 KiB/s List of all targets: 1 2950039 KiB/s nodeID: node001-numa1-1 [ID: 1] 2 2956121 KiB/s nodeID: node001-numa1-2 [ID: 2] 3 2954473 KiB/s nodeID: node001-numa1-3 [ID: 3] 4 2957658 KiB/s nodeID: node002-numa0-1 [ID: 4] 5 2947109 KiB/s nodeID: node002-numa0-2 [ID: 5] 6 2969886 KiB/s nodeID: node002-numa0-3 [ID: 6] 7 2892578 KiB/s nodeID: node002-numa1-1 [ID: 7] 8 2886899 KiB/s nodeID: node002-numa1-2 [ID: 8] 9 2888972 KiB/s nodeID: node002-numa1-3 [ID: 9] 10 2861995 KiB/s nodeID: node003-numa0-1 [ID: 10] 11 2874314 KiB/s nodeID: node003-numa0-2 [ID: 11] 12 2879096 KiB/s nodeID: node003-numa0-3 [ID: 12] 13 2832635 KiB/s nodeID: node003-numa1-1 [ID: 13] 14 2830479 KiB/s nodeID: node003-numa1-2 [ID: 14] 15 2830971 KiB/s nodeID: node003-numa1-3 [ID: 15] 16 2986890 KiB/s nodeID: node004-numa0-1 [ID: 16] 17 2979197 KiB/s nodeID: node004-numa0-2 [ID: 17] 18 2983958 KiB/s nodeID: node004-numa0-3 [ID: 18] 19 2897974 KiB/s nodeID: node004-numa1-1 [ID: 19] 20 2900880 KiB/s nodeID: node004-numa1-2 [ID: 20] 21 2904036 KiB/s nodeID: node004-numa1-3 [ID: 21] 22 3025500 KiB/s nodeID: node005-numa0-1 [ID: 22] 23 3021558 KiB/s nodeID: node005-numa0-2 [ID: 23] 24 3017387 KiB/s nodeID: node005-numa0-3 [ID: 24] 25 2921480 KiB/s nodeID: node005-numa1-1 [ID: 25] 26 2930226 KiB/s nodeID: node005-numa1-2 [ID: 26] 27 2930548 KiB/s nodeID: node005-numa1-3 [ID: 27] 28 2900018 KiB/s nodeID: node006-numa0-1 [ID: 28] 29 2898520 KiB/s nodeID: node006-numa0-2 [ID: 29] 30 2907113 KiB/s nodeID: node006-numa0-3 [ID: 30] 31 2855079 KiB/s nodeID: node006-numa1-1 [ID: 31] 32 2853527 KiB/s nodeID: node006-numa1-2 [ID: 32] 33 2861480 KiB/s nodeID: node006-numa1-3 [ID: 33]
A partir del resultado anterior, es evidente que todos los destinos de almacenamiento funcionan de manera uniforme y que no hay destinos defectuosos en el sistema.
Conclusión y trabajo a futuro
En este blog, se analizaron las características clave de BeeGFS y se explicó la utilidad del parámetro de referencia del banco de almacenamiento para evaluar o comparar el rendimiento de diferentes configuraciones RAID y también para identificar si alguno de los destinos de almacenamiento está defectuoso o mal configurado. Como parte de los próximos pasos, publicaremos una documentación técnica más adelante con el rendimiento de los metadatos y el rendimiento de IOR, y con detalles adicionales sobre las consideraciones de diseño, el ajuste y la configuración.
Referencias
1) Dell EMC Ready Solutions para HPC BeeGFS Storage PowerEdge: Soluciones Dell Ready para HPC Almacenamiento
de alto rendimiento BeeGFS2) Escalabilidad de Dell Ready Solutions para HPC BeeGFS Storage PowerEdge: Escalabilidad de Dell Ready Solutions para almacenamiento
HPC BeeGFS3) Documentación de BeeGFS:
https://www.beegfs.io/wiki/4) Cómo conectar dos interfaces en la misma subred:
https://access.redhat.com/solutions/305645) Diseño de referencia de acceso directo a memoria PCI Express con memoria externa: https://www.intel.com/content/www/us/en/programmable/documentation/nik1412547570040.html#nik1412547565760