Cómo crear y agregar repositorios de almacenamiento Citrix XenServer - Parte 4


En el cuarto artículo de esta serie XenServer, se discutirán las soluciones de almacenamiento. Al igual que las redes, las soluciones de almacenamiento en XenServer suelen ser difíciles de comprender al principio. Antes de comenzar cualquier configuración, se deben discutir la nueva terminología y conceptos involucrados en el almacenamiento XenServer.

XenServer introduce varios términos nuevos en la lista de terminología de almacenamiento tradicional. Si bien comprender los conceptos siempre es importante cuando se trabaja con cualquier sistema de TI, el almacenamiento no es tan crucial como el artículo anterior sobre conceptos de redes. Sin embargo, este artículo todavía se tomará el tiempo para explicar e intentar aclarar estos conceptos de almacenamiento.

Lo primero que debe recordar con el almacenamiento de XenServer es que tenemos almacenamiento para el host de XenServer real y luego también tenemos almacenamiento para el invitado o las máquinas virtuales que se ejecutarán en el host de XenServer. Conceptualmente, esto es fácil de comprender, pero administrarlo puede ser una tarea abrumadora si el administrador no está familiarizado con los propósitos de cada uno de los aspectos del almacenamiento.

El primer término se conoce como "SR" o depósito de almacenamiento. Este es posiblemente el término más importante en el almacenamiento de XenServer, ya que representa el medio físico en el que se almacenarán y recuperarán los discos de la máquina virtual. Los repositorios de almacenamiento pueden ser cualquiera de varios tipos diferentes de sistemas de almacenamiento, incluido el almacenamiento local conectado físicamente al host XenServer, iSCSI/LUN de canal de fibra, recursos compartidos de archivos de red NFS o almacenamiento en un dispositivo de almacenamiento Dell/NetApp.

Los repositorios de almacenamiento se pueden compartir o dedicar y pueden admitir numerosas funciones útiles, como la clonación rápida, la asignación escasa (almacenamiento provisto según lo necesite la máquina virtual) e imágenes de disco virtual redimensionables (más sobre esto más adelante).

Los repositorios de almacenamiento, SR, están conectados lógicamente a un host XenServer con lo que se conoce como un dispositivo de bloque físico, más comúnmente denominado "PBD". El PBD es simplemente una referencia a una ubicación de almacenamiento. Estos objetos PBD se pueden "conectar" a un host XenServer para permitir que ese host lea/escriba información en ese repositorio de almacenamiento.

El propósito de los repositorios de almacenamiento es principalmente almacenar los archivos de imagen de disco virtual (VDI) de la máquina virtual. Los archivos VDI son puntos en un SR que se han asignado para contener el sistema operativo y otros archivos para la máquina virtual que se ejecuta en el host XenServer. Los archivos VDI pueden ser de varios tipos diferentes. El tipo está determinado por el tipo de depósito de almacenamiento.

Los tipos de VDI comunes en XenServer son Logical Volumes (LV) administrados por Logical Volume Manager, Virtual Hard Disk (VHD), o pueden ser Logical Unit Numbers (LUN) en un dispositivo de almacenamiento Dell o NetApp. Nota: este artículo utilizará LUN en un dispositivo de almacenamiento Dell.

Estos archivos VDI están conectados a máquinas virtuales de manera lógica a través de un objeto conocido como Dispositivo de bloque virtual, comúnmente denominado "VBD". Estos objetos VBD se pueden adjuntar a invitados virtuales que luego permiten que la máquina invitada acceda a los datos almacenados en ese VDI en particular en un SR respectivo.

Al igual que las redes en XenServer, leer sobre almacenamiento es una cosa, pero poder ver la relación entre cada uno de estos elementos a menudo solidifica los conceptos. Los diagramas comunes que se utilizan para representar los conceptos de almacenamiento de XenServer a menudo confunden a las personas más nuevas, ya que los diagramas a menudo se leen de forma lineal. A continuación se muestra una de esas imágenes tomadas de Citrix.

Muchas personas leen esto linealmente de izquierda a derecha pensando que cada parte es un dispositivo físico separado. Este no es el caso y, a menudo, genera mucha confusión sobre cómo funciona el almacenamiento XenServer. El siguiente gráfico intenta explicar los conceptos de una manera menos lineal pero más pragmática.

