IntelliCache™

Last published : Oct 07, 2026
El uso de XenServer® con IntelliCache hace que las implementaciones de infraestructura de escritorio virtual alojadas 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 de SO común (la imagen principal). La carga en la matriz de almacenamiento se reduce y el rendimiento mejora. 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 del host de la máquina virtual. Estos datos locales almacenados en caché incluyen:
  • Una copia en caché de la imagen principal (VDI principal de una máquina virtual). Este archivo tiene aprovisionamiento ligero y es de solo lectura. Se rellena a medida que se leen datos del VDI de la imagen principal en el almacenamiento compartido. Cuando muchas máquinas virtuales comparten un VDI de imagen principal común, una máquina virtual puede usar los datos leídos en la caché de 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. Para las máquinas virtuales no persistentes, los datos del disco delta local en caché se descartan al iniciar la máquina virtual. Para las máquinas virtuales persistentes, los datos del disco delta local en caché se vuelven a escribir en el disco delta del almacenamiento compartido al iniciar la máquina virtual.
<iframe src="https://www.youtube.com/embed/CcAcKXgcSdU" width="720px" height="480px" frameborder="0" title="YouTube video player" allowfullscreen=""> </iframe>

Requisitos previos

La función IntelliCache tiene los siguientes requisitos:
  • Licencia Premium Edition: IntelliCache solo es compatible cuando se utiliza XenServer Premium Edition con Citrix Virtual Desktops.
  • Almacenamiento: Para usar IntelliCache, necesita tanto un SR local para los datos en caché como 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 almacenamiento compartido utilizado para alojar el VDI de origen debe ser de uno de los siguientes tipos:
      • NFS
      • SMB3
      • LVM compartido (iSCSI o HBA)
    • 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. Considere tanto el rendimiento de datos como la capacidad de almacenamiento al dimensionar los discos locales.
      Se requiere un SR local EXT3/EXT4 con aprovisionamiento ligero para IntelliCache. El aprovisionamiento ligero debe estar habilitado para que el almacenamiento en caché local de Citrix Virtual Desktops funcione correctamente. Puede habilitar el aprovisionamiento ligero en el momento de la instalación de XenServer o más tarde, desde la línea de comandos. El aprovisionamiento ligero 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 ligero 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 ligero 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 una LUN no reclama ningún bloque de datos hasta que la máquina virtual escribe datos.
      Los SR con aprovisionamiento ligero pueden quedarse sin espacio físico, ya que las máquinas virtuales que contienen pueden crecer para consumir capacidad de disco bajo demanda. Las máquinas virtuales IntelliCache manejan esta condición volviendo automáticamente al almacenamiento compartido cuando la caché del 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

Para usar la función Intellicache, debe habilitarla tanto en XenServer como en Citrix Virtual Apps and Desktops™.

En XenServer

Para usar IntelliCache, el aprovisionamiento ligero del SR local debe habilitarse durante la instalación del host o habilitarse manualmente en un host en ejecución usando la CLI. El aprovisionamiento ligero cambia el tipo de almacenamiento local predeterminado del host de LVM a EXT4.

Habilitar en la instalación del host

Para habilitar el aprovisionamiento ligero 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 los VDI de las máquinas virtuales.
El panel de almacenamiento de máquinas virtuales en las pantallas de instalación.

Convertir un host existente para usar aprovisionamiento ligero

Para eliminar un SR local LVM existente y reemplazarlo por un SR EXT3/EXT4 con aprovisionamiento ligero, introduzca los siguientes comandos.
Advertencia:
Estos comandos eliminan su SR local existente y las máquinas virtuales en el 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 /var/lib/misc/ran-storage-init
    systemctl restart storage-init.service
    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

En Citrix Virtual Apps and Desktops

Al conectar desde Citrix Virtual Apps and Desktops a XenServer en Citrix Studio, seleccione usar IntelliCache. Si el aprovisionamiento ligero del SR local se ha habilitado en XenServer, Citrix Studio muestra la opción Usar IntelliCache para reducir la carga en el dispositivo de almacenamiento compartido al crear la conexión a XenServer.
Para obtener más información, consulte la documentación del producto Citrix Virtual Apps and Desktops.

Comportamiento de la VM con IntelliCache

El indicador VDI on-boot dicta el comportamiento de un VDI de VM cuando se inicia la VM y el indicador VDI allow-caching dicta el comportamiento de almacenamiento en caché.
Los valores a utilizar para estos parámetros dependen del tipo de VM que esté creando y de su uso previsto:
  • Para máquinas compartidas o asignadas aleatoriamente:
    • Establezca el parámetro on-boot en reset.
    • Establezca el parámetro allow-caching en true
    Por ejemplo:
    xe vdi-param-set uuid=vdi_uuid on-boot=reset allow-caching=true
    Al iniciar la VM, el VDI vuelve al estado en que se encontraba en el arranque anterior. Todos los cambios realizados mientras la VM está en ejecución se pierden cuando la VM se inicia la próxima vez. Los nuevos datos de la VM se escriben solo 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 VM no se puede migrar entre hosts.
    Seleccione esta opción si planea entregar escritorios estandarizados a los que los usuarios no pueden realizar cambios permanentes.
  • Para máquinas estáticas o dedicadas:
    • Establezca el parámetro on-boot en persist.
    • Establezca el parámetro allow-caching en true
    Por ejemplo:
    xe vdi-param-set uuid=vdi_uuid on-boot=persist allow-caching=true
    Al arrancar la VM, la VDI está en el estado en que se dejó en el último apagado. Los nuevos datos de la VM se escriben tanto en el almacenamiento local como en el compartido. Las lecturas de datos 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 la VM a otro host y la caché local del nuevo host se rellena a medida que se leen los datos.
    Seleccione esta opción si tiene previsto permitir a los usuarios realizar cambios permanentes en sus escritorios.
Nota:
Para las VM cuyas VDI están en un SR GFS2, el comportamiento de arranque de la VM es diferente al de las VM con VDI en otros tipos de SR. Para las VDI en un SR GFS2, la opción de arranque se aplica al apagar la VM, no al iniciarla.

Detalles de implementación y solución de problemas

P: ¿Es IntelliCache compatible con la migración en vivo y la alta disponibilidad?
R: 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 VM no se puede migrar si alguna de sus VDI tiene las marcas de comportamiento de caché establecidas en on-boot=reset y allow-caching=true. Los intentos de migración para las VM con estas propiedades fallan.
P: ¿Dónde reside la caché local en el disco local?
R: 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. Cuando ejecuta VM con IntelliCache, verá archivos dentro del SR con nombres uuid.vhdcache. Este archivo es el archivo de caché para la 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 particular para usarlo como caché?
R: El campo de objeto de host local-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 de dos maneras:
  • Después de la instalación del host, si ha elegido la opción "Habilitar aprovisionamiento ligero" en el instalador del host, o
  • Ejecutando 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 SR de tipo EXT3/EXT4 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: La caché local incluye dos tipos de información:
  • Una caché compartida 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 VDIs individuales.
  • Una caché de disco delta por VDI para cada VDI. Para una VM no persistente, la caché de disco delta se restablece cuando un VDI se adjunta a una VM (por ejemplo, al iniciar la VM). Este archivo de caché solo se elimina cuando se elimina el propio VDI. Si el host está sin conexión cuando elimina el VDI, la sincronización de SR que se ejecuta al inicio recolecta el archivo de caché.
    Nota:
    El archivo de caché de disco delta no se elimina del host cuando una VM migra a un host diferente o se apaga.