Administrar repositorios de almacenamiento de información

Esta sección trata la creación de tipos de repositorio de almacenamiento y su puesta a disposición de su host. También cubre diversas operaciones necesarias para la administración continua de los repositorios de almacenamiento (SRs), incluida la migración de VDI en vivo.

Crear repositorios de almacenamiento

En esta sección se explica cómo crear repositorios de almacenamiento (SRs) de diferentes tipos y ponerlos a disposición del host. Los ejemplos proporcionados abarcan la creación de SRs utilizando la CLI xe. Para obtener más información sobre el uso del asistente Nuevo repositorio de almacenamiento para agregar SRs mediante , consulte la ayuda.

Nota:

SRs locales de tipolvm y sólo seext3 pueden crear usando la CLI xe. Después de la creación, puede administrar todos los tipos de SR por cualquiera o por la CLI xe.

Existen dos pasos básicos para crear un repositorio de almacenamiento de información para su uso en un host mediante la CLI:

  1. Sondee el tipo SR para determinar los valores de los parámetros necesarios.

  2. Cree el SR para inicializar el objeto SR y los objetos PBD asociados, conecte los PBD y active el SR.

Estos pasos difieren en detalle según el tipo de SR que se está creando. En todos los ejemplos, elsr-create comando devuelve el UUID del SR creado si tiene éxito.

Los SRs pueden destru irse cuando ya no estén en uso para liberar el dispositivo físico. Los SRs también se pueden olvidar para separar el SR de un host y adjuntarlo a otro. Para obtener más información, consulte Eliminación de SRs en la siguiente sección.

Sondear un SR

Elsr-probe comando se puede utilizar de las siguientes maneras:

  • Para identificar parámetros desconocidos que se utilizarán en la creación de un SR
  • Para devolver una lista de SRs existentes

En ambos casossr-probe funciona especificando un tipo SR y uno o másdevice-config parámetros para ese tipo SR. Si se proporciona un conjunto incompleto de parámetros, elsr-probe comando devuelve un mensaje de error indicando que faltan parámetros y las posibles opciones para los parámetros que faltan. Cuando se suministra un conjunto completo de parámetros, se devuelve una lista de SRs existentes. Todasr-probe la salida se devuelve como XML.

Por ejemplo, un destino iSCSI conocido puede sondear especificando su nombre o dirección IP. Se devuelve el conjunto de IQN disponibles en el destino:

xe sr-probe type = lvmoiscsi device-config: target = 192.168.1.10

Código de error: SR_BACKEND_FAILURE_96
Parámetros de error:, Falta la solicitud o tiene un parámetro IQN de destino incorrecto, \
¿Qué? xml version = "1.0"? > >
< iscsi-target-iqns >
    <TGT>
        < Index >
            0
        < / Index >
        < IPAddress >
            192.168.1.10
        < / IPAddress >
        < TargetIQN >
            iqn.192.168.1.10:filer1
        < / TargetIQN >
    </TGT>
< / iscsi-target-iqns >

Al sondear el mismo destino de nuevo y especificar tanto el nombre/dirección IP como el IQN deseado, se devuelve el conjunto deSCSIids (LUNs) disponibles en el Target/IQN.

xe sr-probe type = lvmoiscsi device-config: target = 192.168.1.10  \
device-config:targetIQN=iqn.192.168.1.10:filer1

Código de error: SR_BACKEND_FAILURE_107
Parámetros de error:, Falta el parámetro scsiID o es incorrecto, \
¿Qué? xml version = "1.0"? > >
< iscsi-target >
    <LUN>
        < vendor >
            IET
        < / vendor >
        < LUNid >
            0
        < / LUNid >
        < size >
            42949672960
        < / size >
        < SCSIid >
            149455400000000000000000002000000b70200000f000000
        < / SCSIid >
    </LUN>
< / iscsi-target >

Al sondear el mismo destino y suministrar los tres parámetros, se devuelve una lista de SRs que existen en el LUN, si los hay.

xe sr-probe type = lvmoiscsi device-config: target = 192.168.1.10  \
device-config: targetIqN = 192.168.1.10: filer1 \
device-config:SCSIid=149455400000000000000000002000000b70200000f000000

