Saltar al contenido

Virtualización de aplicaciones: cómo configurar correctamente las máquinas virtuales

Transferencia de aplicaciones a la nube del proveedor

Pasar a la nube es un desafío urgente que enfrentan muchas empresas en la actualidad. Al virtualizar la flota de servidores locales y mover aplicaciones a la plataforma en la nube, la organización se deshace de una serie de problemas que enfrentó anteriormente.

Sin embargo, la configuración correcta del entorno virtual, especialmente las máquinas virtuales, sigue siendo la cuestión número uno. Qué buscar al trabajar con una máquina virtual, cómo crear la infraestructura más productiva y evitar errores, se lo diremos en este artículo.

El tamaño preliminar es la clave del éxito

Antes de comenzar a implementar una máquina virtual en la nube de su proveedor, debe determinar al menos su tamaño aproximado. Sin embargo, es importante comprender que más recursos no siempre significan más productividad. Además, si una empresa enfrenta el problema de migrar aplicaciones existentes, necesita analizar los datos de monitoreo. Esto ayudará a determinar qué recursos requiere la máquina virtual y en qué volumen.

Transferencia de aplicaciones a la nube del proveedor

Cuando mueva una aplicación de una infraestructura local a una nube, asegúrese de que el software esté funcionando correctamente. Es decir, se debe probar la aplicación que ahora está dentro de la VM. Si se trata de software pesado, incluso en la fase inicial, se recomienda seguir la siguiente metodología: ejecutar una máquina virtual en un servidor ESXi, reservando los recursos del procesador y la memoria. Luego inicie las pruebas para determinar el rendimiento y la operatividad e ingrese los resultados en la línea de base. También evalúa el rendimiento de la aplicación en una arquitectura específica en ausencia de cargas de trabajo.

Después de recopilar las estadísticas sobre máquinas virtuales y aplicaciones, se crean condiciones cercanas a las condiciones de trabajo: se agregan varias máquinas virtuales adicionales al host, formando una carga adicional. Además, cada máquina virtual usa el procesador y los recursos de memoria asignados. Ahora que la carga ha aumentado, vuelven a ejecutar la prueba de rendimiento y comparan los resultados con la línea de base existente. En esta etapa, es importante comprender si los indicadores de desempeño están disminuyendo y en qué medida. Si, con una carga aumentada, las aplicaciones funcionan normalmente y, aunque el rendimiento ha disminuido, pero es suficiente para que los servicios funcionen, la cantidad de VM puede seguir aumentando. Pero esto debe hacerse con cuidado, monitoreando constantemente la distribución de recursos.

Funcionalidad de configuración de la máquina virtual

Funcionalidad de configuración de la máquina virtual

Al configurar máquinas virtuales en un entorno VMware, debe prestar atención a parámetros como la cantidad de procesadores virtuales. Es deseable que este indicador no sea superior a 8. También es importante entender que si una máquina virtual usa más núcleos y más memoria que un procesador, entonces se accede a la memoria de otro procesador, por lo que el rendimiento disminuye, ya que tal proceso es lento … Esto se debe a una arquitectura de acceso a memoria no uniforme o NUMA.

Arquitectura NUMA. Tenga en cuenta que la mayoría de los procesadores modernos pertenecen a representantes de la arquitectura NUMA, donde cada CPU tiene su propia memoria local. En este caso, la CPU y la RAM se combinan en un nodo NUMA. Por tanto, el sistema operativo de la máquina virtual utiliza la memoria local del procesador y, si no es suficiente, accede a la memoria remota de otro nodo NUMA. Es importante comprender que acceder a la RAM local es más rápido que acceder a la RAM remota.

Un escenario en el que una máquina virtual se une a un nodo NUMA físico y usa memoria local es ideal. Pero si necesita crear una máquina virtual que exceda físicamente el tamaño del nodo NUMA, debe prestar atención a la correspondencia entre NUMA física y virtual. También es útil utilizar la opción de núcleo por conector. Al proporcionar una máquina virtual con varios procesadores virtuales, puede definir opciones para mostrarlos dentro de la VM: como una CPU con una gran cantidad de núcleos, varios procesadores de un solo núcleo u otras combinaciones.

