máquinas virtuales idénticas con equilibrio de carga en el mismo host

máquinas virtuales idénticas con equilibrio de carga en el mismo host

Hola vaqueros y vaqueras,

Si tengo una máquina virtual (ya sea KVM o ESXi) que sirve contenido estático en Apache y una aplicación web de transmisión de video en Tomcat, ¿existe alguna lógica en ejecutar varias instancias en la misma máquina virtual en el mismo kit y equilibrar la carga? Para mí, parece conceptualmente inútil, ya que al recibir las mismas solicitudes web entrantes, simplemente compartirán los recursos que de otro modo se habrían dedicado a una sola instancia; sin embargo, puedo imaginar escenarios en los que se puede aprovechar una mayor capacidad usando 2, 3 o más. máquinas virtuales idénticas, tal vez en la línea del rendimiento de subprocesos dentro de Tomcat o cosas similares, sin embargo, cualquier motivo que se me ocurra tiende a implicar una mala codificación y un territorio de solución alternativa, no un diseño de mejores prácticas. El hardware de ejemplo aquí es una caja bastante capaz como una HP DL380 con 8 o 12 núcleos y 64 GB de RAM que sirve alrededor de 4000 conexiones de medios simultáneas, de una forma u otra.

Actualización: En términos de otros beneficios como redundancia y parches, estos no son problemas ya que es probable que este escenario se replique en hasta 100 máquinas físicas, todas con carga equilibrada.

Actualización 2: También me preocupa la capacidad de equilibrar la carga de múltiples servicios idénticos desde un LB externo. Si está monitoreando la latencia de la conexión y cosas así desde el LB, entonces debería darse el caso de que 2 máquinas virtuales: 1 con 5 conexiones, otra con 500deberíaen realidad parecen funcionar de manera idéntica ya que ambos extraen recursos del mismo grupo (sin fijación de CPU de VM, etc.). Martillar una caja también dañaría la otra, lo que haría que la distribución de las conexiones fuera realmente anormal y confusa.

Gracias

cris

Respuesta1

La única razón para hacer esto sería si (a) obtiene beneficios operativos relacionados con la aplicación de parches y similares, o (b) puede encontrar algún tipo de incapacidad de su hipervisor para asignar vCPU a CPU reales de forma lineal (es decir, 2 x Los invitados de 4 vCPU obtienen un mejor rendimiento que los invitados de 1 x 8 vCPU). Sin embargo, solo lo demostrarías a través del estrés o una carga de producción real.

Respuesta2

Dado que una máquina virtual solo puede tener una cantidad limitada de recursos (de 4 a 8 vCPU según la plataforma), si desea que los servidores web puedan acceder a todos los recursos del hardware del host, entonces sí querrá ejecutar varios invitados.

Además, si tiene varios invitados, puede desconectarlos para aplicar parches sin interrumpir el servicio a los usuarios finales.

información relacionada