XenServer

Gestionar repositorios de almacenamiento

Esta sección cubre varias operaciones necesarias en la gestión continua de los Repositorios de Almacenamiento (SR), incluida la Migración de VDI en Vivo.

Eliminar SR

Un Repositorio de Almacenamiento (SR) se puede eliminar de forma temporal o permanente.

Desconectar: Rompe la asociación entre el dispositivo de almacenamiento y el grupo o host (desconexión de PBD). El SR (y sus VDI) se vuelve inaccesible. Se conservan los contenidos de los VDI y la metainformación utilizada por las máquinas virtuales para acceder a los VDI. La desconexión se puede usar cuando se desconecta temporalmente un SR, por ejemplo, para mantenimiento. Un SR desconectado se puede volver a conectar más tarde.

Olvidar: Conserva el contenido del SR en el disco físico, pero la información que conecta una máquina virtual a sus VDI se elimina permanentemente. Por ejemplo, le permite volver a conectar el SR a otro host XenServer®, sin eliminar ninguno de los contenidos del SR.

Destruir: Elimina el contenido del SR del disco físico.

Nota:

Cuando utilice almacenamiento SMB, no elimine el recurso compartido del almacenamiento antes de desconectar el SR SMB.

Para Destruir u Olvidar, el PBD conectado al SR debe desconectarse del host.

  1. Desconecte el PBD para desvincular el SR del host XenServer correspondiente:

    xe pbd-unplug uuid=pbd_uuid
    <!--NeedCopy-->
    
  2. Utilice el comando sr-destroy para eliminar un SR. El comando destruye el SR, elimina el SR y el PBD correspondiente de la base de datos del host XenServer y elimina el contenido del SR del disco físico:

    xe sr-destroy uuid=sr_uuid
    <!--NeedCopy-->
    
  3. Utilice el comando sr-forget para olvidar un SR. El comando elimina el SR y el PBD correspondiente de la base de datos del host XenServer, pero deja intacto el contenido real del SR en el medio físico:

    xe sr-forget uuid=sr_uuid
    <!--NeedCopy-->
    

Nota:

Puede llevar algún tiempo que el objeto de software correspondiente al SR sea recolectado por el recolector de basura.

Introducir un SR

Para reintroducir un SR previamente olvidado, cree un PBD. Conecte manualmente el PBD a los hosts de XenServer apropiados para activar el SR.

El siguiente ejemplo introduce un SR de tipo lvmoiscsi.

  1. Sondee el SR existente para determinar su UUID:

    xe sr-probe type=lvmoiscsi device-config:target=192.168.1.10 \
        device-config:targetIQN=192.168.1.10:filer1 \
        device-config:SCSIid=149455400000000000000000002000000b70200000f000000
    <!--NeedCopy-->
    
  2. Introduzca el UUID del SR existente devuelto por el comando sr-probe. Se devuelve el UUID del nuevo SR:

    xe sr-introduce content-type=user name-label="Example Shared LVM over iSCSI SR" \
        shared=true uuid=valid_sr_uuid type=lvmoiscsi
    <!--NeedCopy-->
    
  3. Cree un PBD para acompañar al SR. Se devuelve el UUID del nuevo PBD:

    xe pbd-create type=lvmoiscsi host-uuid=valid_uuid sr-uuid=valid_sr_uuid \
        device-config:target=192.168.0.1 \
        device-config:targetIQN=192.168.1.10:filer1 \
        device-config:SCSIid=149455400000000000000000002000000b70200000f000000
    <!--NeedCopy-->
    
  4. Conecte el PBD para adjuntar el SR:

    xe pbd-plug uuid=pbd_uuid
    <!--NeedCopy-->
    
  5. verificar el estado de la conexión PBD. Si tiene éxito, la propiedad currently-attached es true:

    xe pbd-list sr-uuid=sr_uuid
    <!--NeedCopy-->
    

Nota:

Realice los pasos 3 a 5 para cada host del grupo de recursos. Estos pasos también se pueden realizar utilizando la función Reparar repositorio de almacenamiento en XenCenter.

Expansión de LUN en vivo

