{{tag> iscsi vsphere equallogic}}
===== Instalación cabina iscsi Dell Equallogic 6010XV con Vmware Vsphere =====
La cabina iscsi está conectada a dos switch powerconnect 8024F dedicados en exclusiva para el tráfico ISCSI, conectados estos a su vez a dos servidores vsphere .
La configuración que aparece en estas páginas es sólo para Vsphere y no es compatible con la versión ESX 3.5, ya que con la Vsphere se ha reescrito por completo el driver para ISCSI para conseguir mejor rendimiento y multipath.
{{:hardware:iscsi_multiplath.jpg?700|}}
==== Consideraciones Generales ====
A la hora de planificar una instalación ISCSI lo primero que tenemos que hacer es decidir como vamos a dividir el espacio de la SAN:
Dos opciones:
- Un sólo volumen
- Varios volúmenes
=== Un sólo volumen ===
* Tener todo el espacio en un sólo volumen nos permite más flexibilidad a la hora de redimensionar, crear o hacer snapshots de máquinas virtuales
* Menor complejidad de administración
=== Varios volúmenes ====
* Tener distintos tipos de Raid para distintas máquinas
* Más flexibilidad (Las políticas de multiplath y almacenamiento son por LUN)
=== Grupos ===
Segmentar la SAN en grupos lógicos por ejemplo
* Grupo A: pro
* Grupo B: pre
* GRUPO c: plantillas
* GRUPO D: Backup
=== Requisitos de cada grupo ===
Elegir el tipo de rendimiento y RAID en función de los requisitos de cada grupo
=== Conexión de la cabina con los switch ===
La primera es una conexión simple, la segunda es con Multiplath
{{:hardware:iscsi.jpg|}}
=== LUN ===
Hay que tener en cuenta
* Cada LUN debe tener el nivel de RAID apropiado a las características de la máquina virtual.
* Una LUN sólo debe contener un volumen VMFS
* Si múltiples máquinas virtuales acceden a la misma LUN usar distintas prioridades para cada máquina
=== Métodos de acceso a los datos en la SAN ====
Las máquinas virtuales usan dos métodos para acceder a los datos
- VMFS Las operaciones sobre el VMFS son trasladadas por el ISCSI
- RDM Da acceso al Sistema Operativo invitado al dispositivo Raw
===== Configuración de los switch Powerconnect =====
Como estos switch se van a utilizar específicamente para el tráfico ISCSI cambiamos los siguientes parámetros
* Habilitar Flow Control en todas las bocas
* Habilitar Jumbo frames en todas las bocas
* PortFast
* No usar Sapnning-Tree (STP) usar rstp
* Deshabilitar LLDP (Link Layer Discovery Protocol)
Revisar -> http://hasanmansur.com/2012/10/14/switch-fabric-setup-for-equalogic-iscsi-powerconnect-switches/
Si ya tenemos una configuración en el swicth y queremos empezar desde cero hay que hacer lo siguiente
console>enable
console#clear config
=== Switches and VLAN1 ===
La recomendación es crear una nueva VLAN y poner todos los puertos usados para el ISCSI en dicha VLAN. En este caso como los switch están dedicados en exclusiva para el ISCSI utilizaremos la VLAN por defecto
=== Habilitar Jumbo Frame ====
interface range ethernet all
mtu 9216
exit
En los agregados configurarlos también para soportar Jumbo Frames
Switch1>enable
Switch1#configure
|Switch1(config)#interface port-channel 1
Switch1(config-if-ch1)# mtu 9216
En los switch dejar el mtu a 9216 y en los servidores esx ponerlos a 9000 por las cabeceras que se añaden a los paquetes
=== deshabilita LLDP ===
interface range ethernet all
no lldp transmit
no lldp receive
=== Habilitar el RSTP ===
Switch(config)# spanning-tree mode rstp
=== Habilitar el portfast ===
interface range ethernet all
spanning-tree portfast
=== ISCSI ====
Como el único tráfico que soportan estos switch es el ISCSI podemos quitar los parámetros para priorizar el tráfico ISCSI ya que estan dedicados en exclusiva para el tráfico ISCSI
console(config)# no iscsi enable
console(config)# no iscsi target port 860
console(config)# no iscsi target port 3260
=== STORM CONTROL ===
interface range Eternet all
no storm-control unicast
==== Ejemplo configuración Switch Powerconnect =====
console> enable
console# configure
console(config)# spanning-tree mode rstp
console(config)# flowcontrol
This operation may take a few minutes.
Management interfaces will not be available during this time.
Are you sure you want to continue? (y/n) y
console(config)# interface range ethernet all
console(config-if)# no lldp transmit
console(config-if)# no lldp receive
console(config-if)# mtu 9216
console(config-if)# spanning-tree portfast
console(config-if)#no storm-control unicast
console(config-if)# exit
console (config)# exit
console# copy r s
En nuestro caso como tenemos los dos switch conectados entre si por las dos últimas bocas necesitamos además crear un LAG con dichas bocas.
console# configure
console(config-if)# interface range ethernet 1/xg20-1/xg24 seleccionamos los últimos puertos para interconectar los switch
console(config-if)# channel-group 1 mode auto (añade estos puertos al LGA1, y usamos el protocolo LACP para su configuración)
console(config-if)# int range port-channel 1
console(config-if)# no spanning-tree disable
Estas líneas han de ser ejecutadas en los dos switch
===== Configuración de los ESX con multipath =====
Vamos a utilizar un ejemplo, supongamos que tenemos un servidor ESX con cuatro interfaces, dos switch dedicados para el iscsi y una SAN con doble interface
* dos interfaces la ponemos en team y los utilizamos para la consola y el VM Network
* los otras dos los utilizamos para el iscsi
En esta configuración vamos a habilitar **jumbo frames**, para que esto sea efectivo la configuración de los jumbo frames tiene que ser habilitada en todos los puntos del camino, es decir, end-to-end.
==== 1.- Habilitamos Jumbo Frames en los vSwitch ====
Creamos un vSwitch para ello desde la consola o por ssh ejecutamos
esxcfg-vswitch -a vSwitch1
Habilitamos Jumbo Frames
[root@ord1309 ~]# esxcfg-vswitch -m 9000 vSwitch1
Comprobamos que está habilitado
[root@ord1309 ~]# esxcfg-vswitch -l
Switch Name Num Ports Used Ports Configured Ports MTU Uplinks
vSwitch0 32 6 32 1500 vmnic0,vmnic1
PortGroup Name VLAN ID Used Ports Uplinks
VM Network 0 2 vmnic0,vmnic1
Service Console 0 1 vmnic0,vmnic1
Switch Name Num Ports Used Ports Configured Ports MTU Uplinks
vSwitch1 64 3 64 9000 vmnic2
PortGroup Name VLAN ID Used Ports Uplinks
iscsi1 0 1 vmnic2
Switch Name Num Ports Used Ports Configured Ports MTU Uplinks
vSwitch2 64 3 64 9000 vmnic3
PortGroup Name VLAN ID Used Ports Uplinks
iscsi2 0 1 vmnic3
También podemos hacer vmkping -s 9000 dirección_ip
para comprobar que funciona
==== 2.- Añadimos los puertos ISCSI VMkernel ====
Según Vmware en entornos a 10 GB con dos tarjetas hay que crear 3 puertos VMkernel por cada tarjeta física, lo que hace un total de 6 sesiones a la SAN
La recomendación ha cambiado, ahora se recomienda un VMkernel por cada tarjeta física
esxcfg-vswitch -A ISCSI1 vSwitch1
esxcfg-vmknic -a -i 172.17.1.2 -n 255.255.255.0 -m 9000 ISCSI1
esxcfg-vswitch -A ISCSI2 vSwitch1
esxcfg-vmknic -a -i 172.17.1.3 -n 255.255.255.0 -m 9000 ISCSI2
esxcfg-vswitch -A ISCSI3 vSwitch1
esxcfg-vmknic -a -i 172.17.1.4 -n 255.255.255.0 -m 9000 ISCSI3
esxcfg-vswitch -A ISCSI4 vSwitch1
esxcfg-vmknic -a -i 172.17.1.5 -n 255.255.255.0 -m 9000 ISCSI4
esxcfg-vswitch -A ISCSI5 vSwitch1
esxcfg-vmknic -a -i 172.17.1.6 -n 255.255.255.0 -m 9000 ISCSI5
esxcfg-vswitch -A ISCSI6 vSwitch1
esxcfg-vmknic -a -i 172.17.1.7 -n 255.255.255.0 -m 9000 ISCSI6
==== 3.- Asignar las tarjetas de red ====
Para listar las tarjetas del sistema ejecutar
esxcfg-nics -l
El resultado será algo así
[root@ord1309 ~]# esxcfg-nics -l
Name PCI Driver Link Speed Duplex MAC Address MTU Description
vmnic0 03:00.00 bnx2 Up 1000Mbps Full 00:22:19:91:39:83 1500 Broadcom Corporation Broadcom NetXtreme II BCM5708 1000Base-T
vmnic1 07:00.00 bnx2 Down 0Mbps Half 00:22:19:91:39:85 1500 Broadcom Corporation Broadcom NetXtreme II BCM5708 1000Base-T
vmnic2 0c:00.00 ixgbe Up 10000Mbps Full 00:1b:21:51:34:7b 9000 Intel Corporation 82598EB 10 Gigabit AT Dual Port Network Connection
vmnic3 0c:00.01 ixgbe Up 10000Mbps Full 00:1b:21:51:34:7a 9000 Intel Corporation 82598EB 10 Gigabit AT Dual Port Network Connection
Asignamos las tarjetas al vSwitch
esxcfg-vswitch -L vmnic2 vSwitch1
esxcfg-vswitch -L vmnic3 vSwitch1
Para verificar que se han asignado correctamente
esxcfg-vswitch -l
el resultado será parecido a
Switch Name Num Ports Used Ports Configured Ports MTU Uplinks
vSwitch0 32 6 32 1500 vmnic0,vmnic1
PortGroup Name VLAN ID Used Ports Uplinks
VM Network 0 2 vmnic0,vmnic1
Service Console 0 1 vmnic0,vmnic1
Switch Name Num Ports Used Ports Configured Ports MTU Uplinks
vSwitch1 64 9 64 9000 vmnic2,vmnic3
PortGroup Name VLAN ID Used Ports Uplinks
ISCSI6 0 1 vmnic2,vmnic3
ISCSI5 0 1 vmnic2,vmnic3
ISCSI4 0 1 vmnic2,vmnic3
ISCSI3 0 1 vmnic2,vmnic3
ISCSI2 0 1 vmnic2,vmnic3
ISCSI1 0 1 vmnic2,vmnic3
==== 4.- Asociar los puertos VMkernel con los Adaptadores Físicos ====
Necesitamos enlazar cada VMkernel a una tarjeta de red. Esto se neecsita para sacar provecho de las nuevas características como Round Robin MPIO etc.
Antes vimos que cada puerto VMkernel tiene dos vmnics en cada uplink. Esto hay que cambiarlo para que quede una sola vmnic este enlazada y hacer nosotros el balanceo de carga entre todos los puerto VMkernel.
Para usar los iniciadosres ISCSI es obligatorio dejar una sóla tarjeta como activa, poniendo el resto (en caso de tener varias), como **unavailable**. Ojo tampoco ponerla como standby
PortGroup Name VLAN ID Used Ports Uplinks
ISCSI6 0 1 vmnic2,vmnic3
ISCSI5 0 1 vmnic2,vmnic3
ISCSI4 0 1 vmnic2,vmnic3
ISCSI3 0 1 vmnic2,vmnic3
ISCSI2 0 1 vmnic2,vmnic3
ISCSI1 0 1 vmnic2,vmnic3
Para quitar una de las vmnic ejecutamos lo siguiente
esxcfg-vswitch -p ISCSI1 -N vmnic3 vSwitch1
Seguimos el mismo proceso para los restantes VMkernel
[root@ord1309 ~]# esxcfg-vswitch -p ISCSI2 -N vmnic3 vSwitch1
[root@ord1309 ~]# esxcfg-vswitch -p ISCSI3 -N vmnic3 vSwitch1
[root@ord1309 ~]# esxcfg-vswitch -p ISCSI4 -N vmnic2 vSwitch1
[root@ord1309 ~]# esxcfg-vswitch -p ISCSI5 -N vmnic2 vSwitch1
[root@ord1309 ~]# esxcfg-vswitch -p ISCSI6 -N vmnic2 vSwitch1
Verificamos que sólo tenemos una tarjeta por uplink
Switch Name Num Ports Used Ports Configured Ports MTU Uplinks
vSwitch1 64 9 64 9000 vmnic2,vmnic3
PortGroup Name VLAN ID Used Ports Uplinks
ISCSI6 0 1 vmnic3
ISCSI5 0 1 vmnic3
ISCSI4 0 1 vmnic3
ISCSI3 0 1 vmnic2
ISCSI2 0 1 vmnic2
ISCSI1 0 1 vmnic2
Es importante darse cuenta de que mientras en la sección de uplink sólo hay una tarjeta asignada a cada ISCSI VMkernel, todos ellos se distribuyen uniformemente entre todas las tarjetas.
==== 5.- Habilitar el iniciador ISCSI de VMware ====
para habilitar el iniciador
esxcfg-swiscsi -e
para comprobar que se ha iniciado
esxcfg-swiscsi -q
==== 6.- Enlazar los puertos VMkernel al iniciador ISCSI ====
para que haga un escaneo para descubrir todos los adaptadores, lo podemos hacer desde el vCenter Configuration->Storage Adapters pulsar en la opción de Rescan... o bien ejecutar
esxcfg-scsidevs -a
El resultado será parecido a
vmhba33 iscsi_vmk link-n/a iqn.1998-01.com.vmware:ord1309-49c33378 () Software iSCSI
La siguiente información que necesitamos es el vmk# de cada puerto VMkernel.
Para verlo desde la consola gráfica hay que ir Configuration->Networking. Desde el vSwitch podemos ver cada VMkernel y el vmk# asociado
Desde la cosnola podemos ejecutar esxcfg-vmknic -l
[root@ord1309 ~]# esxcfg-vmknic -l
Interface Port Group/DVPort IP Family IP Address Netmask Broadcast MAC Address MTU TSO MSS Enabled Type
vmk0 ISCSI1 IPv4 172.17.1.2 255.255.255.0 172.17.1.255 00:50:56:75:e9:39 9000 65535 true STATIC
vmk1 ISCSI2 IPv4 172.17.1.3 255.255.255.0 172.17.1.255 00:50:56:75:12:6d 9000 65535 true STATIC
vmk2 ISCSI3 IPv4 172.17.1.4 255.255.255.0 172.17.1.255 00:50:56:75:10:b2 9000 65535 true STATIC
vmk3 ISCSI4 IPv4 172.17.1.5 255.255.255.0 172.17.1.255 00:50:56:75:1a:6c 9000 65535 true STATIC
vmk4 ISCSI5 IPv4 172.17.1.6 255.255.255.0 172.17.1.255 00:50:56:75:d0:94 9000 65535 true STATIC
vmk5 ISCSI6 IPv4 172.17.1.7 255.255.255.0 172.17.1.255 00:50:56:78:79:54 9000 65535 true STATIC
Ahora que sabemos la vnhba# y el vmk# podemos enlazar cada puerto VMkernel con el iniciador ISCSI
esxcli swiscsi nic add -n vmk0 -d vmhba33
esxcli swiscsi nic add -n vmk1 -d vmhba33
esxcli swiscsi nic add -n vmk2 -d vmhba33
esxcli swiscsi nic add -n vmk3 -d vmhba33
esxcli swiscsi nic add -n vmk4 -d vmhba33
esxcli swiscsi nic add -n vmk5 -d vmhba33
Para verificar
esxcli swiscsi nic list -d vmhba33
===== 7.- Creamos los volúmenes en la cabina Equallogic ====
Una vez que hemos configurado el iniciador tenemos que crear en la cabina los distintos volúmenes de datos y asignarlos.
A la hora de configurar el espacio para los snapshots de la cabina basta con reservar un 20 o 30%
Permitimos el acceso sólo a nuestra red ISCSI
{{:hardware:modify_access_control_record-2010-03-29_10_17_40.png|}}
Habilitamos el acceso compartido desde múltiples iniciadores.
{{:hardware:set_access_type-2010-03-29_10_21_46.png|}}
Esta opción es necesaria para habilitar todas la capacidades avanzadas del Vsphere con el almacenamiento compartido
==== 8.- Enlazamos los volúmenes al Vsphere ====
Una vez creados los volúmenes etc, hay que ir al vCenter **Configuration-> Storage Adapter
-> ** hacer click en **Properties**
Click en la pestaña **Dynamic Discovery**
->Añadir
En la venta que se abre poner la dirección IP de la SAN y pulsar en ok
==== 9.- Activamos el Round Robin ====
Al activar el Round Robin nos permite hacer uso de las características avanzadas de las cabinas, permitiendo mayores anchos de banda.
Para habilitar el Multiplathing Round Robin en un volumen, hay que ir al vcenter-> Configure-> Storage. clic derecho y seleccionar **Manage Paths**. Desplegar la ventana y seleccionar Round Robin (VMware)
Esto hay que hacerlo para cada volumen nuevo o existente
Para poner por defecto Round Robin y utilizar por defecto el NMP de equallogic a la hora de crear nuevos volúmenes ejecutar:
esxcli nmp satp setdefaultpsp -–satp VMW_SATP_DEFAULT_AA -–psp VMW_PSP_RR
esxcli nmp satp setdefaultpsp -–satp VMW_SATP_EQL -–psp VMW_PSP_RR
esxcli corestorage claimrule load
esxcli corestorage claimrule run
====== Referencias =====
* http://www.equallogic.com/WorkArea/downloadasset.aspx?id=8453
* http://communities.vmware.com/message/1186817#1186817
* http://www.cisco.com/en/US/prod/collateral/switches/ps5718/ps6021/white_paper_c11-540141.html
* http://www.delltechcenter.com/page/Configuring+a+PowerConnect+5424+or+5448+Switch+for+use+with+an+iSCSI+storage+system
* http://virtualgeek.typepad.com/virtual_geek/2009/09/a-multivendor-post-on-using-iscsi-with-vmware-vsphere.html
* http://www.delltechcenter.com/page/A+"Multivendor+Post"+on+using+iSCSI+with+VMware+vSphere
* http://blogs.kraftkennedy.com/index.php/2010/05/07/set-round-robin-mpio-as-default-for-vsphere-4equallogic-sans/
* http://www.cosonok.com/2012/07/configuring-powerconnect-and-cisco.html
* http://en.community.dell.com/techcenter/enterprise-solutions/w/oracle_solutions/1422.how-to-configure-the-optimal-switch-settings-for-an-ip-based-san.aspx