Búsqueda de sitios web

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


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

Actualización: En mayo de 2016, Citrix lanzó la nueva versión de la plataforma XenServer 7. Para la instalación siga: Instalación nueva de XenServer 7.

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 que trata los 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 debemos recordar con el almacenamiento de XenServer es que tenemos almacenamiento para el host de XenServer real y luego también tenemos almacenamiento para las máquinas virtuales o invitadas que se ejecutarán en el host de XenServer. Conceptualmente esto es fácil de entender, pero administrarlo puede ser una tarea desalentadora 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 Repositorio 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 las máquinas virtuales. 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, LUN iSCSI/Fibre Channel, 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 clonación rápida, asignación dispersa (almacenamiento aprovisionado según lo necesita la máquina virtual) e imágenes de discos virtuales 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 repositorio de almacenamiento.

Los tipos de VDI comunes en XenServer son volúmenes lógicos (LV) administrados por Logical Volume Manager, disco duro virtual (VHD) o pueden ser números de unidad lógica (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 particular en un SR respectivo.

Al igual que la creación de 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 utilizados 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 tomada de Citrix.

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

Esperemos que el gráfico anterior no confunda más a las personas sobre el almacenamiento de 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 Dell iSCSI.

Configuración del sistema:

  1. XenServer 6.5 instalado y parcheado (Parte 1 de la serie)
  2. Dispositivo iSCSI Dell PS5500E (se pueden utilizar otros dispositivos iSCSI, simplemente sustituya 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 lógicamente entre sí (mediante la utilidad ping).
  5. Servidor CIFS (SAMBA) que ejecuta y aloja una parte de archivos CD ISO (no es necesario pero es muy útil).

Creación del repositorio de almacenamiento Citrix XenServer

Este primer proceso seguirá 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 ejecutará un comando tradicional 'xe'. Es necesario obtener la información iSCSI adecuada antes de crear el repositorio de almacenamiento.

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

La primera orden parecerá intensa al principio, pero no es tan mala 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 SCSI IQN 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= Se utiliza para indicarle a XenServer el tipo de repositorio de almacenamiento. Esto variará dependiendo del sistema que se esté utilizando. Debido al uso de Dell PS5500, en este comando se utiliza lvm sobre iSCSI. Asegúrese de modificarlo para que se ajuste al tipo de dispositivo de almacenamiento.
  3. device-config:target= Se utiliza para indicarle a XenServer qué dispositivo iSCSI consultar por dirección IP.
  4. device-config:chapuser= Esto se utiliza para autenticarse en el dispositivo iSCSI. En este ejemplo, se creó 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 repositorio de almacenamiento.
  5. device-config:chappassword= Esta es la contraseña para el nombre de usuario 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 este dispositivo iSCSI como repositorio de almacenamiento.

A continuación se muestra lo que el sistema de prueba arrojó 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 del repositorio de almacenamiento. Con esta nueva información se puede modificar el comando anterior 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 repositorio de almacenamiento iSCSI. Ese último dato 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

¡El resultado 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 se realizó correctamente. Esto se puede lograr con otro comando 'xe'.


xe sr-list name-label="Tecmint iSCSI Storage"
Salida de muestra

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 CLI, este XenServer se ha conectado correctamente al dispositivo iSCSI de Dell y está listo para almacenar archivos VDI invitados.

Creación de repositorio 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 discos compactos (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 colocar 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 no está configurado un servidor SAMBA, no dude en leer este artículo sobre cómo completar esta tarea en Red Hat/Fedora (tendré una guía del servidor Debian SAMBA 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 SAMBA ISO. Una vez que el nombre de usuario, la contraseña y la información de conectividad estén disponibles, se puede utilizar una variante simple del comando 'xe' 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 ISO de SAMBA, emita otro comando 'xe':


xe sr-list
Salida de muestra

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 repositorio 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.