meta data de esta página
  •  
no way to compare when less than two revisions

Diferencias

Muestra las diferencias entre dos versiones de la página.


Última revisión
hardware:cabina_iscsi [2013/12/16 10:12] – editor externo 127.0.0.1
Línea 1: Línea 1:
 +{{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)
 +
 +<note tip>
 +Si ya tenemos una configuración en el swicth y queremos empezar desde cero hay que hacer lo siguiente
 +<code>
 +console>enable
 +console#clear config
 +
 +</code></note>
 + 
 +===  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 ====
 +<code>interface range ethernet all
 +mtu 9216
 +exit</code>
 +<note>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 </note>
 +
 +=== deshabilita LLDP ===
 +<code>
 +interface range ethernet all
 +no lldp transmit
 +no lldp receive
 +</code>
 +
 +=== Habilitar el RSTP ===
 +<code>
 +Switch(config)# spanning-tree mode rstp
 +</code>
 +=== Habilitar el portfast ===
 +<code>
 +interface range ethernet all
 +spanning-tree portfast
 +</code>
 +=== 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 
 +<code>
 +console(config)# no iscsi enable
 +console(config)# no iscsi target port 860
 +console(config)# no iscsi target port 3260
 +</code>
 +
 +
 +=== STORM CONTROL ===
 +<code>interface range Eternet all
 +no storm-control unicast</code>
 +
 +
 +==== Ejemplo configuración Switch Powerconnect =====
 +<code>
 +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
 +</code>
 +
 +
 +
 +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.
 +<code>
 +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
 +</code>
 +<note> Estas líneas han de ser ejecutadas en los dos switch</note>
 +
 +===== 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 
 +
 +
 +<note warning>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.</note>
 +
 +
 +
 +
 +
 +   
 +
 +
 +
 +==== 1.- Habilitamos Jumbo Frames en los vSwitch ====
 +Creamos un vSwitch para ello desde la consola o por ssh ejecutamos 
 +<code>esxcfg-vswitch -a vSwitch1</code>
 +
 +Habilitamos Jumbo Frames
 +<file>
 +[root@ord1309 ~]# esxcfg-vswitch -m 9000 vSwitch1
 +</file>
 +Comprobamos que está habilitado
 +<file>
 +[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            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
 +</file>
 +
 +También podemos hacer <code>vmkping -s 9000 dirección_ip</code> para comprobar que funciona
 +
 +==== 2.- Añadimos los puertos ISCSI VMkernel ====
 +<del>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</del>
 +La recomendación ha cambiado, ahora se recomienda un VMkernel por cada tarjeta física
 +<file>
 +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
 +</file>
 +
 +==== 3.- Asignar las tarjetas de red ====
 +
 +Para listar las tarjetas del sistema ejecutar
 +<code>esxcfg-nics -l</code>
 +El resultado será algo así
 +<file>
 +[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
 +</file>
 +Asignamos las tarjetas al vSwitch
 +<code>
 +esxcfg-vswitch -L vmnic2 vSwitch1
 +esxcfg-vswitch -L vmnic3 vSwitch1
 +</code>
 + 
 +Para verificar que se han asignado correctamente
 +<code>
 +esxcfg-vswitch -l
 +</code>
 +el resultado será parecido a 
 +<file>
 +
 +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            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
 +</file>
 +
 +==== 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.
 +
 +<note warning> 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</note>
 +
 +<file>
 +  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
 +</file>
 +Para quitar una de las vmnic ejecutamos lo siguiente
 +<code>
 +esxcfg-vswitch -p ISCSI1 -N vmnic3 vSwitch1
 +</code>
 +Seguimos el mismo proceso para los restantes VMkernel
 +<file>
 +[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
 +</file>
 +
 +Verificamos que sólo tenemos una tarjeta por uplink
 +<file>
 +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
 +</file>
 +<note important>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. </note>
 +
 +==== 5.- Habilitar el iniciador ISCSI de VMware ====
 +
 +para habilitar el iniciador
 +<code>esxcfg-swiscsi -e</code>
 +para comprobar que se ha iniciado
 +<code>esxcfg-swiscsi -q</code>
 +==== 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 
 +<code>esxcfg-scsidevs -a</code>
 +El resultado será parecido a 
 +<file>
 +vmhba33 iscsi_vmk         link-n/ iqn.1998-01.com.vmware:ord1309-49c33378 () Software iSCSI
 +</file> 
 +
 +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 <code>esxcfg-vmknic -l</code>
 +
 +<file>
 +[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
 +</file>
 +Ahora que sabemos la vnhba# y el vmk# podemos enlazar cada puerto VMkernel con el iniciador ISCSI
 +<code>
 +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
 +</code>
 +Para verificar 
 +<code>esxcli swiscsi nic list -d vmhba33</code>
 +
 +===== 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.
 +
 +<note>A la hora de configurar el espacio para los snapshots de la cabina basta con reservar un 20 o 30% </note>
 +
 +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|}}
 +
 +
 +<note warning>Esta opción es necesaria para habilitar todas la capacidades avanzadas del Vsphere con el almacenamiento compartido</note>
 +
 +==== 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)
 +
 +<note> Esto hay que hacerlo para cada volumen nuevo o existente</note>
 +
 +Para poner por defecto Round Robin y utilizar por defecto el NMP de equallogic a la hora de crear nuevos volúmenes ejecutar:
 +<code>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</code>
 +
 +====== 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/
 +
 +