Es de esperar que el gráfico anterior no confunda más a las personas sobre el almacenamiento XenServer. La segunda imagen es un intento de mostrar las conexiones lógicas (PBD y VBD) que se utilizan para conectar XenServers e invitados al almacenamiento remoto a través de una conexión de red real.

Con la conceptualización fuera del camino; la configuración puede comenzar. Recordando el primer artículo de esta serie, esta guía utiliza un dispositivo de almacenamiento iSCSI Dell PS5500E para el almacenamiento de los discos de la máquina virtual (invitados). Esta guía no explicará la configuración del dispositivo iSCSI de Dell.

  1. XenServer 6.5 installed and patched (Part 1 of series)
  2. Dell PS5500E iSCSI device (other iSCSI devices can be used just substitute environment information where needed).
  3. XenServer network interfaces configured (Part 3 of series).
  4. iSCSI device and XenServer can logically see each other (via ping utility).
  5. CIFS (SAMBA) Server running and hosting a share of CD ISO files (not required but very useful).

Creación de repositorios de almacenamiento Citrix XenServer

Este primer proceso pasará por los pasos para crear un iniciador iSCSI de software desde el host XenServer al Dell PS5500E.

Este LUN en particular utiliza el Protocolo de autenticación por desafío mutuo (CHAP) para restringir el acceso al volumen iSCSI a determinadas partes autorizadas.

Para crear el repositorio de almacenamiento, se producirá un comando "xe" tradicional. Se debe obtener la información iSCSI adecuada antes de crear el repositorio de almacenamiento.

Pasar el parámetro "sr-probe" a la utilidad "xe" indicará al XenServer que consulte un dispositivo de almacenamiento para el iSCSI IQN (nombre calificado iSCSI).

El primer comando parecerá intenso al principio, pero no es tan malo como parece.

# xe sr-probe type=lvmoiscsi device-config:target=X.X.X.X device-config:chapuser="tecmint" device-config:chappassword="tecmint_chap"

Este primer comando es necesario para recopilar el IQN de SCSI para la configuración del repositorio de almacenamiento. Antes de continuar, echemos un vistazo a todas las partes de este comando.

  1. sr-probe – Used to query the iSCSI device for information about the volume created for this XenServer host.
  2. type= Used to tell the XenServer the storage repository type. This will vary depending on what system is being used. Due to the usage of the Dell PS5500, lvm over iSCSI is used in this command. Be sure to modify to fit the storage device type.
  3. device-config:target= Used to tell the XenServer what iSCSI device to query by IP address.
  4. device-config:chapuser= This is used to authenticate to the iSCSI device. In this example an iSCSI volume has been created previously for the user “tecmint”. By sending the user-name and password in this command, the iSCSI device will respond back with the necessary information to finish creating the storage repository.
  5. device-config:chappassword= This is the password for the above CHAP user-name.

Una vez que se ingresa y envía el comando, XenServer intentará iniciar sesión en el dispositivo iSCSI y devolverá la información necesaria para agregar este dispositivo iSCSI como un depósito de almacenamiento.

A continuación se muestra lo que el sistema de prueba devolvió con este comando.

Error code: SR_BACKEND_FAILURE_96
Error parameters: , The SCSIid parameter is missing or incorrect , <?xml version"1.0" ?>
<iscsi-target-iqns>
        <TGT>
                 <Index>
                              0
                 </Index>
                 <IPAddress>
                 </IPAddress>
                 <TargetIQN>
                              iqn.2001-05.com.equallogic:0-8a096-0d9a4ab02-46600020343560ef-xenct-xen2
                 </TargetIQN>
        </TGT>
        <TGT>
                 <Index>
                 
                 </Index>
                 <IPAddress>

                 </IPAddress>
                 <TargetIQN>

                 </TargetIQN>
        </TGT>
</iscsi-target-iqns>

La pieza resaltada aquí se conoce como iSCSI IQN. Esto es muy importante y necesario para determinar el SCSIid del repositorio de almacenamiento. Con esta nueva información, el comando anterior se puede modificar para obtener el SCSIid.

# xe sr-probe type=lvmoiscsi device-config:target=X.X.X.X device-config:targetIQN=iqn.2001-05.com.equallogic:0-8a0906-0d9a4ab02-46600020343560ef-xenct-xen2 device-config:chapuser="tecmint" device-config:chappassword="tecmint_chap"