Para satisfacer los requisitos de capacidad, es posible que deba agregar capacidad a la matriz de almacenamiento para aumentar el tamaño del LUN aprovisionado al host de XenServer. La expansión de LUN en vivo le permite aumentar el tamaño del LUN sin tiempo de inactividad de la VM.

Después de agregar más capacidad a su matriz de almacenamiento, introduzca,

xe sr-scan sr-uuid=sr_uuid
<!--NeedCopy-->

Este comando vuelve a escanear el SR, y cualquier capacidad adicional se agrega y se pone a disposición.

Esta operación también está disponible en XenCenter. Seleccione el SR para cambiar el tamaño y, a continuación, haga clic en Volver a escanear.

Advertencias:

  • No es posible reducir o truncar las LUN. Reducir el tamaño de la LUN en la matriz de almacenamiento puede provocar la pérdida de datos.
  • Cambiar el tamaño de un SR GFS2 puede llevar mucho tiempo. Mientras se realiza el cambio de tamaño, es posible que no pueda agregar más hosts al grupo o realizar otras operaciones de SR.

Migración de VDI en vivo

La migración de VDI en vivo permite al administrador reubicar la imagen de disco virtual (VDI) de las máquinas virtuales sin apagar la máquina virtual. Esta característica permite operaciones administrativas como:

  • Mover una máquina virtual de un almacenamiento local económico a un almacenamiento rápido, resistente y respaldado por una matriz.
  • Mover una máquina virtual de un entorno de desarrollo a uno de producción.
  • Moverse entre niveles de almacenamiento cuando una máquina virtual está limitada por la capacidad de almacenamiento.
  • Realizar actualizaciones de la matriz de almacenamiento.

Limitaciones y advertencias

La migración de VDI en vivo está sujeta a las siguientes limitaciones y advertencias

  • Debe haber suficiente espacio en disco disponible en el repositorio de destino.

Para mover discos virtuales usando XenCenter

  1. En el panel Recursos, seleccione el SR donde está almacenado el disco virtual y, a continuación, haga clic en la pestaña Almacenamiento.

  2. En la lista Discos virtuales, seleccione el disco virtual que desea mover y, a continuación, haga clic en Mover.

  3. En el cuadro de diálogo Mover disco virtual, seleccione el SR de destino al que desea mover el VDI.

    Nota:

    Asegúrese de que el SR tenga espacio suficiente para otro disco virtual: el espacio disponible se muestra en la lista de SR disponibles.

  4. Haga clic en Mover para mover el disco virtual.

Para la referencia de la CLI de xe, consulte vdi-pool-migrate.

Migración en frío de VDI entre SR (migración sin conexión)

Los VDI asociados a una VM se pueden copiar de un SR a otro para adaptarse a los requisitos de mantenimiento o a las configuraciones de almacenamiento por niveles. XenCenter le permite copiar una VM y todos sus VDI al mismo SR o a uno diferente. Se puede utilizar una combinación de XenCenter y la CLI de xe para copiar VDI individuales.

Para la referencia de la CLI de xe, consulte vm-migrate.

Copiar todos los VDI de una VM a un SR diferente

La función Copiar VM de XenCenter crea copias de todos los VDI de una VM seleccionada en el mismo SR o en uno diferente. La VM y los VDI de origen no se ven afectados por defecto. Para mover la VM al SR seleccionado en lugar de crear una copia, seleccione la opción Eliminar VM original en el cuadro de diálogo Copiar máquina virtual.

  1. Apague la VM.
  2. Dentro de XenCenter, seleccione la VM y, a continuación, seleccione la opción VM > Copiar VM.
  3. Seleccione el SR de destino deseado.

Copiar VDI individuales a un SR diferente

