IntelliCache
Uso de Citrix Hypervisor con IntelliCache hace que las implementaciones de infraestructura de escritorio virtual alojada sean más rentables, ya que le permite utilizar una combinación de almacenamiento compartido y almacenamiento local. Es especialmente beneficioso cuando muchas máquinas virtuales (VM) comparten una imagen de sistema operativo común (la imagen principal). Se reduce la carga de la cabina 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 principal del almacenamiento compartido.
IntelliCache funciona almacenando en caché los datos de una máquina virtual en el almacenamiento local en el host de la máquina virtual. Estos datos almacenados en caché local incluyen:
- Una copia en caché de la imagen principal (VDI principal de una máquina virtual). Este archivo tiene aprovisionamiento fino y es de sólo lectura. Se completa a medida que se leen datos desde la imagen principal VDI en el almacenamiento compartido. Cuando muchas máquinas virtuales comparten una imagen principal VDI común, una máquina virtual puede usar los datos leídos en la memoria caché desde otra máquina virtual. No se requiere acceso adicional a la imagen principal en el almacenamiento compartido.
- Una copia en caché del disco delta por VDI. Los cambios se pueden escribir en este disco delta local. En el caso de las máquinas virtuales no persistentes, los datos en el disco delta almacenado en caché local se descartan al iniciar la máquina virtual. En el caso de las máquinas virtuales persistentes, los datos del disco delta almacenado en caché local se vuelven a escribir en el disco delta del almacenamiento compartido durante el arranque de la máquina virtual.
Requisitos previos
La función IntelliCache tiene los siguientes requisitos:
-
Licencia de la edición Premium: IntelliCache solo es compatible cuando se utiliza Citrix Hypervisor Premium Edition con Citrix Virtual Desktops.
-
Almacenamiento: Para usar IntelliCache, necesita un SR local para los datos almacenados en caché y un SR compartido para la imagen de disco virtual (VDI) de origen. Utilice estos SR solo para máquinas virtuales IntelliCache. No mezcle máquinas virtuales tradicionales y máquinas virtuales IntelliCache en el mismo SR.
-
Almacenamiento compartido: El tipo de almacenamiento compartido, utilizado para alojar el VDI de origen, debe ser NFS.
-
Almacenamiento local: 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 el rendimiento de datos y la capacidad de almacenamiento al ajustar el tamaño de los discos locales.
Se requiere un SR local EXT3/EXT4 con aprovisionamiento fino para IntelliCache. El aprovisionamiento fino debe estar habilitado para que el almacenamiento en caché local de Citrix Virtual Desktops funcione correctamente. Puede habilitar el aprovisionamiento fino en el momento de la instalación de Citrix Hypervisor o más tarde, en la línea de comandos. El aprovisionamiento fino cambia el tipo de almacenamiento local predeterminado del host de LVM a EXT4. Para obtener más información, consulte Implementación de IntelliCache.
El aprovisionamiento fino es una forma de optimizar el uso del almacenamiento disponible. Este enfoque le permite hacer un mayor 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. El aprovisionamiento fino 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 datos.
Los SR con aprovisionamiento fino pueden quedarse sin espacio físico, ya que las máquinas virtuales dentro de ellos pueden crecer hasta consumir capacidad de disco según demanda. Las máquinas virtuales de IntelliCache controlan esta condición recurriendo automáticamente al almacenamiento compartido cuando la caché SR local está llena. No mezcle máquinas virtuales tradicionales y máquinas virtuales de IntelliCache en el mismo SR, ya que las máquinas virtuales de IntelliCache pueden aumentar rápidamente de tamaño.
-
Implementación de IntelliCache
Para utilizar la función Intellicache, debe habilitarla tanto en Citrix Hypervisor como en Citrix Virtual Apps and Desktops.
En Citrix Hypervisor
Para utilizar IntelliCache, el aprovisionamiento fino del SR local debe habilitarse durante la instalación del host o habilitarse manualmente en un host en ejecución mediante la CLI. Thin Provisioning cambia el tipo de almacenamiento local predeterminado del host de LVM a EXT4.
Habilitar en la instalación del host
Para habilitar el aprovisionamiento fino durante la instalación del host, en la pantalla Almacenamiento de máquina virtual , seleccione Habilitar aprovisionamiento fino. Esta opción selecciona el SR local del host para que sea el que se utilizará para el almacenamiento en caché local de las VDI de VM.
Conversión de un host existente para usar el aprovisionamiento fino
Para eliminar un SR local LVM existente y reemplazarlo con un SR EXT3/EXT4 con aprovisionamiento fino, ingrese los siguientes comandos.
Advertencia:
Estos comandos quitan el SR local existente y las máquinas virtuales del SR se eliminan de forma permanente.
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 /var/lib/misc/ran-storage-init
systemctl restart storage-init.service
xe sr-list type=ext
<!--NeedCopy-->
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
<!--NeedCopy-->
Acerca de Citrix Virtual Apps and Desktops
Al conectarse desde Citrix Virtual Apps and Desktops a Citrix Hypervisor en Citrix Studio, seleccione usar IntelliCache. Si se ha habilitado el aprovisionamiento fino del SR local en Citrix Hypervisor, Citrix Studio muestra la opción Usar IntelliCache para reducir la carga en el dispositivo de almacenamiento compartido al crear la conexión a Citrix Hypervisor.
Para obtener más información, consulte la Documentación del producto Citrix Virtual Apps and Desktops.
Comportamiento de la máquina virtual con IntelliCache
La marca VDI En el arranque
dicta el comportamiento de una VDI de VM cuando se arranca la VM y el indicador de VDI allow-caché
dicta el comportamiento de almacenamiento en caché.
Los valores que se van a usar para estos parámetros dependen del tipo de máquina virtual que esté creando y de cuál sea su uso previsto:
-
Para máquinas compartidas o asignadas aleatoriamente:
- Establezca el parámetro
En el arranque
parámetro arestablecimiento
. - Establezca el parámetro
allow-caché
parámetro averdadero
Por ejemplo:
xe vdi-param-set uuid=vdi_uuid on-boot=reset allow-caching=true <!--NeedCopy-->
En el arranque de la máquina virtual, el VDI se revierte al estado en el que se encontraba en el arranque anterior. Todos los cambios mientras la máquina virtual se está ejecutando se pierden la próxima vez que se arranca la máquina virtual. Los nuevos datos de la máquina virtual solo se escriben 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.
Seleccione esta opción si planea entregar escritorios estandarizados en los que los usuarios no pueden realizar cambios permanentes.
- Establezca el parámetro
-
Para máquinas estáticas o dedicadas:
- Establezca el parámetro
En el arranque
parámetro apersistir
. - Establezca el parámetro
allow-caché
parámetro averdadero
Por ejemplo:
xe vdi-param-set uuid=vdi_uuid on-boot=persist allow-caching=true <!--NeedCopy-->
En el arranque de la máquina virtual, la VDI se encuentra en el estado en el que se dejó en el último apagado. Los nuevos datos de la máquina virtual se escriben tanto en el almacenamiento local como en el 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. Se permite la migración de máquinas virtuales a otro host y la caché local del nuevo host se rellena a medida que se leen los datos.
Seleccione esta opción si planea permitir que los usuarios realicen cambios permanentes en sus escritorios.
- Establezca el parámetro
Nota: No
Para las máquinas virtuales cuyos VDI están en un SR GFS2, el comportamiento de arranque de la máquina virtual es diferente al de las máquinas virtuales con VDI en otros tipos de SR. En el caso de las VDI en un SR GFS2, la opción de arranque se aplica en el apagado de la máquina virtual, no en el arranque de la máquina virtual.
Detalles de implementación y solución de problemas
P: ¿IntelliCache es compatible con la migración en vivo y la alta disponibilidad?
A: Puede usar la migración en vivo y la alta disponibilidad con IntelliCache cuando los escritorios virtuales están en modo privado, es decir, cuando on-boot=persist
.
Advertencia:
Una máquina virtual no se puede migrar si alguno de sus VDI tiene marcas de comportamiento de almacenamiento en caché establecidas en
on-boot=reiniciar
yallow-caching=true
. Se produce un error en los intentos de migración de las máquinas virtuales con estas propiedades.
Q: ¿Dónde reside la caché local en el disco local?
Un: La caché reside 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 utilizará para los archivos de caché. Normalmente, este SR es un SR de tipo EXT3/EXT4. Al ejecutar máquinas virtuales con IntelliCache, verá archivos dentro del SR con nombres uuid.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 iniciar sesión en dom0 y enumerar el contenido de /var/run/sr-mount/sr-uuid
Q: ¿Cómo especifico un SR en particular para usarlo como caché?
Un: El campo de objeto anfitrión caché-local-sr
hace referencia a un SR local. Para ver su valor, ejecute el siguiente comando:
xe sr-list params=local-cache-sr,uuid,name-label
<!--NeedCopy-->
Este campo se establece de una de las siguientes maneras:
-
Después de la instalación del host, si ha elegido la opción “Habilitar aprovisionamiento fino” en el instalador del host, o
-
Al ejecutar
xe 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 use este comando.
La primera opción utiliza el SR local de tipo EXT3/EXT4 y se crea durante la instalación del host. La segunda opción utiliza el tipo SR EXT3/EXT4 que se especifica en la línea de comando.
Advertencia:
Estos pasos solo son necesarios para los usuarios que han configurado más de un SR local.
Q: ¿Cuándo se elimina la caché local?
A: La caché local incluye dos tipos de información:
- Un caché compartido para el disco de imagen principal. Este archivo de caché compartido refleja el VDI de solo lectura del almacenamiento compartido y no se elimina ni se restablece cuando se realizan acciones en VDI individuales.
-
Un caché de disco delta por VDI para cada VDI. En el caso de una máquina virtual no persistente, la caché del disco delta se restablece cuando se conecta un VDI a una máquina virtual (por ejemplo, al iniciar la máquina virtual). Este archivo de caché solo se elimina cuando se elimina el propio VDI. Si el host está sin conexión cuando se elimina el VDI, la sincronización de SR que se ejecuta en la basura de inicio recopila el archivo de caché.
Nota: No
El archivo de caché de disco delta no se elimina del host cuando una máquina virtual migra a un host diferente o se apaga.