IntelliCache

Nota:

Esta función sólo se admite cuando se utiliza HASH (0x2c1a078) con escritorios virtuales de Citrix.

Intellicache no es compatible con máquinas virtuales que utilizan GFS2 SR.

El uso de HASH (0x2c1a078) con IntelliCache hace que las implementaciones de infraestructura de escritorio virtual alojada sean más rentables al permitirle utilizar una combinación de almacenamiento compartido y almacenamiento local. Resulta especialmente beneficioso cuando muchas máquinas virtuales (VM) comparten una imagen común del sistema operativo. La carga en el arreglo de discos de almacenamiento se reduce y se mejora el rendimiento. Además, el tráfico de red hacia y desde el almacenamiento compartido se reduce a medida que el almacenamiento local almacena en caché la imagen maestra del almacenamiento compartido.

IntelliCache funciona almacenando en caché los datos de una VDI principal de VM en almacenamiento local en el host de VM. Esta caché local se rellena a medida que se leen los datos del VDI principal. Cuando muchas máquinas virtuales comparten una VDI principal común, una máquina virtual puede utilizar los datos leídos en la caché desde otra máquina virtual. No se requiere acceso adicional a la imagen maestra en el almacenamiento compartido.

Se requiere un SR local de aprovisionamiento fino para IntelliCache. El aprovisionamiento ligero es una forma de optimizar el uso del almacenamiento disponible. Este enfoque le permite hacer más uso del almacenamiento local en lugar de almacenamiento compartido. Se basa en la asignación a petición de bloques de datos. En otros enfoques, todos los bloques se asignan por adelantado.

Importante:

Thin Provisioning cambia el tipo de almacenamiento local predeterminado del host de LVM a EXT3. Thin Provisioning debe estar habilitado para que el almacenamiento en caché local de escritorios virtuales de Citrix funcione correctamente.

Thin Provisioning permite al administrador presentar más espacio de almacenamiento a las máquinas virtuales que se conectan al repositorio de almacenamiento (SR) del que está disponible en el SR. No hay garantías de espacio, y la asignación de un LUN no reclama ningún bloque de datos hasta que la máquina virtual escribe los datos.

Advertencia:

Los SRs aprovisionados ligeros pueden quedarse sin espacio físico, ya que las máquinas virtuales de dentro pueden crecer para consumir capacidad de disco a petición. Las VM IntelliCache manejan esta condición al volver automáticamente al almacenamiento compartido cuando la memoria caché SR local está llena. No mezcle máquinas virtuales tradicionales con máquinas virtuales IntelliCache en la misma SR, ya que las VM IntelliCache pueden crecer rápidamente en tamaño.

Implementación de IntelliCache

IntelliCache debe habilitarse durante la instalación del host o habilitarse manualmente en un host en ejecución mediante la CLI.

Se recomienda utilizar un dispositivo de almacenamiento local de alto rendimiento para garantizar la transferencia de datos más rápida posible. Por ejemplo, utilice un disco de estado sólido o una matriz RAID de alto rendimiento. Considere tanto el rendimiento de datos como la capacidad de almacenamiento al dimensionar los discos locales. El tipo de almacenamiento compartido, utilizado para alojar la imagen de disco virtual (VDI) de origen, debe estar basado en NFS o EXT.

Habilitar en la instalación del host

Para habilitar IntelliCache durante la instalación del host, en la pantalla Almacenamiento de máquinas virtuales , seleccione Habilitar aprovisionamiento ligero . Esta opción selecciona el SR local del host para que sea el que se utilizará para el almacenamiento en caché local de VDI de VM.

El panel Almacenamiento de máquina virtual en las pantallas de instalación.

Convertir un host existente para utilizar aprovisionamiento ligero

Para eliminar un SR local basado en LVM existente y reemplazarlo por un SR basado en EXT3 aprovisionado ligero, escriba los siguientes comandos.

Advertencia:

Estos comandos eliminan el SR local existente y las VM de la SR se eliminan permanentemente.

    localsr=`xe sr-list type=lvm host=hostname params=uuid --minimal`
        echo localsr=$localsr
        pbd=`xe pbd-list sr-uuid=$localsr params=uuid --minimal`
        echo pbd=$pbd
        xe pbd-unplug uuid=$pbd
        xe pbd-destroy uuid=$pbd
        xe sr-forget uuid=$localsr
        sed -i "s/'lvm'/'ext'/" /etc/firstboot.d/data/default-storage.conf
        rm -f /etc/firstboot.d/state/10-prepare-storage
        rm -f /etc/firstboot.d/state/15-set-default-storage
        service firstboot start
        xe sr-list type=ext

