IntelliCache

Nota:

Esta función solo se admite cuando se usa Citrix Hypervisor con Citrix Virtual Desktops.

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

El uso de Citrix Hypervisor con IntelliCache hace que las implementaciones de Virtual Desktop Infrastructure hospedadas sean más rentables al permitirle utilizar una combinación de almacenamiento compartido y almacenamiento local. Es de particular beneficio cuando muchas máquinas virtuales (VM) comparten una imagen común del sistema operativo. Se reduce la carga en el arreglo de discos de almacenamiento 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é datos de un VDI principal de VM en almacenamiento local en el host de VM. Esta caché local se rellena a medida que los datos se leen desde el VDI principal. Cuando muchas máquinas virtuales comparten un VDI principal común, una máquina virtual puede usar los datos leídos en la caché desde otra máquina virtual. No se requiere más acceso a la imagen maestra en el almacenamiento compartido.

Se requiere un SR local de aprovisionamiento ligero 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 del almacenamiento compartido. Se basa en la asignación bajo demanda 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 Citrix Virtual Desktops 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 VM escribe datos.

Advertencia:

Los SRs de aprovisionamiento ligero pueden quedarse sin espacio físico, ya que las VM de dentro pueden crecer para consumir capacidad de disco bajo demanda. Las VM de IntelliCache manejan esta condición al volver automáticamente al almacenamiento compartido cuando la caché de SR local está llena. No mezcle máquinas virtuales tradicionales y máquinas virtuales IntelliCache en el mismo SR, ya que las máquinas virtuales 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.

Le recomendamos que utilice 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. Tenga en cuenta tanto el rendimiento de los 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áquina virtual , 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 los VDI de VM.

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

Convertir un host existente para usar aprovisionamiento ligero

Para eliminar una SR local basada en LVM existente y reemplazarla por una SR basada en EXT3 de aprovisionamiento ligero, introduzca los siguientes comandos.

Advertencia:

Estos comandos eliminan la 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, introduzca 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 se encontraba en el arranque anterior. Todos los cambios mientras se ejecuta la máquina virtual se pierden cuando se inicia la máquina virtual.

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

    Select esta opción si planea 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 escritorios compartidos, laon-boot opción esreset y elallow-caching indicador estrue . Los nuevos datos de VM se escriben sólo en el almacenamiento local. No hay escrituras en el almacenamiento compartido. Este enfoque significa que se reduce la carga en el almacenamiento compartido. Sin embargo, la máquina virtual no se puede migrar entre hosts.

Modo de escritorio privado

Para los escritorios privados, la opción durante el arranque se establece enpersist y el indicador de almacenamiento en caché permitido 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 se reduce la carga en el almacenamiento compartido. La migración de VM a otro host está permitida y la caché local del nuevo host se rellena a medida que se leen los datos.

Detalles de implementación y solución de problemas

P: ¿Es compatible IntelliCache con migración en vivo y 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 cualquiera de sus VDI tiene indicadores de comportamiento de almacenamiento en caché establecidos enon-boot=reset yallow-caching=true . Los intentos de migración para 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 máquinas virtuales 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 XenCenter; 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 concreto para usarlo 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 el host especificado esté deshabilitado. Apague las máquinas virtuales cuando utilice este comando.

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

Advertencia:

Estos pasos sólo 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 un VDI está conectado a una VM (por ejemplo, en el inicio de VM). 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 cierra.