Almacenamiento en caché de lectura

El almacenamiento en caché de lectura mejora el rendimiento del disco de una máquina virtual ya que, después de la lectura inicial del disco externo, los datos se almacenan en caché dentro de la memoria libre del host. Mejora el rendimiento en situaciones en las que muchas máquinas virtuales se clonan de una sola máquina virtual base, ya que reduce drásticamente el número de bloques leídos desde el disco. Por ejemplo, en entornos de Citrix Virtual Desktops Machine Creation Service (MCS).

La mejora del rendimiento se puede ver cada vez que los datos se leen desde el disco más de una vez, ya que se almacenan en caché en la memoria. Este cambio es más notable en la degradación del servicio que se produce durante situaciones de E/S pesadas. Por ejemplo, en las siguientes situaciones:

  • Cuando un número significativo de usuarios finales se inicia dentro de un marco de tiempo muy estrecho (tormenta de arranque)
  • Cuando un número significativo de máquinas virtuales está programado para ejecutar análisis de malware al mismo tiempo (tormentas antivirus).

El almacenamiento en caché de lectura está habilitado de forma predeterminada cuando tiene el tipo de licencia adecuado.

Nota:

El almacenamiento en caché de lectura de almacenamiento está disponible para los clientes de Citrix Hypervisor Premium Edition.

Almacenamiento en caché de lectura de almacenamiento también está disponible para los clientes que acceden a Citrix Hypervisor a través de su derecho de Citrix Virtual Apps and Desktops.

Habilitar y deshabilitar el almacenamiento en caché de lectura

Para SRs basados en archivos, como los tipos NFS y EXT3 SR, el almacenamiento en caché de lectura está habilitado de forma predeterminada. El almacenamiento en caché de lectura está deshabilitado para todos los demás SRs.

Para deshabilitar el almacenamiento en caché de lectura para un SR específico, ejecute el siguiente comando:

xe sr-param-set uuid=sr-uuid other-config:o_direct=true

Limitaciones

  • El almacenamiento en caché de lectura sólo está disponible para NFS y EXT3 SRs. No está disponible para otros tipos de SR.

  • El almacenamiento en caché de lectura sólo se aplica a los VDI de sólo lectura y a los padres VDI. Estos VDI existen donde las VM se crean a partir de ‘Clone rápido’ o instantáneas de disco. Las mayores mejoras de rendimiento se pueden ver cuando muchas máquinas virtuales se clonan a partir de una sola imagen «dorada».

  • Las mejoras de rendimiento dependen de la cantidad de memoria libre disponible en el dominio de control del host (dom0). Aumentar la cantidad de memoria dom0 permite asignar más memoria a la caché de lectura. Para obtener información sobre cómo configurar la memoria dom0, consulteCTX134951.

Comparación con IntelliCache

IntelliCache y almacenamiento en caché de lectura basado en memoria son a algunos aspectos complementarios. IntelliCache no solo almacena en caché en un nivel diferente, sino que también almacena en caché las escrituras además de las lecturas. IntelliCache almacena en caché las lecturas de la red en un disco local. El almacenamiento en caché de lectura en memoria almacena en caché las lecturas de la red o el disco en la memoria del host. La ventaja del almacenamiento en caché de lectura en memoria, es que la memoria sigue siendo un orden de magnitud más rápido que un disco de estado sólido (SSD). Mejora el rendimiento en tormentas de arranque y otras situaciones de E/S pesadas.

Tanto el almacenamiento en caché de lectura como IntelliCache se pueden habilitar simultáneamente. En este caso, IntelliCache almacena en caché las lecturas de la red en un disco local. Las lecturas de ese disco local se almacenan en caché en la memoria con el almacenamiento en caché de lectura.

Establecer el tamaño de la memoria caché de lectura

El rendimiento de la caché de lectura se puede optimizar, proporcionando más memoria al dominio de control de Citrix Hypervisor (dom0).

Importante:

Establezca el tamaño de la memoria caché de lectura en TODOS los hosts del grupo individualmente para su optimización. Cualquier cambio posterior en el tamaño de la memoria caché de lectura también debe establecerse en todos los hosts del grupo.

En el servidor Citrix Hypervisor, abra un shell local e inicie sesión como root.

Para establecer el tamaño de la caché de lectura, ejecute el siguiente comando:

/opt/xensource/libexec/xen-cmdline --set-xen dom0_mem=nnM,max:nnM

Establezca los valores inicial y máximo en el mismo valor. Por ejemplo, para establecer la memoria dom0 en 2.048 MiB:

/opt/xensource/libexec/xen-cmdline --set-xen dom0_mem=20480M,max:20480M

Importante:

Reinicie todos los hosts después de cambiar el tamaño de la memoria caché de lectura.

¿Cómo ver la asignación de memoria dom0 actual?

Para ver la configuración actual de la memoria dom0, escriba:

free -m

La salida defree -m muestra la configuración actual de memoria dom0. El valor puede ser menor de lo esperado debido a varios gastos generales. La siguiente tabla de ejemplo muestra la salida de un host con dom0 establecido en 2.6 GiB

  Total: Usada Libre Compartido Buffer/caché Disponible
- ¿Me lo está? 2450 339 1556 9 554 2019
Intercambio: 1023 0 1023      

¿Qué rango de valores se puede utilizar?

Dado que el dominio de control de Citrix Hypervisor (dom0) es de 64 bits, se pueden utilizar valores grandes, por ejemplo 32768 MiB. Sin embargo, le recomendamos que no reduzca la memoria dom0 por debajo de 1 GiB.

Notas de visualización de XenCenter

Se puede considerar que toda la memoria del host comprende el hipervisor Xen, dom0, VM y memoria libre. Aunque la memoria dom0 y VM suele tener un tamaño fijo, el hipervisor Xen utiliza una cantidad variable de memoria. La cantidad de memoria utilizada depende de varios factores. Estos factores incluyen el número de máquinas virtuales que se ejecutan en el host en cualquier momento y cómo se configuran esas máquinas virtuales. No es posible limitar la cantidad de memoria que usa Xen. Limitar la cantidad de memoria puede provocar que Xen se quede sin memoria e impedir que se inicien nuevas máquinas virtuales, incluso cuando el host tenía memoria libre.

Para ver la memoria asignada a un host, en XenCenter seleccione el host y, a continuación, haga clic en la ficha Memoria .

El campo Citrix Hypervisor muestra la suma de la memoria asignada a la memoria dom0 y Xen. Por lo tanto, la cantidad de memoria mostrada puede ser mayor que la especificada por el administrador. El tamaño de la memoria puede variar al iniciar y detener máquinas virtuales, incluso cuando el administrador haya establecido un tamaño fijo para dom0.