Configurando multipathing con iniciadores software iSCSI en vSphere


En Vmware vSphere™ 5 es posible configurar el algoritmo de multipathing que viene embebido en el VMkernel del ESXi. La idea general de este algoritmo de multipathing de software iSCSI es ofrecer a tus servidores ESXi caminos alternativos en caso de caída de un switch físico, una tarjeta de red o incluso un SP de tu cabina.
Asimismo, es posible usar las opciones de multipathing para poder dotar de un mecanismo de balanceo de carga a nuestras LUNs de datos.
Es posible cambiar el Multipathing Pluging (MPP) para uno o más datastores aunque siempre es una mejor práctica asegúrarte que tipo de MPP soporta tu cabina, confirmándolo primero en el HCL – de las siglas en inglés Hardware Compatibility List – de VMware.
Puedes ver el HCL de todas las capas en una solución de virtualización en el siguiente enlace: http://www.vmware.com/go/HCL
Tabla de Contenidos
Multipathing software iSCSI
Cuando se usa el Multipathing Plugings (MPPs) en vSphere™ 5, el Pluggable Storage Architecture (PSA) ejecuta las siguientes tareas:
- Gestiona las colas de E/S de disco de la HBA (Host Bus Adapter).
- Descubre y elimina rutas físicas.
- Gestiona las colas de E/S de disco en el dispositivo lógico.
Cuando configuras multipathing con iniciadores software iSCSI, debes configurar dos port groups tipo VMkernel. Después, mapea cada port group a un uplink diferente sobre el mismo virtual switch y selecciona el algoritmo de multipathing Round Robin.
La idea general es, después de seguir todos los pasos siguientes, tener al menos dos caminos por LUN activos para que de esta manera podamos aumentar, no solo la disponibilidad con VMware multipathing sino también, el ancho de banda de E/S de nuestros datastores en vSphere™ ESXi 5.
A continuación, te resumo los pasos a seguir para crear una configuración multipathing tanto para iSCSI como para conexiones NFS en tus servidores ESXi:
Paso 1: Configura un vSwitch y habilita el Jumbo Frames
Este paso (Jumbo Frames) tienes que hacerlo desde línea comando para la versión ESX/ESXi 4.x pues en los vswitch estándares de esta versión no tienes la opción de hacerlo desde la GUI (si está disponible en los vswitch distribuidos). En la nueva versión de vSphere™ ESXi 5 ya es posible activar el Jumbo Frames también desde la GUI para los VSS.
esxcfg-vswitch –a vSwitch1 (crea un vSwitch llamado vSwitch1)
esxcfg-vswitch –m 9000 vSwitch2 (activa jumbo frame en el vSwitch1)
Paso 2: Añade los VMkernel Ports iSCSI
Aquí, dependerá de las tarjetas de red que tengas cableadas y de las controladoras de disco que tengas en tu cabina.
Al menos, deberías de configurar dos VMkernel Ports con dos tarjetas de red para tener, tanto balanceo de carga con RR (de las siglas en inglés Round Robin) como mecanismo de alta disponibilidad.
esxcfg-vswitch –A iSCSI1 vSwitch1 ( crea un VMkernel port
llamado iSCSI1 )
esxcfg-vmknic –a –i 10.10.1.1 –n 255.255.255.0 –m 9000 iSCSI1 (asigna una ip, subnet mask y jumbo frames al VMkernel port iSCSI1)
esxcfg-vswitch –A iSCSI2 vSwitch1 ( crea un VMkernel port llamado iSCSI2 )
esxcfg-vmknic –a –i 10.10.2.1 –n 255.255.255.0 –m 9000 iSCSI2 (asigna una ip, subnet mask y jumbo frames al VMkernel port iSCSI2)
Paso 3: Asigna las tarjetas de red físicas al vSwitch1
Primero, asegúrate que tienes al menos dos tarjetas de red físicas sin asignar a otro vswitch. Lo puedes ver con este comando esxcfg-nics -l.
esxcfg-vswitch –L vmnic3 vSwitch1 (Conecta la tarjeta vmnic3 al vSwitch1)
esxcfg-vswitch –L vmnic4 vSwitch1 (Conecta la tarjeta vmnic4 al vSwitch1)
Aquí viene lo bueno. Por defecto, cuando creas un team en un vSwitch las dos tarjetas en el team se convierten en activa/activa. Para que el multipathing ESXi funcione con el iniciador de software iSCSI debes cambiar las propiedades del multipathing. Lo explicaré en el siguiente paso.
Paso 4: Asocia los VMkernel ports a las tarjetas de red físicas
Antes de seguir con este paso, teclea el siguiente comando:
esxcfg-vswitch –l
Deberías de ver algo así en tu vSwitch1:
Switch Name Num Ports Used Ports Configured Ports MTU Uplinks
vSwitch1 64 7 64 9000
vmnic3,vmnic4
PortGroup Name VLAN ID Used Ports Uplinks
iSCSI2 0 1 vmnic3,vmnic4
iSCSI1 0 1 vmnic3,vmnic4
Aquí puedes ver que las dos tarjetas están asociadas en los dos VMkernel Ports. Esto es lo que tienes que cambiar con el siguiente comando.
esxcfg-vswitch –p iSCSI1 –N vmnic4 vSwitch1 (borra el vmnic4 del VMkernel port iSCSI1)
esxcfg-vswitch –p iSCSI2 –N vmnic3 vSwitch1 (borra el vmnic3 del VMkernel port iSCSI2)
Para verificar que has tecleado bien los comandos anteriores, vuelve a teclear este comando para ver la salida:
esxcfg-vswitch –l
Debería aparecer algo así:
Switch Name Num Ports Used Ports Configured Ports MTU Uplinks
vSwitch1 64 7 64 9000
vmnic4, vmnic3
PortGroup Name VLAN ID Used Ports Uplinks
iSCSI2 0 1 vmnic4
iSCSI1 0 1 vmnic3
Paso 5: Habilita el iniciador de software iSCSI
Con el comando esxcfg-swiscsi –e habilitas el iniciador de software iSCSI.
Paso 6 – Muy importante: Crear el Binding de los VMkernel Ports con el iniciador de software iSCSI
Primero, confirma el seudo-name de tu iniciador de software iSCSI. Puedes hacerlo con este comando.
esxcfg-scsidevs –a
Deberías de ver algo así:
vmhba0 mptsas link-n/a sas.5001ec90e0ba7c00
(1:0.0) LSI Logic / Symbios Logic LSI1068E vmhba1 ata_piix link-n/a ide.vmhba1
(0:31.1) Intel Corporation 631xESB/632xESB IDE Controller
vmhba32 ata_piix link-n/a ide.vmhba32(0:31.1) Intel Corporation 631xESB/632xESB IDE Controller
vmhba33 iscsi_vmk link-n/a iscsi.vmhba33() Software iSCSI
En mi caso como ves, el seudo-name de mi iniciador software iSCSI es vmhba33
Segundo, determina el nombre exacto de los VMkernel ports de tus iniciadores iSCSI. Lo puedes ver con este comando:
esxcfg-vmknic –l
Interface Port Group/DVPort IP Family IP Address
Netmask Broadcast MAC Address MTU TSO MSS
Enabled Type
vmk3 iSCSI1 IPv4 10.10.1.1
255.255.255.0 10.10.5.255 00:50:56:7b:d8:21 9000 65535 true
STATIC
vmk4 iSCSI2 IPv4 10.10.2.1
255.255.255.0 10.10.5.255 00:50:56:7e:ae:81 9000 65535 true
En mi caso, como ves en la salida anterior, es el vmk3 y el vmk4.
Una vez que conozcas cuál es el nombre del iniciador de software iSCSI (vmhba32) y de los VMkernel ports (vmk3 y vmk4), ya puedes hacer el binding con el siguiente comando:
esxcli swiscsi nic add –n vmk3 –d vmhba33 (crea el binding para el vmk3 VMkernel port con el iniciador de software iSCSI vmhba33)
esxcli swiscsi nic add –n vmk4 –d vmhba33 (crea el binding para el vmk4 VMkernel port con el iniciador de software iSCSI vmhba33)
Para verificar que se han creado bien los binding con los VMkernel ports y el iniciador de software iSCSI, teclea el siguiente comando:
esxcli swiscsi nic list –d vmhba33
Deberías de ver que los dos VMkernel ports están incluidos en el iniciador de software iSCSI.
Paso 7: Conecta la cabina iSCSI a tu entorno vSphere ESXi 5
- Entra en la sección Configuration -> Storage Adapters.
- Haz click en iSCSI Software Adapter and selecciona Properties.
- Haz click en la pestaña Dynamic Discovery.
- Click Add.
En la sección iSCSI Server box, asegúrate de poner la IP del grupo o la IP de tu cabina iSCSI y selecciona Ok.
Recibirás un mensaje que te pide hacer un Rescan de todas las HBAs. Dile que estás de acuerdo y en unos minutos deberías de ver tus LUNs si estas han sido configuradas correctamente en tu cabina y los servidores VMware vSphere™ 5 ESXi tienen acceso a las LUNs.
Aviso: Ahora en la versión vSphere™ ESXi 5 es posible hacer el mecanismo de port binding desde la GUI.
¿Crees que este post puede interesar a alguien que conoces? En ese caso clica en los botones de compartir de arriba o abajo. Gracias por el apoyo.