Se puede utilizar una combinación de la CLI de xe y XenCenter para copiar VDI individuales entre SR.

  1. Apague la VM.

  2. Utilice la CLI de xe para identificar los UUID de los VDI que se van a mover. Si la VM tiene una unidad de DVD, su vdi-uuid aparece como not in database y se puede ignorar.

    xe vbd-list vm-uuid=valid_vm_uuid
    <!--NeedCopy-->
    

    Nota:

    El comando vbd-list muestra tanto los UUID de VBD como los de VDI. Asegúrese de registrar los UUID de VDI en lugar de los UUID de VBD.

  3. En XenCenter, seleccione la pestaña Almacenamiento de VM. Para cada VDI que se vaya a mover, seleccione el VDI y haga clic en el botón Desasociar. Este paso también se puede realizar utilizando el comando vbd-destroy.

    Nota:

    Si utiliza el comando vbd-destroy para desasociar los UUID de VDI, primero compruebe si el VBD tiene el parámetro other-config:owner establecido en true. Establezca este parámetro en false. La emisión del comando vbd-destroy con other-config:owner=true también destruye el VDI asociado.

  4. Utilice el comando vdi-copy para copiar cada uno de los VDI de la VM que se van a mover al SR deseado.

    xe vdi-copy uuid=valid_vdi_uuid sr-uuid=valid_sr_uuid
    <!--NeedCopy-->
    
  5. En XenCenter, seleccione la pestaña Almacenamiento de VM. Haga clic en el botón Asociar y seleccione los VDI del nuevo SR. Este paso también se puede realizar utilizando el comando vbd-create.

  6. Para eliminar los VDI originales, seleccione la pestaña Almacenamiento del SR original en XenCenter. Los VDI originales se muestran con un valor vacío para el campo VM. Utilice el botón Eliminar para eliminar el VDI.

Convertir SR de Fibre Channel locales en SR compartidos

Utilice la CLI de xe y la función Reparar repositorio de almacenamiento de XenCenter para convertir un SR de FC local en un SR de FC compartido:

  1. Actualice todos los hosts del grupo de recursos a XenServer 9.

  2. Asegúrese de que todos los hosts del grupo tengan el LUN del SR zonificado correctamente. Consulte Sondear un SR para obtener detalles sobre cómo usar el comando sr-probe para verificar que el LUN está presente en cada host.

  3. Convierta el SR a compartido:

    xe sr-param-set shared=true uuid=local_fc_sr
    <!--NeedCopy-->
    
  4. El SR se mueve del nivel de host al nivel de pool en XenCenter, lo que indica que ahora se comparte. El SR se marca con un signo de exclamación rojo para indicar que no está conectado actualmente en todos los hosts del pool.

  5. Seleccione el SR y, a continuación, seleccione la opción Almacenamiento > Reparar repositorio de almacenamiento.

  6. Haga clic en Reparar para crear y conectar un PBD para cada host del pool.

Recuperar espacio para el almacenamiento basado en bloques en la matriz de respaldo mediante el descarte

Puede utilizar la recuperación de espacio para liberar bloques no utilizados en una LUN con aprovisionamiento ligero. Una vez liberado el espacio, la matriz de almacenamiento puede reutilizar este espacio recuperado.

Nota:

La recuperación de espacio solo está disponible en algunos tipos de matrices de almacenamiento. Para determinar si su matriz admite esta función y si necesita una configuración específica, consulte la Lista de compatibilidad de hardware y la documentación específica de su proveedor de almacenamiento.

Para recuperar el espacio mediante XenCenter:

  1. Seleccione la vista Infraestructura y, a continuación, elija el host o el pool conectado al SR.

  2. Haga clic en la pestaña Almacenamiento.

  3. Seleccione el SR de la lista y haga clic en Recuperar espacio liberado.

  4. Haga clic en para confirmar la operación.

  5. Haga clic en Notificaciones y, a continuación, en Eventos para ver el estado de la operación.

Para obtener más información, pulse F1en XenCenter para acceder a la Ayuda en línea.

Para recuperar espacio mediante la CLI de xe, puede utilizar el siguiente comando:

xe host-call-plugin host-uuid=host_uuid \
    plugin=trim fn=do_trim args:sr_uuid=sr_uuid

