16 votos

Así que, ¿qué es la sobrecarga de la virtualización y cuando debería estar preocupado?

Estoy buscando buenas reglas de pulgar para entender cuando NO virtualizar una máquina.

Por ejemplo, yo sé que un totalmente dependiente de CPU del proceso con cerca de 100% de utilización no es probablemente una buena idea para virtualizar, pero hay ningún sentido en la ejecución de algo, que aprovecha la CPU la mayoría del tiempo una "cantidad considerable" (decir el 40 o 50%)?

Otro ejemplo: si yo virtualizar 1000 máquinas, incluso si son sólo ligeramente o moderadamente utilizado, probablemente sería malo para ejecutar de que todos en un host con sólo 4 núcleos.

Alguien puede resumir sugerencias acerca de la virtualización basada en la máquina de carga de trabajo o el número total de máquinas cuando se compara con los recursos de host?

Yo normalmente virtualizar en los hosts de Windows en VirtualBox o VMWare, pero estoy asumiendo que este es un bonito pregunta genérica.

16voto

Cakemox Puntos 10650

Cosas que yo nunca pondría en una máquina virtual:

  • Cualquier cosa que utiliza hardware específico que no puede ser virtualizado: generalmente los gráficos, muy pocos de hardware de los módulos de seguridad, cualquier cosa con modificado para requisitos particulares de conductores (de propósito especial de controladores de red, por ejemplo).

  • Sistemas con problemas de licencias. Algunos software de cargas por la física de la CPU o del núcleo, no importa cuán pocos se han asignado a la máquina virtual. Te gustaría recibir un golpe en una auditoría si tenía el software con licencia para un solo núcleo que se ejecuta en una máquina virtual en un 32-core server.

Cosas que me desalentaría a poner en una máquina virtual:

  • El Software que ya hace un esfuerzo para utilizar todos los recursos de hardware. Máquinas de trabajar como parte de un "big data" esfuerzo, como hadoop están típicamente diseñados para ejecutarse en el metal desnudo.

  • Nada, que va a ser afinado para hacer uso de los recursos. Cuando realmente empezar la optimización de una base de datos de VMs en disputa por los recursos realmente se va a lanzar una llave inglesa en el trabajo.

  • Algo que ya tiene un gran cuello de botella. Ya no juega bien con él mismo, no es probable que jugar bien con los demás.

Hay algunas cosas que son bastante impresionante para poner en VMs:

  • Cualquier cosa que pasa mucho tiempo inactivo. Utilidad de los ejércitos, como el correo y DNS tienen dificultades a la hora de generar la suficiente carga en hardware moderno a la orden de servidores dedicados.

  • Las aplicaciones que no escala bien (o facilidad) por su propia cuenta. Código de la herencia con bastante frecuencia cae en esta categoría. Si la aplicación no se expanda para ocupar el servidor, el uso de un montón de pequeños servidores virtuales.

  • Los proyectos/solicitudes que empiezan pequeñas, pero crecen. Es mucho más fácil para agregar recursos a una VM (así como trasladar a más nuevo, más grande hardware) como contraposición a partir de metal desnudo.

También, no estoy seguro de si están exagerando acerca de poner un gran número de máquinas virtuales en un único host, pero si usted está tratando de un gran VM:HW relación, puede que desee considerar la posibilidad de ESX, Xen, KVM en su lugar. Tendrás la tarifa mucho mejor que el uso de VMware o virtualbox en Windows.

13voto

Daniel Lopez Puntos 2176

Subsistema de disco. Esto generalmente el menos recurso compartido. La memoria, por supuesto, pero es evidente.

Subsistema de disco de las limitaciones de trabajar en ambos sentidos. Si el sistema utiliza una gran cantidad de e / s de disco, otros invitados más lento. Si este gues es en la etapa de producción es probablemente necesidades de manera rápida respuesta a las consultas web. Esto puede ser muy frustrante y también una gran razón por qué no alquilar el hardware virtual. Usted puede minimizar este problema mediante el uso de discos dedicados.

El uso de sólo 512 MB de memoria de Huéspedes pone a todos caché de disco en el host. Y es que no se dividen por igual entre los huéspedes.

No se preocupe acerca de la CPU IO. De esta manera la virtualización es muy eficiente, a menudo relacionado con múltiples procesos que se ejecutan en el mismo sistema. Yo rara vez vemos multi-xeon sistemas de ejecución de 100% de la CPU.

11voto

TomTom Puntos 38586

Buena respuesta de anttiR.

Además, tiempo sistemas críticos. Simplemente entender eso la podredumbre del centavo de Hyper-V (vm lentamente quedando atrás, todos OS modernos en do de vm que, a menudo llegar hicimos) no está jugando a buen con algunas aplicaciones críticas de momento estoy desarrollando. Además voy a usar "mucho" cpu allí y planeando conseguir una máquina 12 base sólo para esa aplicación en producción.

4voto

Bittrance Puntos 1926

Hay dos puntos para el rendimiento de la virtualización.

  • comparte cuello de botella
  • emulación

En el intercambio de los cuellos de botella, ¿quién más está en la misma hierro? Si usted es co-ubicado en un entorno virtualizado, son muy dependientes del hosting partner ser honesto con usted.

Creo que la cuestión principal para el rendimiento bruto (especialmente la interactividad) a pedir es que las partes del sistema de virtualización son emulados. Esto varía dependiendo de la instalación. De disco y de red son los típicos de los candidatos. Como regla general, la emulación duplica el rendimiento del "costo" de la realización de una acción, por lo que cualquier hardware tiempo de latencia debe ser contada doble y cualquier thruput número debe ser reducido a la mitad.

3voto

Gordan Puntos 21

En última instancia, no debería ser virtualmente cualquier carga de alto rendimiento. Los overhads de rendimiento de la virtualización no son desdeñables. Ver los resultados de mis pruebas aquí:

http://www.altechnative.net/2012/08/04/virtual-performance-Part-1-VMware/

OTOH, si lo que busca para consolidar un número de máquinas que son en su mayoría ociosas todo el tiempo, la virtualización es el camino a seguir.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: