1·1·4 | NPIV - N Port ID

La tecnología NPIV también conocida como Node Port ID Virtualization, es una capacidad especifica de SAN FC, y es una extensión del estándar de canal de fibra existente, permite la creación de WWNs virtuales en las VMs, de este modo es posible el uso de zonas como si de servidores físicos se trataran.

El uso de NPIV mejora sustancialmente la seguridad, evitando accesos indeseados cuando presentamos una LUN a los servidores ESXi, por ejemplo, para crear un disco RDM. Es posible crear una zona SAN para acceso a una única VM, ante el uso de vMotion no hay requisitos especiales para asegurar que el resto de nodos tienen acceso a la LUN, la VM tiene acceso y es suficiente para que el host de destino herede la capacidad de acceso a el.
 
Para habilitar NPIV en el entorno se requieren varios componentes, los switches SAN deben soportar NPIV, cualquier Switch Brocade con un Fabric OS v5.1.0 o posterior soportara NPIV.

Las HBAs deben soportar NPIV, actualmente cualquier HBA Emulex o QLogic lo soporta.


El uso de NPIV es aplicable únicamente a discos RDM.

vMotion esta soportado para VMs con varios RDMs NPIV, eso si, los punteros a los RDMs deben estar en el mismo datastore.

Storage vMotion no esta soportado con RDMs NPIV.

NPIV es completamente transparente para los arrays de disco, por lo que los sistemas de almacenamiento en sí no requieren una configuración especial.

Bien, vamos a la práctica, conectaremos una LUN a una VM mediante NPIV, dispongo de una cabina HP MSA 2000 G2, HBAs QLogic ISP2532 de 8GB en los hosts y Switches SAN Brocade.

 
Preparación del entorno:

Se asume que ya están correctamente configuradas las zonas entre las HBAs de los hosts ESXi y las controladoras de la MSA. De no ser asi, crearlas y comprobar la conectividad.

También se asume que están creados los Hosts con los WWNs pertinentes para las HBAs de los ESXis, de no ser así, también hay que crearlos.

1 En primer lugar crearemos una LUN, en adelante (NPIV_HB) y la presentaremos a los hosts ESXi con el mismo LUN ID para todas las HBAs.






En los switches SAN comprobaremos que NPIV este habilitado en los puertos correspondientes, en este caso los que van a las HBAs de los hosts ESXi 5.1
 
 

Imagen. Vista del estado de NPIV en los puertos pertinentes mediante GUI.

Realizamos una conexion SSH al Switch SAN y con el comando portcfgshow seguido del numero de puerto revisamos el estado del mismo.

portcfgshow 0


Comprobar que NPIV Capability este en ON


De no estar habilitado NPIV en los switchs los habilitaremos para cada puerto con el comando

portcfgnpivport --enable seguido del puerto.


Imagen. Activación de NPIV en cada puerto

3
A continuación identificaremos las HBAs en los hosts ESXi, para ello accederemos mediante una sesión SSH hasta la ruta:

/proc/scsi #

con ls
identificaremos el folder de las HBAs, en este caso qla2xxx hace referencia a una QLogic ISP2532, una vez dentro nuevamente con ls nos dará las instancias de las HBAs.


Imagen. instancias de las HBA Qlogic del host

Con el comando cat seguido del identificador nos proporcionara la información necesaria sobre la HBA, entre otras cosas si soporta NPIV (NPIV Supported : Yes).
y con una revisión rápida para cada instancia comprobaremos el tipo y el estado de conectividad de cada (puerto).
 



Imagen. información sobre una de las instancias de la HBA.


4
A continuación mediante el cliente vSpere pararemos la VM a configurar NPIV y la editaremos.

En la pestaña Options Desmarcaremos la opción Temporarily Disable NPIV for this virtual machine y marcaremos que genere un WWNN y un WWPN nuevos y aceptaremos para que aplique y los genere.




Imagen. Vista de Fibre Channel virtual WWNs.


3 Volvemos a acceder a la configuración de la VM y aparecerán los WWNN/WWPNs


Imagen: WWN y WWPN generados
 

Para comprobar que realmente ha creado y linkado el VPort, abrir una sesión SSH al servidor ESXi y ejecutar el siguiente comando, esxcli storage core adapter list, en la descripción aparecerán con () Virtual y en Link State el estado del mismo.
 
 
 
Imagen. Lista de adaptadores
 
4 Ahora le conectaremos el disco RDM mediante la LUN previamente presentada, especificaremos que use una controladora SCSI separado para la VM (en este caso SCSI (1:0)).


Imagen. Usar un canal SCSi separado para el RDM.

La VM se mantiene apagada en todo momento.

Configuración de zonas para NPIV:

La configuración de zonas para el uso de NPIV tiene una serie de requisitos a tener en cuenta:
-Las HBAs fisicas deben tener acceso a todas las LUNs a las que accedan las VMs.

-El modo de presentación del host (HBA) debe ser igual para cualquier VM que tenga habilitado NPIV a traves de esta HBA.

-Las LUNs deben presentarse con el mismo LUN ID tanto a las HBAs físicas como virtuales.

-El LUN Masking de la cabina debe incluir tanto WWNs fisicos como WWNs virtuales.

Bien, vamos a la configuración de las zonas:

Creamos un Alias para la VM NPIVTest

Imagen. Alias nuevo

Agregamos el WWPN y el WWNN generado por vCenter para la VM.

 
Imagen. WWPN de la VM

 


Imagen. Vista del Alias creado


Crear una zona y agregar el Alias de la VM (NPIVTest) y la cabina de almacenamiento.

 
Imagen. Zona nueva.

 

Imagen. Miembros de la zona.

Agregar la zona creada a la configuración de zona e Inicializarla


Imagen. Miembros de configuracion de zona.

Configuración en cabina:


Esta parte varia en cada marca y modelo de cabina de almacenamiento, ire incluyendo la configuración para cada cabina en que lo vaya implementando, por ahora vamos con la HP MSA P2000 G2.

 
1 Acceder a la cabina de almacenamiento, en el apartado de hosts se autodescubrira un nuevo Host con el WWPN generado (vPort ID) en la VM, renombrarlo adecuadamente, en este caso (NPIVTest). De no aparecer se tendrá que agregar el host manualmente.


 
 
 
Imagen. Agregar host (NPIVTest) con el World Wide Port Name WWPN generado en la VM.

2 Ir a la LUN presentada a la VM y presentársela a el nuevo host creado (NPIVTest), asegurarse que el LUN ID es el mismo que se utilizo para presentarla a las HBAs.


 
Imagen. Presentar la LUN perteneciente al RDM al host (NPIVTest).
 
Nota. Es muy importante que el LUN ID sea el mismo para los dos hosts.


 
 
Imagen. LUN presentado a las HBAs físicas y el WWPN de la VM.

Iniciaremos la VM (NPIVTest) y ya lo tenemos configurado.