Notas:

  • La operación solo está disponible para SR basados en LVM que se basan en LUN con aprovisionamiento ligero en la matriz. Los SSD locales también pueden beneficiarse de la recuperación de espacio.
  • La recuperación de espacio no es necesaria para los SR basados en archivos como NFS y EXT3/EXT4. El botón Recuperar espacio liberado no está disponible en XenCenter para estos tipos de SR.
  • Si ejecuta el comando xe de recuperación de espacio para un SR basado en archivos o un SR basado en LVM con aprovisionamiento grueso, el comando devuelve un error.
  • La recuperación de espacio es una operación intensiva y puede provocar una degradación en el rendimiento de la matriz de almacenamiento. Por lo tanto, inicie esta operación solo cuando sea necesaria la recuperación de espacio en la matriz. Le recomendamos que programe este trabajo fuera de las horas pico de demanda de la matriz.

Recuperar espacio automáticamente al eliminar instantáneas

Al eliminar instantáneas con XenServer, el espacio asignado en los SR basados en LVM se recupera automáticamente y no es necesario reiniciar la VM. Esta operación se conoce como ‘coalescencia en línea’. La coalescencia en línea se aplica a todos los tipos de SR.

En ciertos casos, la recuperación automática de espacio podría no poder continuar. Le recomendamos que utilice la herramienta de coalescencia sin conexión en estos escenarios:

  • En condiciones en las que el rendimiento de E/S de una VM es considerable
  • En condiciones en las que no se recupera espacio después de un período

Notas:

  • La ejecución de la herramienta de coalescencia sin conexión implica cierto tiempo de inactividad para la VM, debido a las operaciones de suspensión/reanudación realizadas.
  • Antes de ejecutar la herramienta, elimine las instantáneas y los clones que ya no desee. La herramienta recupera la mayor cantidad de espacio posible dadas las instantáneas/clones restantes. Si desea recuperar todo el espacio, elimine todas las instantáneas y los clones.
  • Los discos de la VM deben estar en almacenamiento compartido o local para un solo host. Las VM con discos en ambos tipos de almacenamiento no se pueden coalescer.

Recuperar espacio mediante la herramienta de coalescencia sin conexión

Habilite los objetos ocultos usando XenCenter. Haga clic en Ver > objetos ocultos. En el panel Recursos, seleccione la VM para la que desea obtener el UUID. El UUID se muestra en la pestaña General.

En el panel Recursos, seleccione el coordinador del grupo de recursos (el primer host de la lista). La pestaña General muestra el UUID. Si no está utilizando un grupo de recursos, seleccione el host de la VM.

  1. Abra una consola en el host y ejecute el siguiente comando:

    xe host-call-plugin host-uuid=host-UUID \
        plugin=coalesce-leaf fn=leaf-coalesce args:vm_uuid=VM-UUID
    <!--NeedCopy-->
    

    Por ejemplo, si el UUID de la VM es 9bad4022-2c2d-dee6-abf5-1b6195b1dad5 y el UUID del host es b8722062-de95-4d95-9baa-a5fe343898ea, ejecute el siguiente comando:

    xe host-call-plugin host-uuid=b8722062-de95-4d95-9baa-a5fe343898ea \
        plugin=coalesce-leaf fn=leaf-coalesce args:vm_uuid=9bad4022-2c2d-dee6-abf5-1b6195b1dad5
    <!--NeedCopy-->
    
  2. Este comando suspende la VM (a menos que ya esté apagada), inicia el proceso de recuperación de espacio y luego reanuda la VM.

Notas:

Recomendamos que apague o suspenda la VM manualmente antes de ejecutar la herramienta de coalescencia sin conexión. Puede apagar o suspender la VM usando XenCenter o la CLI de XenServer. Si ejecuta la herramienta de coalescencia en una VM en ejecución, la herramienta suspende automáticamente la VM, realiza las operaciones de coalescencia de VDI requeridas y reanuda la VM. Las VM ágiles podrían reiniciarse en un host diferente.

Si las imágenes de disco virtual (VDI) que se van a consolidar están en almacenamiento compartido, debe ejecutar la herramienta de coalescencia sin conexión en el coordinador del grupo.

Si las VDI que se van a consolidar están en almacenamiento local, ejecute la herramienta de coalescencia sin conexión en el host al que está conectado el almacenamiento local.

Trabajar con E/S de disco

Puede configurar el programador de E/S de disco y la configuración de prioridad de E/S de disco para cambiar el rendimiento de sus discos.