Si toda la máquina virtual cabe en un nodo físico NUMA, los núcleos por socket no tienen ningún impacto en el rendimiento. Si la aplicación tiene un límite en la cantidad de procesadores, esta métrica debe usarse para que el software acceda a las CPU disponibles.

Para mayor claridad, considere un ejemplo en el que una empresa está migrando una base de datos de SQL Server 2012 Standard a la nube utilizando el modelo IaaS. Esta base de datos tiene un límite de uso de socket de procesador, por defecto de 4. Por lo tanto, si una VM necesita 32 procesadores virtuales o 32 subprocesos de ejecución, se puede utilizar una combinación de 4 sockets con 8 núcleos.

Matices de trabajar con Hot Add

¿Qué hacer si los recursos de la máquina virtual en algún momento se vuelven insuficientes y las aplicaciones o la VM no se pueden detener? La opción Hot Add viene al rescate, permitiéndole agregar recursos de procesador y memoria sobre la marcha. Es importante comprender que Processor Hot Add, denominado en la configuración de VM como Hot Plug, deshabilita vNUMA.

Configurar la opción CPU Hot Add

Configurar la opción CPU Hot Add

En consecuencia, una máquina con la opción CPU Hot Add habilitada no verá la separación de los nodos NUMA y la memoria libre del sistema operativo se tratará como un solo espacio plano. Tenga en cuenta que este escenario no es adecuado para todas las aplicaciones. Por lo tanto, el uso de Hot Add en el procesador no siempre es ventajoso.

Características del enfoque Scale UP, Scale OUT

Características del enfoque Scale UP, Scale OUT

Al pasar a un sitio virtual, la mayoría de las empresas siguen el camino de menor resistencia: desde un host físico intensivo en recursos, en el que, por ejemplo, había una gran cantidad de bases de datos, transfieren contenido, colocando la base de datos dentro de una máquina virtual. Y si necesita aumentar los recursos, el administrador agrega potencia de cómputo adicional a la VM existente: aumenta la cantidad de memoria y la cantidad de procesadores. Este mecanismo es una variante del escalado vertical, o Scale UP, que se describe con más detalle en el artículo Centro de datos virtual.

En el caso de Escalar horizontalmente, o escalar horizontalmente, se agregan nuevos recursos a la infraestructura, por ejemplo, se aumenta la cantidad de máquinas virtuales en un clúster. Por lo tanto, la ventaja del enfoque rápido es que si una unidad falla, esto no afecta la integridad de la infraestructura.

Gestión de la memoria

Gestión de la memoria

Al configurar la memoria y asignar espacio entre máquinas virtuales, no olvide el host físico. Además de la RAM utilizada por las VM, el nodo físico también necesita recursos. Por lo tanto, se asignan algunos gigabytes adicionales para el servidor y este volumen no se utiliza al crear máquinas virtuales.

Un ejemplo de cómo no utilizar la RAM. En un nodo físico con 120 GB de memoria y dos procesadores de 8 núcleos, decidimos implementar cuatro máquinas virtuales, cada una con 32 GB de RAM y 8 núcleos de CPU. En tal escenario, la cantidad total de memoria requerida para las máquinas virtuales excede los tamaños de host disponibles. En la práctica, es mejor no utilizar este enfoque. Y aunque esta configuración comenzará en VMware ESXi, el rendimiento estará lejos de ser óptimo. Por lo tanto, antes de crear máquinas virtuales, decida cuánta memoria necesita asignar para el host.

Conclusión

Prestando atención a la configuración específica de las máquinas virtuales en la nube IaaS de un proveedor de servicios, recuerda: el resultado final depende de la estrategia elegida. Debido a que los requisitos de infraestructura de diferentes empresas pueden variar mucho, debe utilizar la opción de configuración lo más cerca posible de los requisitos de su organización.