¿Qué? xml version = "1.0"? > >
< SRlist >
    <SR>
        <UUID>
            3f6e1ebd-8687-0315-f9d3-b02ab3adc4a6
        </UUID>
        < Devlist >
            /dev/disk/by-id/scsi-149455400000000000000000002000000b70200000f000000
        < / Devlist >
    </SR>
< / SRlist >

Se pueden sondear los siguientes parámetros para cada tipo de SR:

Tipo SR Losdevice-config parámetros, en orden de dependencia ¿Se puede sondear? Necesario parasr-create?
lvmoiscsi target No
  • Sí. Sí
  chapuser No No
  chappassword No No
  targetIQN
  • Sí. Sí
  • Sí. Sí
  SCSIid
  • Sí. Sí
  • Sí. Sí
lvmohba SCSIid
  • Sí. Sí
  • Sí. Sí
NetApp target No
  • Sí. Sí
  username No
  • Sí. Sí
  password No
  • Sí. Sí
  chapuser No No
  chappassword No No
  aggregate No (véase la nota 1)
  • Sí. Sí
  FlexVols No No
  allocation No No
  asis No No
nfs server No
  • Sí. Sí
  serverpath
  • Sí. Sí
  • Sí. Sí
lvm device No
  • Sí. Sí
ext device No
  • Sí. Sí
EqualLogic target No
  • Sí. Sí
  username No
  • Sí. Sí
  password No
  • Sí. Sí
  chapuser No No
  chappassword No No
  storagepool No (véase la nota 2)
  • Sí. Sí

Notas:

  • El sondeo agregado solo es posible asr-create tiempo.
  • El sondeo del grupo de almacenamiento solo es posible asr-create tiempo.

Quitar SRs

Un repositorio de almacenamiento (SR) se puede quitar temporal o permanentemente.

Desconectar: rompe la asociación entre el dispositivo de almacenamiento y el grupo o host (Desconectar PBD). El SR (y sus VDI) se vuelven inaccesibles. Se conservan el contenido de los VDI y la metainformación utilizada por las VM para acceder a los VDI. Desconectar se puede utilizar cuando se desconecta temporalmente un SR, por ejemplo, para el mantenimiento. Un SR separado se puede volver a conectar más adelante.

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, sin eliminar ninguno de los contenidos de SR.

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

Para Destroy u Forget, el PBD conectado al SR debe desenchufarse del host.

  1. Desconecte el PBD para separar el SR del host correspondiente:

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

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

    xe sr-forget uuid = sr_uuid
    

Nota:

Puede tomar algún tiempo para que el objeto de software correspondiente al SR se recopile basura.

Introducir un SR

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

En el ejemplo siguiente se introduce un SR de tipolvmoiscsi.

  1. Sondear 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
    
  2. Introduzca el UUID SR existente devuelto desde elsr-probe comando. Se devuelve el UUID de la nueva SR:

    xe sr-introduce content-type = user name-label = “Ejemplo compartido de LVM sobre iSCSI SR”
    shared = true uuid = valid_sr_uuid type = lvmoiscsi
    
  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
    
  4. Conecte el PBD para conectar el SR:

    xe pbd-plug uuid = pbd_uuid
    
  5. Verifique el estado del enchufe PBD. Si tiene éxito, lacurrently-attached propiedad es true:

    xe pbd-list sr-uuid = sr_uuid
    

Nota:

Realice los pasos 3 a 5 para cada servidor del fondo de recursos. Estos pasos también se pueden realizar mediante la función Reparar repositorio de almacenamiento en .

Expansión de LUNs en vivo

Para cumplir con los requisitos de capacidad, es posible que deba agregar capacidad al arreglo de discos de almacenamiento para aumentar el tamaño del LUN aprovisionado al host. Live LUN Expansion le permite aumentar el tamaño del LUN sin tiempo de inactividad de VM.

Después de agregar más capacidad a su arreglo de almacenamiento, introducir,

xe sr-scan sr-uuid = sr_uuid

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

