XenServer: vApps – appliances

  Las vApps (appliances) en XenServer ayudan a diferenciar y gestionar los distintos servicios existentes en las tecnologías de la información de cada empresa. Permiten agrupar lógicamente las máquinas virtuales implicadas en cada servicio de manera que algunas tareas de gestión se puedan aplicar a esos grupos, y no a las máquinas virtuales que componen cada uno de ellos una a una.

MA icono manual(ACCEDE AQUÍ AL INDICE DEL MANUAL DE CITRIX XENSERVER)

CONTENIDO DE LA LECCION

  • Caso práctico
  • ¿Qué es XenServer vApps?
  • Creación y gestión de vApps desde XenCenter
  • Creación y gestión de vApps con el comando xe
  • Inicio y parada de vApps
  • Exportación e importación de vApps
  • Obtener las propiedades de vApps con powershell

 

Caso práctico

   Nuestra empresa ficticia “L023 Formación” tiene dos aulas. En cada una de ellas se programarán los cursos en un horario que puede ser independiente. Se ha pensado agrupar las máquinas virtuales de cada aula, y de cada curso dentro de ellas, en una vApp. Así antes de que lleguen los alumnos se pueden parar las máquinas virtuales del curso anterior fácilmente e iniciar las suyas.

¿Qué es XenServer vApps?

   Como se dicho, una vApp permite agrupar máquinas virtuales en base al servicio que prestan, de manera que facilita:

  • Iniciar y detener las máquinas virtuales que componen la vApp sin más que iniciar o detener dicha vApp. Al crear y configurar la appliance se puede especificar el orden en el que deben iniciarse, así como el tiempo que debe transcurrir entre el inicio de cada máquina virtual y la siguiente
  • Exportar e importar las máquinas virtuales que componen la vApp en grupo.
  • La configuración de Disaster Recovery.

Creación y gestión de vApps desde XenCenter

   Para crear una appliance desde XenCenter, se selecciona el resource pool en el panel izquierdo y en su menú contextual se elige “Manage vApps…”, con lo que se abre el panel de configuración “Manage vApps”. En este panel, en la parte superior izquierda se hace clic en “New vApp”. Se abrirá el asistente “New vApp”, en el que seguimos los siguientes pasos:

1.- Ventana “What do you want to call this vApp?”: se escribe el nombre y descripción para la nueva appliance. En este caso vamos a crear la vApp para el curso de Windows 8.1 en el Aula 01. Así que escribimos:

  • Name: “Aula 01 curso Windows 8.1.”
  • Description: “Máquinas virtuales del curso de WIndows 8.1 en el Aula 01.”

   Clic en “Next”.

2.- Ventana “Choose wich VMs to include in this vApp”: se seleccionan las máquinas virtuales que van a componer esta vApp. En este caso, se eligen VIRT001, VIRT002, VIRT003 y VIRT004.

   Clic en “Next”.

3.- Ventana “Configure the startup sequence for the VMs in this vApp”: se debe configurar tanto el orden en el que deben iniciarse las máquinas virtuales de la vApp como el tiempo (en segundos) que debe tardar la siguiente máquina virtual en iniciarse. El valor para el orden de inicio más bajo indica qué máquina virtual se iniciará antes.

   Al apagar la vApp, el orden de apagado será inverso al de inicio.

   Clic en “Next”.

4.- Ventana “Create the new vApp”: resumen de las opciones de creación de la nueva vApp. Si todo es correcto, se hace clic en “Finish”.

   De manera análoga, crearemos la vApp “Aula 02 curso Windows 8.1” que contendrá las máquinas virtuales VIRT005, VIRT006, VIRT007 y VIRT008. Estas serán las que utilicen los alumnos del Aula 02 para el curso de Windows 8.1. Si en XenCenter seleccionamos la vista “Folder View” ya aparecerán las vApps creadas, junto con las máquinas virtuales que las componen.

   NOTA: Es importante señalar que cada máquina virtual sólo puede pertenecer a una sola vApp.

   Si se quisiera modificar la configuración en XenCenter de una vApp ya creada, se debe acceder a sus propiedades:

  • En XenCenter en vista “Folder View”, tal y como está en la imagen anterior, en el menú contextual de cada vApp se debe seleccionar “Properties”.
  • En XenCenter en la vista “Folder View”, se selecciona el resource pool en el panel izquierdo y en su menú contextual se elige “Manage vApps…”, con lo que se abre el panel de configuración “Manage vApps”. En este panel ya aparecerán las appliance creadas. Se selecciona la vApp a configurar y en la barra superior se hace clic en “Properties”.

   En cualquiera de los dos métodos, se accede a las propiedades de la vApp. En esta ventana se podrán modificar todas las propiedades anteriormente configuradas.

 

  VIDEO del proceso completo de creación de ambas vApps:

