¿Cómo se asigna la memoria en el servidor ESXi?

¿Cómo se asigna la memoria en el servidor ESXi?

Disponemos de un servidor ESXi 4.1 con 48 GB de RAM.

Para cada VM, asignamos 4 GB de memoria. Dado que el servidor tendrá 13 máquinas virtuales, mi gerente cree que esto está mal.

Les voy a explicar que ESXi en realidad administrará la memoria por sí mismo, pero me preguntaron cuánta memoria asigné para el servidor ESXi.

No asigné ninguna (ni siquiera he oído hablar de una opción para asignar memoria para el servidor ESXi).

¿Cómo se asigna la memoria para el servidor ESXi? ¿Cómo sobreasigna/distribuye RAM entre máquinas virtuales sin problemas?

Respuesta1

Hay mucho más que ESXi en cuestión aquí,

  1. Cada VM consumirá hasta 4 GB + "gastos generales" que están documentadosaquí. Esto depende de las vCPU + memoria asignada. Como mínimo, cada VM utilizará 4261,98 MB(4096 + 165,98)
  2. La propia sobrecarga de memoria de ESXi depende del hardware. La opción más sencilla es mirar elSistemaUso de memoria en el cliente vSphere. De memoria, recuerdo que ronda los 1,3 GB, pero como se indicó, eso esmuydependiente del hardware.

Asignación de memoria y compromiso excesivo explicados

Tenga en cuenta que el hipervisorno asignará toda esa memoria por adelantado, depende del uso de la VM. Sin embargo, vale la pena comprender qué sucederá si las máquinas virtuales intentan asignar y utilizar toda la memoria que se les ha asignado.

El máximo que su VM + host intentará usar será aproximadamente,55 GB el kilometraje puede variar

  • 1,3 GB utilizados por ESXi
  • 4261,98 MB * 13 utilizados por las VM

Hay otro aspecto a tener en cuenta y son los umbrales de memoria. De forma predeterminada, VMware intentará tener un 6% libre (umbral de memoria alto). Entonces el55 GBLa cantidad de memoria utilizada debe reducirse a~45GB

Eso significa que el host tendrá aproximadamente 10.500 MB de memoria que necesitará recuperar de algún lugar en caso de que las máquinas virtuales utilicen la memoria que se les ha asignado. Hay tres cosas que hace ESX para encontrar esos 10,5 GB adicionales.

Métodos de recuperación de memoria

  1. Compartir página transparente
  2. Globos de memoria
  3. Intercambio de hipervisor

Deberías leer y entenderComprensión de la gestión de recursos de memoria en VMware® ESX™ Server.

Dependiendo de una gran cantidad de factores, una combinación de los tres ocurrirá o podría ocurrir en un host demasiado comprometido. Debe probar su entorno y monitorear estas métricas para comprender el impacto de comprometerse demasiado.

Algunas reglas generales que vale la pena conocer (todas en el documento anterior y otras fuentes).

  1. Compartir página de forma transparenteEsto no sucede con las máquinas virtuales que utilizan páginas de 2/4 MB. Como ha asignado 4096 MB a sus máquinas virtuales Windows, utilizarán las páginas de 2/4 MB de forma predeterminada (dependiente de PAE). Sólo bajo presión de memoria VMware dividirá las páginas grandes en páginas de 4 KB que se pueden compartir. TPS se basa en el uso de ciclos de CPU inactivos y en el escaneo de páginas de memoria a una velocidad determinada. Devuelve la memoria relativamente lentamente (piense en una hora en lugar de minutos). Entonces, una tormenta de botas significará que el TPS no lo ayudará. De los tres, este tiene el menor impacto en el rendimiento. Más del documento,

En sistemas de virtualización de memoria asistida por hardware (por ejemplo, Intel EPT Hardware Assist y AMD RVI Hardware Assist [6]), ESX respaldará automáticamente las páginas físicas invitadas con páginas físicas del host de gran tamaño (región de memoria contigua de 2 MB en lugar de 4 KB para páginas normales) para mejor rendimiento debido a menos errores de TLB. En tales sistemas, ESX no compartirá esas páginas grandes porque: 1) la probabilidad de encontrar dos páginas grandes con contenidos idénticos es baja, y 2) la sobrecarga de hacer una comparación bit a bit para una página de 2 MB es mucho mayor que para una página de 4 KB. Sin embargo, ESX todavía genera hashes para las páginas de 4 KB dentro de cada página grande. Dado que ESX no intercambiará páginas grandes, durante el intercambio de host, la página grande se dividirá en páginas pequeñas para que estos hash pregenerados puedan usarse para compartir las páginas pequeñas antes de intercambiarlas. En resumen, es posible que no observemos ningún intercambio de páginas para los sistemas de virtualización de memoria asistidos por hardware hasta que la memoria del host esté comprometida en exceso.

  1. Globos aerostáticosse activa a continuación (los umbrales son configurables, de forma predeterminada esto es cuando el host tiene menos del 6% de memoria libre (entre alto y software)). Asegúrese de instalar el controlador y tenga cuidado con Java yadministradoaplicaciones en general. El sistema operativo no tiene idea de lo que hará el recolector de basura a continuación y terminará visitando páginas que se han intercambiado en el disco. No es una práctica poco común que los servidores que ejecutan aplicaciones Java exclusivamente deshabiliten el intercambio por completo para garantizar que eso no suceda. Eche un vistazo a la página 17 de vSphere Memory Management, SPECjbb

  2. Intercambio de hipervisor, de los tres métodos es el único quegarantías"memoria" disponible para el hipervisor en un tiempo determinado. Esto se usará si 1 y 2 no le dan suficiente memoria para permanecer bajo elduroumbral (predeterminado de 2% de memoria libre). Cuando lea las métricas de rendimiento (haga las suyas propias), se dará cuenta de que esta es la de peor rendimiento de las tres. Intente evitarlo a toda costa, ya que el impacto en el rendimiento será muy notable en casi todas las aplicaciones.porcentaje de dos dígitos

  3. Hay un estado más que debemos tener en cuenta.bajo(por defecto 1%). Desde el manual esto puede reducir drásticamente su rendimiento,

