viernes, 15 de julio de 2011

VMware vSphere 5.0: Conexión a una SAN iSCSI


Hace algunos dias se realizó el lanzamiento de la nueva plataforma de virtualizacion en VMware, vSphere 5.0, con importantes mejoras en lo que a almacenamiento se refiere. Una de estas mejoras, es la facilidad de realizar la configuración iSCSI completamente a traves del vSphere Client, sin la necesidad de utilizar la linea de comandos como era requerido en vSphere 4.

En los siguientes articulos detallaremos el proceso de configuración de vSphere 5, de manera de poder utilizar una SAN iSCSI como repositorio para los Datastores VMFS. Incluiremos la configuración requerida a nivel de red, iSCSI y multipathing, entre otras.

Si quieren conocer el proceso de configuración de iSCSI en vSphere 4, lo pueden ver en el siguiente link:
http://www.patriciocerda.com/2010/10/vmware-vsphere-41-conexion-una-san.html

Introducción

Es posible utilizar ESX/ESXi en conjunto con una SAN, que es basicamente una red especializada que conecta sistemas computacionales con subsistemas de almacenamiento de alta performance. El uso de una SAN, ya sea iSCSI o de Fiber Channel, provee una consolidacion del almacenamiento, al mismo tiempo que mejora la disponibilidad y facilita la recuperacion ante desastres. Por otro lado, el uso de una SAN como almacenamiento compartido es un requerimiento para poder crear un Cluster HA/DRS en VMware (aunque como alternativa se puede utilizar una NAS, o el nuevo vStorage Appliance).

Una SAN iSCSI utiliza una conexión Ethernet entre servidores y un sistema de almacenamiento de alta performance. Los componentes de una SAN incluyen HBAs (host bus adapters) iSCSI o interfaces de red (NICs) en el servidor, switches y routers que transportan el trafico del storage, Storage Processors (SP o controladoras) y sistemas de discos.

Iniciadores iSCSI

Para acceder a un Target iSCSI, los hosts utilizan Iniciadores iSCSI. Este iniciador transporta los requerimientos y respuestas SCSI, encapsulandolos en el protocolo iSCSI, entre el host y el Target iSCSI.
Los hosts en vSphere 5 soportan diferentes tipos de iniciadores:
  • Adaptador iSCSI por Software: Es un adaptador incluido en el VMkernel, que permite al host conectarse a un Storage iSCSI a través de adaptadores de red standard. Esta opción permite utilizar la tecnologia iSCSI sin comprar hardware especializado.
  • Adaptador iSCSI por Hardware: Es un adaptador de teceros que libera al host del procesamiento de red y iSCSI. Estos se dividen en dos categorias:
    • Dependientes: Dependen de la red de VMware, y de la configuración iSCSI y las interfaces de administración provistas por VMware. Puede ser una tarjeta que incluye un adaptador de red standard y funcionalidades de iSCSI offload por el mismo puerto. Estas funcionalidades de offload dependen de la configuración de red del host para obtener la IP, MAC, y otros parametros usados por las sesiones iSCSI
    • Independientes: Implementan su propia configuración de red y iSCSI, asi como sus propias interfaces de administración. Puede ser una tarjeta que presenta solo funcionalidades de iSCSI offload. Estas funcionalidades de offload tienen configuraciones independientes que asignan IP, MAC y otros parametros usados por las sesiones iSCSI.
.

Como funcion el iniciador iSCSI por software?

Una SAN iSCSI utiliza una arquitectura cliente servidor, donde el cliente llamado iniciador iSCSI opera en el host. Este cliente inicia las sesiones iSCSI emitiendo comandos SCSI y trasmitiendolos, encapsulados en el protocolo iSCSI, a un servidor conocido como iSCSI target. El iSCSI target representa un sistema de almacenamiento fisico en la red y responde a los comandos del iniciador transmitiendo los datos iSCSI requeridos.

VMware utiliza puertos VMkernel como los iniciadores de sesiones, por lo que debemos configurar cada puerto que queramos utilizar como un camino (path) para el Storage. Esto es independiente del numero de NICs o HBAs iSCSI, pero en la mayoria de los casos será una relación uno a uno entre los puertos VMkernel y las interfaces disponibles. Una vez que las sesiones a la SAN son iniciadas, VMware NMP se encargará de balancear la carga y distribuir el trafico I/O entre todos los caminos disponibles.

Los volumenes en una SAN iSCSI pueden ser utilizados por ESX/ESXi como un Datastore VMFS o un Raw Device Map (RDM). El iniciador iSCSI por software utiliza los puertos VMkernel que fueron creados y establece una sesion a la SAN y a los volumenes. A partir de vSphere 4 se pueden utilizar multiples caminos (multipathing) a la SAN para un mayor ancho de banda y performance.

