¿Cómo configurar el iniciador de software iSCSI y Multipathing en VMware vSphere ESX/ESXi?
La idea es, después de seguir todos los pasos siguientes, tener al menos dos caminos por LUN activos para que de esta manara podamos aumentar, no solo la disponibilidad con VMware multipathing sino también, el ancho de banda de E/S de nuestros datastores en VMware vSphere ESX/ESXi.
A continuación, os resumo los pasos a seguir:
Tabla de Contenidos
Paso 1: Configura un vSwitch y habilita el Jumbo Frames
Este paso (jumbo Frames) tienes que hacerlo desde comando pues en los vswitch estándares no tienes la opción de hacerlo desde la GUI (si está disponible en los vswitch distribuidos)
esxcfg-vswitch –a vSwitch1 (creas un vSwitch llamado vSwitch1)
esxcfg-vswitch –m 9000 vSwitch1 (activas 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 failover.
esxcfg-vswitch –A iSCSI1 vSwitch1 ( creas un VMkernel port llamado iSCSI1 )
esxcfg-vmknic –a –i 10.10.1.1 –n 255.255.255.0 –m 9000 iSCSI1 ( asigna un 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 un 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 son activa/activa. Para que el multipathing de ESX/ESXi funcione con el iniciador de software iSCSI debes cambiar las propiedades del multipathing. Lo explicare 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 vmnic3 vSwitch1 (borra el vmnic3 del VMkernel port iSCSI1)
esxcfg-vswitch –p iSCSI2 –N vmnic4 vSwitch1 (borra el vmnic2 del VMkernel port iSCSI2)
Para verificar que has tecleado bien los comando, vuelve a teclear este comando para ver la salida:
esxcfg-vswitch –l
Deberías de ver 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. Lo puedes ver 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
vmk0 iSCSI1 IPv4 10.10.1.1
255.255.255.0 10.10.5.255 00:50:56:7b:d8:21 9000 65535 true
STATIC
vmk1 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 vmk0 y el vmk1.
Una vez que conozcas cuál es el nombre del iniciador sw software iSCSI (vmhba32) y de los vmkernel ports (vmk0 y vmk1), ya puedes hacer el binding con el siguiente comando:
esxcli swiscsi nic add –n vmk0 –d vmhba33 (crea el binding para el vmk0 VMkernel port con el iniciador de software iSCSI vmhba33)
esxcli swiscsi nic add –n vmk1 –d vmhba33 (crea el binding para el vmk1 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 estan incluidos en el iniciador de software iSCSI.
Paso 7: Conecta la cabina – en este caso una Dell EqualLogic – a tu entorno VMware ESX/ESXi
- Entra en la sección Configuration -> Storage Adapters.
- Haz clic en iSCSI Software Adapter and selecciona Properties.
- Haz clic en la pestaña Dynamic Discovery.
- Clic Add.
En la sección iSCSI Server box, asegúrate de poner el IP del grupo de tu cabina PS 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 ESX/ESXi tienen acceso a las LUNs.
¿Y tú qué opinas? ¿Conoces alguna mejor manera de configurar el iniciador de software iSCSI y VMware vSphere multipathing? ¿Cuáles son tus experiencias personales? Deja tu comentario abajo o charlemos sobre ello en twitter.