¿Cuál es la mayor cantidad de máquinas virtuales que ha visto en un servidor host o en el host?

Primero, te daré la respuesta aburrida. 16. Porque la mayoría de las veces estás usando la virtualización para HACER ALGO. Entonces, si bien podría encender una VM con 1 MB de memoria compartiendo un núcleo con otras 2 VM, no tiene sentido hacerlo.

Entonces, en cambio, veamos cuántas máquinas virtuales concurrentes podría ejecutar hipotéticamente en un servidor moderno. Esto supone que estamos tratando con una configuración de hipervisor tradicional y no con algo como LXC (contenedores de Linux) que complicaría aún más el problema.

Consideremos las posibles limitaciones entonces. Primero, memoria.

Si nos atenemos a la memoria física, su límite será la cantidad de RAM que puede pegar en un solo servidor, ya que todos los hipervisores modernos requieren memoria dedicada para cada VM en ejecución. (El uso compartido de memoria ha estado disponible como una función de “prueba” en algunos hipervisores por un tiempo, pero no conozco ningún uso de producción) Si tiene un servidor con 256 GB de RAM y ejecuta un montón de pequeñas máquinas virtuales que usan 64 MB cada una, teóricamente, podría acumular hasta 4096 máquinas virtuales en ese espacio. Por supuesto, necesitaría dejar algo de memoria disponible para el host, así que saquemos 2 GB para estar en el lado seguro, por lo que tiene 4064 VM.

Para complicar aún más el problema, también puede usar el intercambio para proporcionar memoria para las máquinas virtuales, en cuyo caso puede tener una cantidad virtualmente ilimitada de memoria disponible, pero será increíblemente lenta y la carga de E / S triturará todo el sistema pararse

Pero supongamos que puede proporcionar una cantidad infinita de memoria física rápida a un servidor, o al menos cambiar eso tan rápido que se convierte en un reemplazo adecuado para la memoria física. E incluso pretendamos que los problemas de concurrencia de E / S de alguna manera también desaparezcan mágicamente. ¿Pero qué hay de la CPU?

Todos los hipervisores que conozco brindan cierto grado de división de tiempo para permitirle ejecutar más de una VM por núcleo disponible, por lo que pensaría que esto solo sería un problema de la velocidad de la CPU. Desafortunadamente, la programación es una bestia mucho más complicada. Cuantas más cosas necesite programar, más complejo será el proceso de programación, hasta el punto en que cada núcleo gastará todo su tiempo en programar segmentos de tiempo, y no tendrá tiempo para dedicar tiempo a ninguna VM.

Afortunadamente, no tenemos que gravar demasiado nuestros cerebros para obtener una estimación aquí. Debido a la sobrecarga de programación (entre otros problemas), ejecutar más de 2-3 máquinas virtuales por núcleo es una muy mala idea (dado el estado actual de los planificadores al menos). Supongamos que tiene un servidor de gama alta que utiliza un Xeon E7 de 15 núcleos (que admite hasta 4 sockets), por lo que tiene un total de 60 núcleos disponibles. Teóricamente, podrías disparar en algún lugar cerca de 180 máquinas virtuales en ese tipo de máquina. Entonces, suponiendo que tenga suficiente memoria disponible y que las E / S no se conviertan en un problema (que estoy seguro sucedería mucho antes de la marca de 180), llamaría a 180 máquinas virtuales en un host moderno posible, y tal vez incluso acercándose razonable.

Por supuesto, todo esto supone los hipervisores tradicionales en el hardware del servidor tradicional. Si comienza a buscar soluciones personalizadas que se ejecutan en blades o algún tipo de configuración de supercomputadora, probablemente podría superar la cifra de 180. Y luego también tendría que considerar si un chasis blade todavía califica como “host” o no, porque técnicamente está ejecutando una gran cantidad de hosts pequeños.

Así que digamos que es bueno y digamos que actualmente está en el vecindario de aproximadamente 180 máquinas virtuales en una sola máquina.

~ 550.
500-505 fueron PV.
El resto fueron HVM.

Servidor: Intel Xeon e7 (10 núcleos * 8 sockets), 2TB ECC RAM.
– los números son de memoria, podrían estar desactivados por algunos.

More Interesting

¿Qué necesito para una gran red social? ¿Qué hay detrás del código?

¿Qué especificación de servidor debo elegir para un equilibrador de carga basado en ngnix o HAProxy?

Quiero usar un host como prgmr, pero nunca antes había administrado mi propio servidor. ¿Dónde empiezo?

¿Cuál es el mejor servidor en la nube escalable?

¿Cuál es la cantidad promedio de RAM tomada por apache2 + django + mod_wsgi?

¿Cuál es la diferencia entre servicio web, servidor web, servidor web y cliente web?

¿Cuáles son las mayores diferencias entre los servidores web, los servidores domésticos y los servidores de red de pequeñas empresas?

Servidores: Si tuviera que comenzar a construir un sitio web de php hoy (verano de 2012) que espera que gane una comunidad grande y activa, ¿hay alguna razón por la que usaría Apache en lugar de Nginx?

¿Cómo se conectan los servidores a internet?

¿Cuál es la mejor manera de configurar la rotación de registros en un servidor Ubuntu?

Robert Cezar Matei: ¿Cuál es, según su experiencia, el servicio de alojamiento RubyOnRails más rentable y confiable, que brinda un gran soporte, accesibilidad administrativa (SSH, etc.) y la facilidad para cambiar planes y escalar con el crecimiento? site5, lunarpages, dreamhost, hostmonster, slicehost, linode, hostingrails, engineyard, railsplayground, a2hosting, otro?

¿Cuáles son algunas buenas sugerencias para apilar computadoras portátiles en una matriz de servidores?

Cómo hacer un servidor CS 1.6 en un rastreador de juegos

¿Qué es un servidor? ¿Por qué los sitios web de alto tráfico necesitan más de 1 servidor?

¿Cuál es la mejor manera de implementar una base de datos y un servidor diferentes para cada prueba en su conjunto de pruebas?