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 hay que recordar con el almacenamiento XenServer es que tenemos almacenamiento para el host XenServer real y luego también tenemos almacenamiento para el invitado o las máquinas virtuales que se ejecutarán en el host 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 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 forma 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, lo que luego permite 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 instalado y parcheado (Parte 1 de la serie)
  2. Dispositivo iSCSI Dell PS5500E (se pueden usar otros dispositivos iSCSI simplemente sustituyendo la información del entorno cuando sea necesario).
  3. Interfaces de red XenServer configuradas (Parte 3 de la serie).
  4. El dispositivo iSCSI y XenServer pueden verse entre sí de forma lógica (a través de la utilidad de ping).
  5. Servidor CIFS (SAMBA) que ejecuta y aloja una parte de archivos ISO de CD (no es obligatorio, pero es muy útil).

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: se utiliza para consultar el dispositivo iSCSI para obtener información sobre el volumen creado para este host XenServer.
  2. type u003d Se utiliza para indicarle al XenServer el tipo de depósito de almacenamiento. Esto variará según el sistema que se esté utilizando. Debido al uso de Dell PS5500, en este comando se usa lvm sobre iSCSI. Asegúrese de modificarlo para que se ajuste al tipo de dispositivo de almacenamiento.
  3. device-config: target u003d Se usa para indicarle al XenServer qué dispositivo iSCSI consultar por dirección IP.
  4. device-config: chapuser u003d Esto se usa para autenticarse en el dispositivo iSCSI. En este ejemplo, se ha creado previamente un volumen iSCSI para el usuario “tecmint”. Al enviar el nombre de usuario y la contraseña en este comando, el dispositivo iSCSI responderá con la información necesaria para terminar de crear el depósito de almacenamiento.
  5. device-config: chappassword u003d Esta es la contraseña para el nombre de usuario de CHAP anterior.

Una vez que se ingresa y envía el comando, XenServer intentará iniciar sesión en el dispositivo iSCSI y devolverá cierta información necesaria para agregar realmente 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 es necesario para determinar el SCSIid para el depósito 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. Esa última información es la identificación 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! Al igual que 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. Configurar el servidor Samba para compartir archivos

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.