Lo único que se agrega al comando es la estrofa targetIQN. Al emitir este nuevo comando, el sistema responderá con la última información necesaria para crear un depósito de almacenamiento iSCSI. Ese último dato es el ID SCSI.

Error code: SR_BACKEND_FAILURE_107
Error parameters: , The SCSIid parameter is missing or incorrect , <?xml version"1.0" ?>
<iscsi-target>
        <LUN>
                 <vendor>
                        EQLOGIC
                 </vendor>
                 <serial>
                 </serial>
                 <LUNid>
                         0
                 </LUNid>
                 <size>
                         107379425280
                 </size>
                 <SCSIid>
                         36090a028b04a9a0def60353420006046
                 </SCSIid>
        </LUN>
</iscsi-target>

A partir de este punto, todas las piezas necesarias para crear un repositorio de almacenamiento iSCSI están disponibles y es hora de emitir el comando para agregar este SR a este XenServer en particular. La creación del repositorio de almacenamiento a partir de la información combinada se realiza de la siguiente manera:

# xe sr-create name-label="Tecmint iSCSI Storage" type=lvmoiscsi content-type=user device-config:target=X.X.X.X device-config:port=3260 device-config:targetIQN=iqn.2001-05.com.equallogic:0-8a0906-0d9a4ab02-46600020343560ef-xenct-xen2 device-config:chapuser="tecmint" device-config:chappassword="tecmint_chap" device-config:SCSIid=36090a028b04a9a0def60353420006046

Si todo va bien, el sistema se conectará al dispositivo iSCSI y luego devolverá el UUID del repositorio de almacenamiento recién agregado.

bea6caa4-ecab-8509-33a4-2cda2599fb75

¡La salida UUID es una gran señal! Como ocurre con todas las tareas de administración del sistema, siempre es una buena idea confirmar que el comando fue exitoso. Esto se puede lograr con otro comando "xe".

# xe sr-list name-label="Tecmint iSCSI Storage"
uuid ( RO)                 : bea6caa4-ecab-8509-33a4-2cda2599fb75
          name-label ( RW) : Tecmint iSCSI Storage
    name-description ( RW) :
                host ( RO) : xenct-xen2
                type ( RO) : lvmoiscsi
        content-type ( RO) : user

Desde la salida de la CLI, este XenServer se ha conectado correctamente al dispositivo iSCSI de Dell y está listo para almacenar archivos VDI invitados.

Creación de repositorios de almacenamiento ISO

La siguiente serie de pasos recorre el proceso de creación de una biblioteca ISO. Los archivos ISO suelen ser imágenes de medios de instalación de disco compacto (CD).

Al tener un repositorio de almacenamiento especial creado para estos archivos ISO, la instalación de nuevos invitados se puede realizar muy rápidamente. Cuando un administrador desea crear un nuevo invitado, simplemente puede seleccionar uno de los archivos ISO que existen en esta biblioteca ISO en lugar de tener que poner un CD físicamente en un XenServer en el grupo.

Esta parte de la guía asumirá que el usuario tiene un servidor SAMBA en funcionamiento. Si un servidor SAMBA no está configurado, no dude en leer este artículo sobre cómo completar esta tarea en Red Hat/Fedora (tendré una guía del servidor SAMBA de Debian en el futuro):

  1. Setup Samba Server for File Sharing

El primer paso es recopilar las credenciales y la información de configuración necesarias para la biblioteca ISO de SAMBA. Una vez que el nombre de usuario, la contraseña y la información de conectividad están disponibles, se puede usar una variante de comando "xe" simple para conectar la biblioteca SAMBA al XenServer.

# xe-mount-iso-sr //<servername>/ISO -o username=<user>,password=<password>

Este comando no mostrará nada en la pantalla a menos que falle. Para confirmar que efectivamente montó el recurso compartido de SAMBA ISO, emita otro comando "xe":

# xe sr-list
uuid ( RO)                 : 1fd75a51-10ee-41b9-9614-263edb3f40d6
          name-label ( RW) : Remote ISO Library on: //                  /ISO
    name-description ( RW) :
                host ( RO) : xenct-xen2
                type ( RO) : iso
        content-type ( RO) : iso

Este host XenServer ahora está configurado con un depósito de almacenamiento iSCSI y una biblioteca ISO CIFS para almacenar medios de instalación para máquinas virtuales (invitados).

Los próximos pasos serán la creación de máquinas virtuales y la conexión de esos sistemas a las redes adecuadas del artículo anterior sobre redes.