Estamos buscando un almacenamiento de velocidad razonable. Debido al bajo presupuesto, decidimos usar objetivos de software iSCSI o AoE. Antes de cambiar nuestra infraestructura de producción, estamos haciendo algunas pruebas para elegir la mejor tecnología.
Para las pruebas usamos:
- Fujitsu Siemens RX200 S4 como objetivo
- Fujitsu Siemens RX200 S4 como iniciador
- NetGear gestionó el conmutador de 1 GB
- NIC incorporadas (Broadcom con TOE), NIC EdiMax, NIC Broadcom con TOE: todas de 1 GB
- el servidor de destino está utilizando un controlador QLogic con 6 unidades SATA WD Blue de 2 TB.
- Los sistemas operativos tanto objetivo como iniciador son Ubuntu 16.04 LTS con todas las actualizaciones. El interruptor está dedicado para fines de almacenamiento. Probamos enlaces y multirrutas.
Nuestro problema es la baja velocidad de lectura. Para las pruebas usamos dd
un archivo de 40-100GB.
- La lectura y escritura local en un servidor de destino supera los 300 MB / s.
- escribir en el servidor por iSCSI o AoE supera los 200 MB / s, lo que nos satisface.
- la lectura desde el servidor siempre es de 95-99 MB / s.
Hemos intentado ietd, aoetools, LIO. Hemos utilizado enlaces de 2 NIC: balance-rr y LACP, múltiples rutas con rr. Marcos normales y jumbo usados. Finalmente, incluso hicimos una conexión directa de Ethernet entre el destino y el host (sin conmutador).
Todas las pruebas dan más menos los mismos resultados (por supuesto, usar NIC comunes sin TOE e iSCSI dieron 20-30% peores resultados).
Las pruebas de red con iperf mostraron transferencias de aproximadamente 200 MB / s (2 GBit). Ver el uso de NIC en el destino con bmon mostró la misma utilización de ambos dispositivos (cada uno de unos 50 MB / s para leer, unos 100 MB / s para escribir).
Como no tuvimos suerte, decidimos usar un tercer NIC (ambos lados, por supuesto). Los resultados fueron extraños:
- 2 NIC: 50 MB / s cada uno
- 3 NIC: 33 MB / s cada uno
¿Existe algún límite en el software de destino que deshabilita la salida superior a 1 GBit / s?
¿Qué hacemos mal?