En un caso poco común en el que la memoria libre del host cae por debajo del umbral bajo, el hipervisor continúa reclamando memoria mediante intercambio y compresión de memoria y, además, bloquea la ejecución de todas las máquinas virtuales que consumen más memoria que sus asignaciones de memoria de destino.

Resumen

El punto clave del estrés es que es imposible predecir a partir de los documentos técnicos cómo se comportará su entorno.

  1. ¿Cuánto te puede dar TPS? (Depende de qué tan similares sean sus máquinas virtuales con su sistema operativo, Service Pack y aplicaciones en ejecución)
  2. ¿Con qué rapidez asignan sus máquinas virtuales su memoria? Cuanto más rápido lo hagan, más probabilidades tendrás de saltar al siguiente umbral antes de que el esquema de recuperación de memoria, menos impactante, logre mantenerte en tu umbral actual.
  3. Dependiendo de la aplicación, cada esquema de recuperación de memoria tendrá un impacto muy variable.

Pruebe sus escenarios promedio, su escenario percentil del 95% y finalmente su máximo para comprender cómo se ejecutará su entorno.


Editar 1

Vale la pena agregar que con vSphere 4 (o 4.1 no lo recuerdo), ahora es posible colocar el intercambio del hipervisor en el disco local, pero aún asímovimientola máquina virtual. Si está utilizando almacenamiento compartido, le recomiendo encarecidamente que mueva el archivo de intercambio del hipervisor al disco local de forma predeterminada. Esto garantiza que cuando un host se encuentra bajo una gran presión de memoria, no termine afectando a todos los demás hosts/VM de vSphere en el mismo almacenamiento compartido.

Editar 2

Según los comentarios, se destacó en negrita el hecho de que ESX no asigna la memoria por adelantado...

Editar 3

Explicado un poco más sobre los umbrales de memoria.

Respuesta2

VMware (y otras tecnologías de virtualización)compartirrecursos (memoria, tiempo de procesador, E/S de varios tipos) entre máquinas virtuales según varios algoritmos.

Es posiblecomprometerse demasiadorecursos, porque no todas las máquinas virtuales utilizarán todo el procesamiento, la memoria o las E/S que necesitan todo el tiempo. Guía de gestión de recursos de VMwarees probablemente el mejor lugar para leer sobre lo que es posible en ESXi.

También puede gestionar el efecto de los algoritmos ponderando diferentes VM para diferentes recursos; por ejemplo, puede darle a una VM de servidor de aplicaciones una mayor ponderación para el procesador que a una VM de servidor de archivos. Sin embargo, la configuración lista para usar manejará muy bien la mayoría de los requisitos. En algunos casos, realizar alguna configuración aquí es suficiente para aplacar a los administradores que no lo entienden del todo, pero, por supuesto, tenga cuidado y lea los documentos de su versión de VMware y comprenda lo que está haciendo. Si su gerente no necesita más apaciguamiento, utilice los valores predeterminados.

Tenga en cuenta que comprometerse demasiado no siempre es necesariamente una buena idea, especialmente si ha virtualizado en un solo servidor. Debe monitorear el uso de los recursos en su patrimonio ESXi y, si es necesario, agregar hosts/recursos adicionales si consume con frecuencia uno o más recursos.

Respuesta3

Deje que su instalación de VMWare ESXi se encargue de ello. Puede comprometer excesivamente los recursos de RAM en los sistemas VMWare debido al uso deTécnicas de aumento de memoria, compresión y deduplicación..

Si las máquinas virtuales utilizan un sistema operativo similar, se obtienen algunos ahorros. Asegúrese de habilitar las herramientas VMWare dentro de las máquinas virtuales invitadas para aprovechar al máximo estas funciones.

información relacionada