Creación y gestión de vApps con el comando xe

   La creación y gestión de las vApps desde la línea de comandos implica utilizar al menos dos clases de objetos de XenServer:

  • La clase de comandos appliance se utiliza para crear, eliminar, iniciar y parar las vApps.
  • La clase de comandos vm se utiliza para modificar el orden de arranque y los intervalos de espera.

     El comando xe appliance-create se utilizaría para crear una nueva appliance. Posteriormente las máquinas virtuales se podrían hacer miembro de dicha vApp con xe vm-param-set uuid=<VM-UUID> appliance=<appliance-uuid>, donde uuid sería el identificador de la máquina virtual y appliance el uuid de la vApp.

   Los parámetros en los que se especifica el orden de arranque y el intervalo de espera en el inicio consecutivo de las máquinas virtuales son, dentro de la clase vm, respectivamente, “order” y “start-delay”.

Práctica: obtener los valores de configuración de una vApp con el comando xe.

   Por ejemplo, para obtener los valores de configuración de la vApp “Aula 02 curso Windows 8.1.” se pueden seguir los siguientes pasos.

1.- Conectar por ssh como root (u otro usuario con los suficientes privilegios) al master del resource pool (en este caso, l023xse01).

2.- Obtener el uuid de la vApp. Para ello se utiliza el comando xe appliance-list:

[root@l023xse01 ~]# xe appliance-list name-label=”Aula 02 curso Windows 8.1.”

Resultado:
uuid ( RO)                  : a4f73775-004d-2746-2f6f-739e8a19f505
name-label ( RW): Aula 02 curso Windows 8.1.
name-description ( RW): Máquinas virtuales del curso de Windows 8.1 en el Aula 02.
VMs (SRO): fd39c20e-8558-5384-dab3-4bb3b37adbc9; 46310eb4-645a-3551-50a2-36110def6431; d063e057-5024-5efb-7782-3eaca8c4143b; 7eae7cda-9291-1cc0-e015-2b8c8875e979
allowed-operations (SRO): start
current-operations (SRO):

3.- Haciendo uso del uuid de la vApp obtenido en el punto anterior, se listan las máquinas virtuales que pertenecen a esta appliance con los parámetros order y start-delay:

[root@l023xse01 ~]# xe vm-list appliance=a4f73775-004d-2746-2f6f-739e8a19f505 params=name-label,appliance,order,start-delay

Resultado: las máquinas virtuales que pertenecen a esa vApp y sus valores de orden de inicio e intervalo de espera.

name-label ( RW)     : VIRT006
appliance ( RW): a4f73775-004d-2746-2f6f-739e8a19f505
start-delay ( RW): 30
order ( RW): 2

name-label ( RW)     : VIRT008
appliance ( RW): a4f73775-004d-2746-2f6f-739e8a19f505
start-delay ( RW): 30
order ( RW): 4

name-label ( RW)     : VIRT007
appliance ( RW): a4f73775-004d-2746-2f6f-739e8a19f505
start-delay ( RW): 30
order ( RW): 3

name-label ( RW)     : VIRT005
appliance ( RW): a4f73775-004d-2746-2f6f-739e8a19f505
start-delay ( RW): 30
order ( RW): 1

 