Esta operación también está disponible en . Seleccione el SR que desea cambiar de tamaño y, a continuación, haga clic en Volver a escanear. Para obtener más información, presione F1 para mostrar la ayuda.

Advertencias:

  • No es posible reducir o truncar LUNs. La reducción del tamaño del LUN en el arreglo de discos de almacenamiento puede provocar la pérdida de datos.
  • El cambio de tamaño del LUN no es compatible con los SRs de GFS2.

Migración de VDI en vivo

La migración de VDI en vivo permite al administrador reubicar la imagen de disco virtual de VM (VDI) sin apagar la máquina virtual. Esta función permite operaciones administrativas como:

  • Mover una máquina virtual de almacenamiento local barato a almacenamiento rápido, resistente y respaldado por arreglos de discos.
  • Mover una máquina virtual de un entorno de desarrollo a un entorno de producción.
  • Mover entre niveles de almacenamiento cuando una máquina virtual está limitada por la capacidad de almacenamiento.
  • Realización de actualizaciones de arreglos de discos de almacenamiento.

Limitaciones y advertencias

Live VDI Migration está sujeta a las siguientes limitaciones y advertencias

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

  • Los VDI con más de una instantánea no se pueden migrar.

Para mover discos virtuales mediante

  1. En el panel Recursos , seleccione el SR donde está almacenado el disco virtual y, a continuación, haga clic en la ficha 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 tiene suficiente espacio para otro disco virtual: el espacio disponible se muestra en la lista de SRs disponibles.

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