Para habilitar el almacenamiento en caché local, escriba los siguientes comandos:

    xe host-disable host=hostname
        localsr=`xe sr-list type=ext host=hostname params=uuid --minimal`
        xe host-enable-local-storage-caching host=hostname sr-uuid=$localsr
        xe host-enable host=hostname

Comportamiento de arranque de VM

Hay dos opciones para el comportamiento de un VDI de VM cuando se inicia la VM:

  1. Modo de escritorio compartido

    En el arranque de VM, el VDI se vuelve al estado en el que estaba en el arranque anterior. Todos los cambios mientras se ejecuta la máquina virtual se pierden cuando se inicia la máquina virtual.

    Seleccione esta opción si planea entregar escritorios estandarizados a los que los usuarios no pueden realizar cambios permanentes.

  2. Modo de escritorio privado

    En el arranque de VM, el VDI está en el estado en el que se dejó en el último apagado.

    Seleccione esta opción si desea permitir a los usuarios realizar cambios permanentes en sus escritorios.

Configuración de comportamiento de almacenamiento en caché de VM

El indicador VDIallow-caching dicta el comportamiento de almacenamiento en caché:

Modo de escritorio compartido

Para los escritorios compartidos, laon-boot opción esreset y elallow-caching indicador estrue . Los nuevos datos de VM sólo se escriben en el almacenamiento local. No hay escrituras en el almacenamiento compartido. Este enfoque significa que la carga en el almacenamiento compartido se reduce. Sin embargo, la máquina virtual no se puede migrar entre hosts.

Modo de escritorio privado

En el caso de los escritorios privados, la opción durante el arranque se establece enpersist y el indicador de almacenamiento en caché se establece entrue . Los nuevos datos de VM se escriben en almacenamiento local y compartido. Las lecturas de datos almacenados en caché no requieren tráfico de E/S al almacenamiento compartido, por lo que la carga en el almacenamiento compartido se reduce. Se permite la migración de VM a otro host y la caché local en el nuevo host se rellena a medida que se leen los datos.

Detalles de implementación y solución de problemas

P: ¿IntelliCache es compatible con la migración en vivo y la alta disponibilidad?

R: Puede utilizar la migración en vivo y la alta disponibilidad con IntelliCache cuando los escritorios virtuales están en modo Privado, es decir, cuandoon-boot=persist

Advertencia:

No se puede migrar una máquina virtual si alguno de sus VDI tiene indicadores de comportamiento de almacenamiento en caché establecidos enon-boot=reset yallow-caching=true . Los intentos de migración de máquinas virtuales con estas propiedades fallan.

P: ¿Dónde vive la caché local en el disco local?

R: La caché vive en un repositorio de almacenamiento (SR). Cada host tiene un parámetro de configuración (llamado local-cache-sr) que indica qué SR (local) se va a utilizar para los archivos de caché. Normalmente, este SR es un SR de tipo EXT. Cuando ejecuta VM con IntelliCache, verá archivos dentro del SR con nombresuuid.vhdcache. Este archivo es el archivo de caché para el VDI con el UUID dado. Estos archivos no se muestran en HASH (0x2e6c8e8); la única forma de verlos es iniciando sesión en dom0 y enumerando el contenido de/var/run/sr-mount/sr-uuid

P: ¿Cómo especifico un SR en particular para su uso como caché?

R: El campo de objeto hostlocal-cache-sr hace referencia a un SR local. Puede ver su valor ejecutando el siguiente comando:

xe sr-list params=local-cache-sr,uuid,name-label

Este campo se establece:

  • Después de la instalación del host, si ha elegido la opción “Habilitar aprovisionamiento ligero” en el instalador del host, o

  • Ejecutandoxe host-enable-local-storage-caching host=host sr-uuid=sr. El comando requiere que se deshabilite el host especificado. Apague las máquinas virtuales cuando utilice este comando.

La primera opción utiliza el tipo EXT SR local y se crea durante la instalación del host. La segunda opción utiliza el SR que se especifica en la línea de comandos.

Advertencia:

Estos pasos solo son necesarios para los usuarios que han configurado más de un SR local.

P: ¿Cuándo se elimina la caché local?

R: Un archivo de caché VDI sólo se elimina cuando se elimina el propio VDI. La caché se restablece cuando se conecta un VDI a una máquina virtual (por ejemplo, al iniciar la máquina virtual). Si el host está sin conexión al eliminar el VDI, la sincronización SR que se ejecuta en la basura de inicio recopila el archivo de caché.

Nota:

El archivo de caché no se elimina del host cuando una máquina virtual migra a otro host o se apaga.