Tendremos una máquina en el trabajo que, con el máximo rendimiento, debería ser capaz de empujar 50 ("cabezales de escritura") x 75 GB de datos por hora. Ese es el rendimiento máximo de ~ 1100 MB / s de velocidad de escritura. Para obtener eso de la máquina, se requieren dos líneas de 10GBi. Mi pregunta es qué tipo de servidor + tecnología puede manejar / almacenar dicho flujo de datos.
Actualmente para el almacenamiento de datos trabajamos con ZFS, aunque las velocidades de escritura nunca fueron una pregunta. (ni siquiera estamos cerca de estas velocidades) ¿Sería una opción ZFS (zfs en linux)? También necesitamos almacenar muchos datos, la "guía de TI" sugiere entre 50 y 75 TB en total. Por lo tanto, probablemente no puedan ser todos los SSD a menos que queramos ofrecerle a nuestro primogénito.
Algunas adiciones basadas en las excelentes respuestas:
- el máximo es de 50x75 GB / hora durante el pico, que es inferior a 24 h (muy probablemente <6 h)
- No esperamos que esto suceda pronto, lo más probable es que corramos 5-10x75GB / hora
- es una máquina pre-alfa, sin embargo, se deben cumplir los requisitos (aunque hay muchos signos de interrogación en juego)
- usaríamos NFS como la conexión de la máquina al servidor
- diseño: máquina generadora -> almacenamiento (este) -> (incursión segura 6) -> clúster de cómputo
- así que la velocidad de lectura no es esencial , pero sería bueno usarla desde el clúster de cómputo (pero esto es completamente opcional)
- lo más probable es que sean archivos de datos grandes (no muchos pequeños)
fuente
Respuestas:
Absolutamente ... ZFS en Linux es una posibilidad si está diseñado correctamente. Hay muchos casos de mal diseño de ZFS , pero bien hecho, se pueden cumplir sus requisitos.
Entonces, el principal determinante será cómo se conecta a este sistema de almacenamiento de datos. ¿Es NFS? CIFS? ¿Cómo se conectan los clientes al almacenamiento? ¿O el procesamiento, etc. se realiza en el sistema de almacenamiento?
Complete algunos detalles más y podemos ver si podemos ayudarlo.
Por ejemplo, si esto es NFS y con montajes síncronos, entonces definitivamente es posible escalar ZFS en Linux para satisfacer las necesidades de rendimiento de escritura y aún así mantener el requisito de capacidad de almacenamiento a largo plazo. ¿Los datos son comprimibles? ¿Cómo se conecta cada cliente? ¿Gigabit Ethernet?
Editar:
De acuerdo, voy a morder:
Aquí hay una especificación que cuesta aproximadamente $ 17k- $ 23k y cabe en un espacio de rack de 2U.
Esta configuración le proporcionaría 80 TB de espacio utilizable mediante RAID6 de hardware o RAIDZ2 de ZFS.
Dado que el enfoque es el rendimiento basado en NFS (suponiendo escrituras sincrónicas), podemos absorber todo eso fácilmente con las unidades P3608 NVMe (SLOG rayado). Pueden acomodar 3GB / s en escrituras secuenciales y tienen una calificación de resistencia lo suficientemente alta como para manejar continuamente la carga de trabajo que ha descrito. Las unidades se pueden sobreaprovisionar fácilmente para agregar algunas protecciones bajo un caso de uso de SLOG.
Con la carga de trabajo de NFS, las escrituras se fusionarán y se transferirán al disco giratorio. En Linux, sintonizamos esto para que se vacíe cada 15-30 segundos. Los discos giratorios podrían manejar esto y pueden beneficiarse aún más si estos datos son comprimibles.
El servidor se puede ampliar con 4 ranuras PCIe más abiertas y un puerto adicional para adaptadores FLR 10GbE de doble puerto. Entonces tiene flexibilidad de red.
fuente
Para una velocidad de escritura tan extrema, sugiero contra ZFS, BTRFS o cualquier sistema de archivos CoW. Usaría XFS, que es extremadamente eficiente en transferencias grandes / de transmisión.
Hay muchas informaciones faltantes (¿cómo planea acceder a estos datos? ¿Es importante la velocidad de lectura? ¿Va a escribir en fragmentos grandes? Etc.) para darle consejos específicos, sin embargo, algunos consejos generales son:
fuente
Ethernet de 25 Gbps ya está en el límite de la corriente principal, mientras que NVMe con base PCIe aumentará ese tráfico fácilmente.
Como referencia, recientemente construí una pequeña solución de 'captura de registros' usando cuatro servidores regulares de doble xeon (HPE DL380 Gen9 en este caso), cada uno con 6 unidades NVMe, usé IP sobre Infiniband pero esas NIC de 25/40 Gbps serían las mismas y estamos capturando hasta 8GBps por servidor, funciona de maravilla.
Básicamente no es barato, pero es muy factible en estos días.
fuente
No suena como un gran problema. Nuestro proveedor local de hardware tiene esto como un producto estándar , aparentemente puede impulsar 1400 MB / s sostenido en modo de grabación de CCTV, que debería ser más difícil que sus requisitos máximos.
(El enlace es a la configuración predeterminada de 12 GB, pero señalan que 20x4 TB también es una opción. No hay experiencia personal con este servidor modelo en particular).
fuente
Las escrituras secuenciales a 1100 MB / s no son un problema con el hardware moderno. Como anécdota, mi configuración doméstica con unidades portátiles de 8x5900 RPM, unidades de 2x15000 RPM y unidades de 2x7200 RPM soporta 300 MB / s con una carga útil única de 16GB.
La red es de 10 GbE con cables de fibra, 9000 MTU en ethernet y la capa de aplicación es Samba 3.0. El almacenamiento está configurado en raid50 con tres bandas en tres volúmenes de raid5 de 4 unidades. El controlador es LSI MegaRAID SAS 9271-8i con hasta 6 Gb / s por puerto (tengo un multiplicador de puerto adicional y más lento).
Hable con cualquier administrador de sistemas experimentado y ellos deberían poder decirle exactamente qué controlador (es) y unidades cumplirían con sus requisitos.
Creo que puede probar con cualquier controlador de 12 Gb / sy configurar dos franjas duplicadas de ocho unidades de 7200 RPM cada una (casi cualquier unidad debería funcionar). Inicie 3-4 conexiones TCP para saturar el enlace y si un solo par de tarjetas de 10 GbE no puede manejarlo, use cuatro tarjetas.
fuente
Algo tangente, pero considere usar InfiniBand en lugar de enlaces duales de 10GbE. Puede obtener tarjetas Infiniband de 56 Gbps bastante baratas, o tarjetas de 100 Gbps por no mucho más, y en Linux es fácil usar NFS con RDMA sobre IB, lo que le dará una latencia extremadamente baja y un rendimiento de velocidad de línea casi teórico (si su almacenamiento subyacente puede manejarlo). No necesita un interruptor, solo dos tarjetas InfiniBand y un cable de conexión directa (o un cable de fibra InfiniBand si necesita distancias más largas).
Una tarjeta Mellanox de 56 Gbps de un solo puerto (8x PCIe 3.0) como la MCB191A-FCAT cuesta menos de 700 dólares, y un cable de conexión directa de cobre de 2 metros equivale a 80 dólares.
El rendimiento generalmente expulsará 10 GbE del agua en todos los casos de uso. No hay inconvenientes, a menos que necesite acceder al servidor desde muchos clientes diferentes que no pueden usar InfiniBand (e incluso entonces, los conmutadores de Mellanox pueden conectar 10GbE y 40GbE a IB, pero eso es un poco más de una inversión, por supuesto).
fuente
Hacer esto con ZFS es posible, sin embargo, considere usar FreeBSD ya que FreeBSD tiene la pila de red más rápida. Esto permitiría posiblemente 100 GBit en una sola máquina.
1100 MBps parece mucho, pero puede lograrlo de manera realista utilizando solo discos duros normales. Dices que necesitas 75 TB de espacio, por lo que puedes usar 24 discos duros de 8 TB en los espejos. Esto le daría una velocidad de escritura de 12x de una sola unidad y una velocidad de lectura de 24x. Dado que estas unidades tienen más velocidad de escritura que 100 MBps, esto debería ser capaz de manejar fácilmente el ancho de banda. Asegúrese de no obtener unidades SMR, ya que tienen velocidades de escritura mucho más lentas.
ZFS crea sumas de verificación para cada bloque. Esto se implementa con un solo subproceso. Como tal, debe tener una CPU con una velocidad de reloj razonablemente rápida para no bloquear.
Sin embargo, los detalles exactos de implementación dependen en gran medida de los detalles.
fuente
Hemos vinculado los datos de descarga de NIC 10G a un clúster Gluster sobre su cliente de fusibles. Se necesita un poco de ajuste que no creería en el rendimiento que puede lograr desde 3.0.
fuente