Para obtener referencia a xe CLI, consulte [vdi-pool-migrate] (/ en-us/xenserver/current -release/command -line-interface.html #vdi -pool-migrate).

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

Los VDIS asociados con una máquina virtual se pueden copiar de un SR a otro para adaptarse a los requisitos de mantenimiento o a las configuraciones de almacenamiento en niveles. le permite copiar una máquina virtual y todos sus VDI a la misma o a otra SR. Se puede usar una combinación de y la CLI xe para copiar VDI individuales.

Para obtener referencia a xe CLI, consulte [vm-migrate] (/ en-us/xenserver/current -release/command -line-interface.html #vm -migrate).

Copiar todos los VDI de una VM a un SR diferente

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

  1. Apague la máquina virtual.
  2. Dentro de , seleccione la máquina virtual y, a continuación, seleccione la máquina virtual > OpciónCopiar VM .
  3. Seleccione el SR de destino deseado.

Copiar VDI individuales a un SR diferente

Una combinación de la CLI xe y se puede utilizar para copiar VDI individuales entre SRs.

  1. Apague la máquina virtual.

  2. Utilice la CLI xe para identificar los UUID de los VDI que se van a mover. Si la máquina virtual tiene una unidad de DVD,vdi-uuid se muestra comonot in database y se puede ignorar.

    xe vbd-list vm-uuid = valid_vm_uuid
    

    Nota:

    Elvbd-list comando muestra los UUID VBD y VDI. Asegúrese de grabar los UUID VDI en lugar de los UUID VBD.

  3. En , 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 Desconectar . Este paso también se puede hacer usando elvbd-destroy comando.

    Nota:

    Si utiliza elvbd-destroy comando para separar los UUID de VDI, compruebe primero si el VBD tiene el parámetroother-config:owner establecido entrue . Establezca este parámetro enfalse. Alvbd-destroy ejecutar el comando conother-config:owner=true también se destruye el VDI asociado.

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

    xe vdi-copy uuid = valid_vdi_uuid sr-uuid = valid_sr_uuid
    
  5. En , seleccione la pestaña Almacenamiento de VM . Haga clic en el botón Adjuntar y seleccione los VDI del nuevo SR. Este paso también se puede hacer usando elvbd-create comando.

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

Convertir SRs locales de canal de fibra en SRs compartidos

Utilice la CLI xe y la función Repair Storage Repository para convertir un FC SR local en un FC SR compartido:

  1. Actualice todos los hosts del fondo de recursos a .

  2. Asegúrese de que todos los hosts del pool tengan el LUN de SR correctamente dividido en zonas. Consulte Sondear un SRpara obtener más información sobre el uso delsr-probecomando para comprobar que el LUN está presente en cada host.

  3. Convertir el SR a compartido:

    xe sr-param-set shared = true uuid = local_fc_sr
    
  4. El SR se mueve del nivel de host al nivel de pool en , lo que indica que ahora está compartido. El SR está marcado con un signo de exclamación rojo para mostrar que actualmente no está conectado a todos los hosts del grupo.

  5. Seleccione el SR y, a continuación, seleccione el almacenamiento > OpciónReparar repositorio de almacenamiento .

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

Recuperar espacio para almacenamiento basado en bloques en el arreglo de discos de respaldo usando descartar

Puede utilizar la recuperación de espacio para liberar bloques no utilizados en un LUN de aprovisionamiento fino. Después de liberar el espacio, el arreglo de almacenamiento puede reutilizar este espacio recuperado.

Nota:

La recuperación de espacio solo está disponible en algunos tipos de arreglos de discos de almacenamiento. Para determinar si el arreglo de discos admite esta característica y si necesita una configuración específica, consulte la Lista de compatibilidad de hardwarey la documentación específica del proveedor de almacenamiento de información.

Para recuperar el espacio utilizando :

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

  2. Haga clic en la ficha 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, pulseF1en para acceder a la Ayuda en línea.

Notas:

  • Esta operación sólo está disponible en .
  • La operación sólo está disponible para SRs basados en LVM que se basan en LUNs de aprovisionamiento fino en el arreglo de discos. Las SSD locales también pueden beneficiarse de la recuperación de espacio.
  • La recuperación de espacio no es necesaria para SRs basados en archivos como NFS y Ext3. El botón Reclaim Freed Space no está disponible en para estos tipos SR.
  • La recuperación de espacio es una operación intensiva y puede conducir a una degradación del rendimiento del arreglo de discos de almacenamiento de información. Por lo tanto, solo inicie esta operación cuando se requiera la recuperación de espacio en la matriz. recomienda programar este trabajo fuera de las horas de demanda máxima del arreglo de discos.

Recuperar espacio automáticamente al eliminar instantáneas

Al eliminar instantáneas con , el espacio asignado en SRs basados en LVM se recupera automáticamente y no es necesario reiniciar la máquina virtual. Esta operación se conoce como ‘Coalescing en línea’.

La fusión en línea sólo se aplica a los SRs basados en LVM (LVM, LVMiSCSI y LvMoHBA). No se aplica a los SRs de EXT o NFS, cuyo comportamiento permanece inalterado. En algunos casos, es posible que la recuperación automatizada de espacio no pueda continuar. Se recomienda utilizar la herramienta de fusión fuera de línea en estos escenarios:

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

Notas:

  • La ejecución de la herramienta de fusión fuera de línea conlleva cierto tiempo de inactividad para la máquina virtual, debido a las operaciones de suspensión/reanudación realizadas.
  • Antes de ejecutar la herramienta, elimine las instantáneas y clones que ya no desee. La herramienta recupera tanto espacio como sea posible dado el resto de instantáneas o clones. Si desea recuperar todo el espacio, elimine todas las instantáneas y clones.
  • Los discos de VM deben estar en almacenamiento compartido o local para un único host. Las máquinas virtuales con discos en ambos tipos de almacenamiento no se pueden fusionar.

Recuperar espacio mediante la herramienta de fusión fuera de línea

Nota:

La fusión en línea sólo se aplica a los SRs basados en LVM (LVM, LVMiSCSI y LvMoHBA), no se aplica a los SRs EXT o NFS, cuyo comportamiento permanece sin cambios.

Habilite los objetos ocultos utilizando . Haga clic en Ver > Objetosocultos . En el panel Recursos, seleccione la máquina virtual para la que desea obtener el UUID. El UUID se muestra en la ficha General .

En el panel Recurso, seleccione el maestro del fondo de recursos (el primer host de la lista. La ficha General muestra el UUID. Si no está utilizando un fondo de recursos, seleccione el host de la máquina virtual.

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

    xe host-call-plugin host-uuid = host-uUID \
        plugin = coalesce-leaf fn = folia-coalesce args: vm_uuid = VM-UUID
    

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

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

Notas:

recomienda apagar o suspender la máquina virtual manualmente antes de ejecutar la herramienta de fusión fuera de línea. Puede apagar o suspender la máquina virtual utilizando cualquiera o la CLI. Si ejecuta la herramienta de fusión en una máquina virtual en ejecución, la herramienta suspende automáticamente la máquina virtual, realiza las operaciones de combinación de VDI necesarias y reanuda la máquina virtual.

Si las imágenes de disco virtual (VDIS) que se van a unir están en almacenamiento compartido, debe ejecutar la herramienta de fusión fuera de línea en el maestro del grupo.

Si los VDI que se van a unir están en almacenamiento local, ejecute la herramienta de fusión fuera de línea en el servidor al que está conectado el almacenamiento local.

Ajustar el programador de E/S de disco

Para el rendimiento general, el programador de discos predeterminadonoop se aplica a todos los nuevos tipos de SR. Elnoop programador proporciona el rendimiento más justo para las máquinas virtuales de la competencia que acceden al mismo dispositivo. Para aplicar QoS de disco, es necesario anular la configuración predeterminada y asignar el programador decfq discos al SR. El PBD correspondiente debe desenchufarse y volver a enchufarse para que el parámetro del programador surta efecto. El programador de discos se puede ajustar mediante el siguiente comando:

xe sr-param-set other-config: scheduler = noop | cfq | anticipatory | deadline \
uuid = valid_sr_uuid

Nota:

Este comando no afecta al almacenamiento de EqualLogic, NetApp o NFS.

Configuración de QoS de disco virtual

Los discos virtuales tienen una configuración opcional de calidad de servicio (QoS) de prioridad de E/S. Esta configuración se puede aplicar a los discos virtuales existentes utilizando la CLI xe como se describe en esta sección.

Para SR compartida, donde varios hosts tienen acceso al mismo LUN, la configuración de QoS se aplica a los VBD que acceden al LUN desde el mismo host. QoS no se aplica a todos los hosts del grupo.

Antes de configurar cualquier parámetro QoS para un VBD, asegúrese de que el programador de discos para SR se ha configurado correctamente. Consulte Ajuste del programador de E/S de disco en la sección anterior para obtener más información sobre cómo ajustar el programador. El parámetro del programador debe establecersecfq en el SR para el que se desea la QoS.

Nota:

Recuerde configurar el programadorcfq en SR y asegurarse de que el PBD se ha vuelto a conectar para que el cambio del programador surta efecto.

El primer parámetro esqos_algorithm_type. Este parámetro debe establecerse en el valorionice, que es el único tipo de algoritmo QoS compatible con discos virtuales en esta versión.

Los propios parámetros QoS se establecen con pares clave/valor asignados alqos_algorithm_param parámetro. Para discos virtuales,qos_algorithm_param toma unasched clave y, dependiendo del valor, también requiere unaclass clave.

Los valores posibles deqos_algorithm_param:sched son:

-sched=rt osched=real-time establece el parámetro de programación QoS a prioridad en tiempo real, lo que requiere un parámetro de clase para establecer un valor

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

-sched=anything establece el parámetro de programación de QoS en la prioridad de mejor esfuerzo, lo que requiere un parámetro de clase para establecer un valor

Los valores posibles paraclass son:

  • Una de las siguientes palabras clave: más alto, alto, normal, bajo, más bajo

  • Un entero entre 0 y 7, donde 7 es la prioridad más alta y 0 es el más bajo. 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.

Para habilitar la configuración de QoS del disco, también debe establecer los PBD enother-config:scheduler y volvercfq a enchufar para el almacenamiento en cuestión.

Por ejemplo, los siguientes comandos de CLI establecen el VBD del disco virtual para que use prioridad en tiempo real5:

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: clase = 5
xe sr-param-set uuid = sr_uuid other-config: scheduler = cfq
xe pbd-plug uuid = pbd_uuid