Performance | Cambiar el Queue Depth en QLogic y Emulex para mejorar la performance del Storage
3 February, 2010 by
Performance | Cambiar el Queue Depth en QLogic y Emulex para mejorar la performance del Storage
Quintana,Diego
Tener en cuenta el comportamiento en el acceso a disco es algo vital en infraestructuras de alta densidad.
Cuando tenemos una gran cantidad de máquinas virtuales por Datastore o muchos ESX en un mismo cluster compartiendo los mismos VMFS, puede ocurrir que encuentren una baja performance en las HBAS, en ese caso probablemente tengamos que cambiar el valor máximo de queue depths en la HBA.storage performance
Cuando una sola maquina virtual es la activa dentro de una LUN, solo se debe setear al maximo el valor del queue depth.

Pero cuando muchas máquinas virtuales acceden a una lun y estas permanecen activas (es decir hay operaciones de escritura y lectura) el valor  Disk.SchedNumReqOutstanding también se vuelve critico .
La recomendación de VMware en su KB1267 es la de configurar los valores de Disk.SchedNumReqOutstanding y el queue depth del adaptador en el mismo valor.

Pasos pare cambiar los valores en ESX 4.0

Para ajustar el queue depth para una HBA:

  1. Ingresar a la service console:
  2. Verificar el modulo de la HBA cargadoQLogic:


    vmkload_mod -l | grep qla2xxx

    Emulex:

    vmkload_mod -l | grep lpfcdd

  3. Ejecutar el siguiente comando, ej para las: QLogic qla2300_707 y Emulex lpfcdd_7xx
    QLogic:

    esxcfg-module -s ql2xmaxqdepth=64 qla2300_707

    Emulex:

    esxcfg-module -s lpfc0_lun_queue_depth=16 lpfcdd_7xx

    En este caso las ql2x y la lpfc0 deberían configurarse con el valor 64.

  4. Reiniciar el host.

ESX 3.0/3.5

Para una HBA QLogic:

  1. Ingresar a la service console:
  2. Verificar el modulo de la HBA cargado

    vmkload_mod -l | grep qla2300

    qla2300_707 (ESX 3.0.x)
    qla2300_707_vmw (ESX 3.5)
  3. Dependiendo el modulo de la HBA tener en cuenta y ejecutar :

    esxcfg-module -s ql2xmaxqdepth=64 qla2300_707
    esxcfg-boot –b


  4. Reiniciar el ESX.

Para cambiar el queue depth of an Emulex HBA:

  1. Ingresar a la SC como root.
  2. Verificar que modulo de la placa Emulex es el que se encuentra cargado:vmkload_mod -l | grep lpfcdd

    Dependiendo el modulo de la HBA, deberán seleccionar:

    lpfcdd_7xx
    lpfcdd_732

  3. Si tienen una HBA  Emulex en el ESX ejecutar el siguiente comando. (el ejemplo es para la el modulo lpfcdd_7xx )
  4. Ejecutaresxcfg-module -s lpfc0_lun_queue_depth=16 lpfcdd_7xx
    esxcfg-boot –b


  5. Para multiples HBA Emulex ejectuar:

    esxcfg-module -s "lpfc0_lun_queue_depth=16 lpfc1_lun_queue_depth=16" lpfcdd_7xx
    esxcfg-boot –b

    En este caso, ambas HBAs lpfc0 y la lpfc1 tendrán el LUN queue depths en 16.

  6. Reiniciar el ESX.

Aquí les dejo la fuente del articulo de vmware.

Saludos

Diego Quintana