martes, 23 de septiembre de 2008

Consulta Técnica: Rendimiento iSCSI

Leonardo nos pregunta:

"Hola, me gustaria saber cual es el rendimiento adecuado para accesos a disco en un entorno SAN Iscsi , en un cliente con una cabina iscsi equalogic me esta dando en maquinas virtuales con esx 3.5 update 2 tasas de 40 MB/s ... para el cliente este rendimiento es bajo, en el esx o maquina virtual se ha configurado todo y mas de lo que se debe configurar."

El tema del rendimiento iSCSI es un tema puntiagudo, en especial en entornos donde el número es importante: Es decir, donde tenemos a alguien para quien las métricas puras y duras son un parámetro de evaluación. En mis test con ESX, con varios targets, desde un Openfiler hasta un NetApp 3020, he obtenido picos de 750 Mbit/sec (Aprox. 94 MB/sec), aunque el mantenido se establece en unos 350/400 Mbit/sec (43 - 50 MB/sec). Por comparación, he realizado los mismos test bajo Windows Server, obteniendo límites algo superiores. El dato anecdótico es que en entornos Microsoft, el rendimiento de un SQL Server (por ejemplo) no difiere excesivamente de FC a 1/2 Gb/sec... Mis conclusiones son evidentes: a) El sistema operativo tiene mucho que decir en lo que a rendimiento de disco se refiere. b) El tipo de carga es determinante. Si aún así el cliente o responsable sigue insistiendo... responde al fuego con fuego: IOMeter en las VM, comparando, por ejemplo, el rendimiento de una VM sobre iSCSI y sobre disco local/SAN FC.

En el caso de ESX, independientemente del medio de acceso al disco, el trabajo de caching del ESX es fundamental... En especial en operaciones de disco "normales", es decir, con una VM más o menos típica... La cosa cambia con las atipicidades: Un cubo OLAP, por ejemplo, requiere más atención que un web server...

Por el momento en ESX no es posible el uso de ciertas técnicas que podrían mejorar el rendimiento: TOE (TCP Offload Engine, Jumbo Frames, etc), pero se me ocurren ciertas pruebas que puedes realizar:
  • Cambia de switch: La electrónica de red es importante
  • dedica una VLAN exclusivamente al tráfico iSCSI
  • Intenta configurar la VLAN como Private VLAN, es decir, que los host SOLO vean al target iSCSI
  • Libera la CPU/Core 0 del host.

Personalmente sigo apostando por iSCSI para mis entornos, reservando la fibra para aquellos que realmente lo necesitan. Con todo, iSCSI sigue siendo infinitamente menos problemático que FC.

Un saludo.

5 comentarios:

Miguel Angel dijo...

A mí lo que me encantaría saber es como hacéis las pruebas de rendimiento, programas, pruebas, referencias con cabinas reales, etc.

Enhorabuena por la "vuelta al ruedo" ;-) me moría por volver a leerte.

Saludos

Anónimo dijo...

Hola, el tramo de red iscsi esta totalmente aislado con redundacia a nivel de switch y con las configuraciones pertinentes del fabricante de estorage, como me comentaste he configurado maquinas virtuales con acceso a volumenes via el iscsi de microsoft y con acceso via rdm, via iscsi el rendimiento es algo mejor pero el consumo de cpu es elevado, el rendimiento no supera los 60 MB/s y a medida que vas agregado VM en el host esx el rendimiento va disminuyendo, he configurado varios swithecs virtuales para generar trafico iscsi desde las mauinas virtuales configurado los adaptaodres como enhaced vmxnet para soportar Toe y Jumbo frames pero el rendimiento no veo que aumente demasiaod, comparado con un servidor fisico con tres tarjetas iscsi este me da picos de 140MB/s y un permanente por encima de 80MB/s, realmente no tengo claro cual es el maximo o el adecuado rendimiento.

Saludos.

J. L. Medina dijo...

A ver... por lo que veo utilizas el Microsoft iSCSI initiator EN las máquinas virtuales. En principio no me parece buena idea si lo que buscas es rendimiento, ya que todo el procesamiento IP+SCSI se realiza en una vCPU... y eso castigará enormemente al ESX. A ver si me puedes dar los siguientes datos:

- Cabina
- Electrónica de red
- Host ESX: Nº CPU/Cores*CPU
- Tarjeta de Red.

Te recuerdo que las Jumbo Frames no están oficialmente soportadas en iSCSI y NFS... lo que no quiere decir que no funcione. Te adjunto un link sobre el tema: http://blog.scottlowe.org/2008/04/22/esx-server-ip-storage-and-jumbo-frames/

Anónimo dijo...

Hola, antetodo gracias por la ayuda,
la cabina es un PS5000V de DELL , los servidores son Blades Dell m600 con 2 CPU con 8Gb de RAM.
Cada servidor tiene 6 tarjetas de RED cuatro dedicado a ISCSI con modulos passthough del chasis Blade M1000 y dos para red de networking de dos swithces M6220 integrados en el chasis.
Los puertos para ISCIS estan conectados en dos Powerconnect de DELL.

Efectivamente con ISCSI Microsoft el consumo de CPU es alto pero obtengo resultados de rendimiento de acceso a disco mas altos que si adjunto un dispositivo RDM.

Ademas que con la opcion de iniciador ISCSI me permite montar cluster de microsoft de maquinas virtuales y no puedo con RDM.

He montado 4 switches uno con las dos tarjetas para networking.
El segundo dedicado con dos taejtas para el trafico ISCSI de los host esx. Aunque solo el trafico ISCSI me lo genera por una tarjeta. Hace la segunda tarjeta de failover

Los otros dos con una tarjeta para montar virtual Machine group para configurar inciador iscsi con multipath.

Las maquinas virtuales que atacan a volumen de la cabina tienen tres adaptadores para ISCSI cuantas mas tarjetas mayor rendimiento me da el acceso a disco. Las tarjetas estan configuradas del tipo enhaced vmxnet para que funcione el TOE y los jumbo frame.

Saludos.

Anónimo dijo...

A mi también me gustaría saber que tal funciona esta cabina y los servidores blade de DELL con el protocolo iSCSI y Vmware.