Nota:

Las capacidades de E/S de disco descritas en esta sección no se aplican al almacenamiento GFS2, NFS o SMB3.

Ajustar el programador de E/S de disco

Para un rendimiento general, el programador de disco predeterminado none se aplica a todos los nuevos tipos de SR. El programador none proporciona el rendimiento más equitativo para las VM en competencia que acceden al mismo dispositivo.

  1. Ajuste el programador de disco mediante el siguiente comando:

    xe sr-param-set other-config:scheduler=<option> uuid=<sr_uuid>
    <!--NeedCopy-->
    

    El valor de <option> puede ser uno de los siguientes términos: none, bfq o mq-deadline.

  2. Desenchufe y vuelva a enchufar el PBD correspondiente para que el parámetro del programador surta efecto.

    xe pbd-unplug uuid=<pbd_uuid>
    xe pbd-plug uuid=<pbd_uuid>
    <!--NeedCopy-->
    

Para aplicar la priorización de solicitudes de E/S de disco, anule la configuración predeterminada y asigne el programador de disco bfq al SR.

Priorización de solicitudes de E/S de disco virtual

Los discos virtuales tienen configuraciones opcionales de prioridad de solicitudes de E/S. Puede usar estas configuraciones para priorizar la E/S a un disco de una máquina virtual en particular sobre otros.

Antes de configurar cualquier parámetro de prioridad de solicitud de E/S de disco para un VBD, asegúrese de que el programador de disco para el SR se haya configurado correctamente. El parámetro del programador debe establecerse en bfq en el SR y el PBD asociado debe desenchufarse y volverse a enchufar. Para obtener información sobre cómo ajustar el programador, consulte Ajuste del programador de E/S de disco.

Para SR compartidos, donde varios hosts acceden al mismo LUN, la configuración de prioridad se aplica a los VBD que acceden al LUN desde el mismo host. Estas configuraciones no se aplican a través de los hosts del grupo.

El host emite una solicitud al almacenamiento remoto, pero la priorización de la solicitud la realiza el almacenamiento remoto.

Configuración de los parámetros de solicitud de E/S de disco

Estas configuraciones se pueden aplicar a discos virtuales existentes mediante el comando xe vbd-param-set con los siguientes parámetros:

  • qos_algorithm_type: este parámetro debe establecerse en el valor ionice, que es el único algoritmo compatible con los discos virtuales.

  • qos_algorithm_param: use este parámetro para establecer pares clave-valor. Para discos virtuales, qos_algorithm_param toma una clave sched y, según el valor, también requiere una clave class.

    La clave qos_algorithm_param:sched puede tener uno de los siguientes valores:

    • sched=rt o sched=real-time: este valor establece el parámetro de programación en prioridad en tiempo real, lo que requiere un parámetro class para establecer un valor.

    • sched=idle - Este valor establece el parámetro de programación en prioridad inactiva, que no requiere ningún parámetro class para establecer ningún valor.

    • sched=anything - Este valor establece el parámetro de programación en prioridad de mejor esfuerzo, que requiere un parámetro class para establecer un valor.

    La clave qos_algorithm_param:class puede tener uno de los siguientes valores:

    • Una de las siguientes palabras clave: highest, high, normal, low, lowest.

    • Un número entero entre 0 y 7, donde 7 es la prioridad más alta y 0 es la más baja. Por ejemplo, las solicitudes de E/S con una prioridad de 5 tienen prioridad sobre las solicitudes de E/S con una prioridad de 2.

Ejemplo

Por ejemplo, los siguientes comandos de la CLI establecen el VBD del disco virtual para usar la prioridad en tiempo real 5:

xe vbd-param-set uuid=<vbd_uuid> qos_algorithm_type=ionice
xe vbd-param-set uuid=<vbd_uuid> qos_algorithm_params:sched=rt
xe vbd-param-set uuid=<vbd_uuid> qos_algorithm_params:class=5
xe sr-param-set uuid=<sr_uuid> other-config:scheduler=bfq
xe pbd-unplug uuid=<pbd_uuid>
xe pbd-plug uuid=<pbd_uuid>
<!--NeedCopy-->