{{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