Inicio y parada de vApps

   Para iniciar y parar una appliance desde XenCenter, se selecciona el resource pool al que pertenezcan en el panel izquierdo y en su menú contextual se elige “Manage vApps…”, con lo que se abre el panel de configuración “Manage vApps”.

  En la parte superior de este panel se encuentran los botones “Start” y “Shut down”, que permiten iniciar y parar respectivamente la appliance seleccionada.

 

   El inicio y parada de una vApp desde la línea de comandos se realiza con xe appliance-start y xe appliance-shutdown, siendo necesario el uuid de la appliance.

 

Práctica: iniciar desde línea de comandos la vApp “Aula 02 curso Windows 8.1”

1.- Conectar por ssh como root (u otro usuario con los suficientes privilegios) al master del resource pool (en este caso, l023xse01).

2.- Obtener el uuid de la vApp. Para ello se utiliza el comando xe appliance-list:

[root@l023xse01 ~]# xe appliance-list name-label=”Aula 02 curso Windows 8.1.”

Resultado:
uuid ( RO)                  : a4f73775-004d-2746-2f6f-739e8a19f505
name-label ( RW): Aula 02 curso Windows 8.1.
name-description ( RW): Máquinas virtuales del curso de Windows 8.1 en el Aula 02.
VMs (SRO): fd39c20e-8558-5384-dab3-4bb3b37adbc9; 46310eb4-645a-3551-50a2-36110def6431; d063e057-5024-5efb-7782-3eaca8c4143b; 7eae7cda-9291-1cc0-e015-2b8c8875e979
allowed-operations (SRO): start
current-operations (SRO):

3.- Iniciar la vApp:

[root@l023xse01 ~]# xe appliance-start uuid=a4f73775-004d-2746-2f6f-739e8a19f505

 

Exportación e importación de vApps

   Ya que una vApp se utiliza como agrupación lógica de las máquinas virtuales que prestan un determinado servicio, puede ser útil exportar todas esas máquinas virtuales en grupo. XenServer permite realizar esta tarea fácilmente.

   Para exportar o importar una vApp desde XenCenter, se selecciona el resource pool al que pertenezcan en el panel izquierdo y en su menú contextual se elige “Manage vApps…”, con lo que se abre el panel de configuración “Manage vApps”.

   En la parte superior de la ventana aparecen los botones “Export” e Import” que permitirán realizar la exportación e importación de vApps.

 

VIDEO del proceso de exportación de una vApp:

   Tras la exportación, siguiendo el asistente “Export” se creará en el disco de destino un archivo VHD con cada disco VDI de las máquinas virtuales exportadas. El nombre de cada fichero será el uuid del disco virtual VDI exportado. Además se crea un archivo OVF (si este es el formato especificado en el asistente) con la información de la vApp.

   Si posteriormente se quisiera importar la vApp de nuevo al entorno XenServer, desde el asistente “Import” se debería abrir el fichero OVF.

 

Obtener las propiedades de vApps con powershell

  En el snappin de XenServer se dispone de varios cmdlets para trabajar con las vApps desde powershell: Get-XenVMAppliance, Get-XenVMApplianceProperty, Invoke-XenVMAppliance, New-XenVMAppliance, Remove-XenVMAppliance y Set-XenVMAppliance.

Práctica: obtener los valores de configuración de una vApp con powershell.

1.- Conectamos como root (u otro usuario con los suficientes privilegios) al master del resource pool (en este caso, l023xse01):

PS C:Windowssystem32> Connect-XenServer -server l023xse01

   En el cuadro de autenticación que aparece se deben introducir las credenciales.

2.- Se obtiene la referencia a la vApp de la que queramos obtener las propiedades:

PS C:Windowssystem32> $vapp = Get-XenVMAppliance | where {$_.name_label -eq “Aula 02 curso Windows 8.1.”}

3.- Se obtienen los valores de configuración de la appliance:

PS C:Windowssystem32> Get-XenVMApplianceProperty -Ref $vapp -XenProperty VMs | select name_label, order, start_delay

Resultado:

name_label                                 order                        start_delay
———-                                 —–                        ———–
VIRT005                                       1                                 30
VIRT007                                       3                                 30
VIRT008                                       4                                 30
VIRT006                                       2                                 30

MA icono siguiente Siguiente: Lección 12 – XenServer: Gestión de memoria