Cada puerto VMkernel se encuentra asignado a un adaptador fisico. Dependiendo de la plataforma se pueden crear hasta 8 sesiones simultaneas a un volumen. Para una implementación estandar se recomienda el uso de una relación uno a uno (1:1) entre los puertos VMkernels y las interfaces fisicas, o sea si existen 4 interfaces fisicas, se crearía 4 puertos VMkernel, y se asociaria cada uno de estos puertos a una NIC separada. Este esquema puede ser expandido dependiendo del numero de NICs que se tengan disponibles.

A medida que la infraestructura va creciendo se pueden establecer multiples sesiones a la SAN suscribiendo más puertos VMkernel a las interfaces fisicas existentes. Esto establece multiples sesiones a un volumen, pero aun utiliza las mismas interfaces fisicas para acceder a dicho volumen.

Tipos de Storage iSCSI

ESXi soporta diferentes tipos de arreglos de Storage:
  • Storage Activo-Activo: Permite acceso a las LUNs en forma simultanea a traves de todos los Puertos de Storage disponibles, sin una degradación de performance significativa. Todos los paths son activos todo el tiempo, a menos que un path falle.
  • Storage Activo-Pasivo: Corresponde a un storage en la cual un Storage Procesos provee acceso en forma activa a una LUN determinada. El otro SP actua como un respaldo para la LUN, y puede proveer acceso activo a otra LUN. Si el acceso a traves de un SP falla, uno de los SP pasivos puede ser activado.
  • Storage Asimetrico: Soporta Asymmetric Logical Unit Access (ALUA). Los Storage con soporte ALUA proveen diferentes niveles de acceso por puerto. ALUA le permite a los hosts determinar el estado de los puertos del Target y priorizar los paths. El host utiliza algunos de los paths activos como Primarios, mientras que trata al resto como Secundarios.
  • Storage de Puerto Virtual: Permite acceso a todas las LUNs disponibles a través de un unico puerto virtual. Estos son basicamente Storages activo-activo, pero esconden sus multiples conexiones a traves de un unico puerto virtual. Los mecanismos de Multipathing no pueden detectar las conexiones multiples al Storage. Estos tipos de Storage manejan el Port Failover y el balanceo de conexiones en forma transparente, lo cual es conocido frecuentemente como Transparent Failover.

Nuevas caracteristicas del iniciador iSCSI en vSphere 5

VMware vSphere 5 ofrece mejoras sobre el iniciador iSCSI por Software, junto con la conectividad para SAN iSCSI.
  • Iniciador iSCSI por Software: Este iniciador debe ser agregado entre los Storage Adapters, ya que no viene incluido por defecto.
  • Port Binding: Ahora es posible realizar las operaciones de Port Binding completamente a traves del vSphere Client, sin la necesidad del uso de la linea de comandos como se estilaba en vSphere 4.
  • Jumbo Frames: Ahora es posible habilitar Jumbo Frame, tanto en los Virtual Switch como en los puertos VMkernel, completamente a traves de vSphere Client.



Buenas Practicas

  • Se recomienda el uso de un Switch de red Gigabit Ethernet o 10GE separado para el manejo del trafico iSCSI. Se recuerda que el trafico en una red iSCSI no se encuentra encriptado.
  • Se recomienda conectar cada host ESXi a 2 Switches iSCSI, cada uno de estos conectados a todas las controladoras disponibles en el Storage.  Esto permite contar con alta disponibilidad y balanceo de carga en las conexiones iSCSI.
  • Los servidores, Switches y puertos de las controladoras del Storage deben estar en el mismo segmento de red
  • Se recomienda tener más de una HBA iSCSI o NIC dedicada para el trafico iSCSI.
  • Se recomienda habilitar Jumbo Frame para mejorar la performance en la comunicación iSCSI. Se recuerda que la habilitación de Jumbo Frame debe realizarse end-to-end.

Requisitos

Para la configuración de iSCSI en vSphere existen algunos requisitos que se detallan a continuación:
  • Al menos una HBA iSCSI o NIC para el trafico iSCSI. En nuestro ambiente utilizaremos 2 NICs para la configuración iSCSI.
  • Un segmento de IP dedicado para el trafico iSCSI. En nuestro caso utilizaremos el segmento no ruteable 10.10.10.x
  • Verificar que el Storage está soportado por ESXi.
  • Se debe utilizar solo un datastore VMFS por LUN.
  • ESXi no soporta multipathin cuando se combinan adaptadores por Hardware independientes, con adaptadores por Hardware dependientes, o adaptadores por Software.

Configuración de iSCSI en vSphere

Habiendo entendido la arquitectura de una SAN iSCSI y sus requerimientos y buenas practicas, a continuación detallaremos el proceso de configuración de iSCSI en VMware vSphere 5.0:
Para una documentación más detallada del proceso y que cubra todos los escenarios, pueden revisar la documentación oficial de VMware.

0 comentarios:

Publicar un comentario