Pregunta:
Estoy buscando actualizar uno de nuestros servidores, un servidor de 8 núcleos que ejecuta VMware Server 2. Las máquinas virtuales que ejecuta son principalmente servidores web, de archivos y de correo electrónico; específicamente, ejecuta tres servidores web, 2 servidores de correo electrónico / archivos y algunos servidores Jabber / XMPP.
Cuando configuramos originalmente esta máquina, teníamos los dos servidores web configurados con dos vCPU. Tuvimos algunos problemas de rendimiento muy graves . En ese momento, solo estábamos ejecutando 3 VM con un total de 5 vCPU. También estábamos ejecutando VMware Server 1 y RAID1 . ¡Ahora nos hemos actualizado a RAID10 y nunca consideraría nada menos! 🙂
El nuevo servidor tendrá VMware ESXi en lugar de VMware Server. Estamos buscando otra máquina de 8 núcleos con procesadores más rápidos o un servidor de 16 o 32 núcleos. Quiero asegurarme de evitar los problemas que tuvimos antes.
Debido a que tuve tales problemas con varias vCPU antes, mi plan era reemplazar la máquina virtual del servidor web principal con varias máquinas virtuales de servidor web idénticas (2 – 4), cada una con una sola vCPU, que ofrecía contenido desde un recurso compartido de NFS y las colocaba en una carga. -configuración equilibrada. Así que básicamente reemplazaría una máquina virtual con al menos 4: 2 máquinas virtuales de servidor web pequeñas, una máquina virtual de servidor de archivos y una máquina virtual de equilibrio de carga. Mi plan aquí es doble: primero, puedo evitar múltiples usos de CPU virtuales que vi antes y, en segundo lugar, puedo generar nuevas máquinas virtuales de servidor web para manejar una mayor carga.
Tenga en cuenta que comprendo que no obtengo todos los beneficios del equilibrio de carga porque todavía tengo un solo punto de falla .
¿Es este un buen plan o es innecesario? ¿VMware ESXi puede manejar múltiples CPU virtuales mejor que VMware Server 1 hace más de tres años? ¿Cuál funcionará mejor, una única máquina virtual de servidor web grande con 2 a 4 vCPU o 4 máquinas virtuales con una sola vCPU, en una configuración de carga equilibrada?
Respuesta:
¿VMware ESXi puede manejar múltiples CPU virtuales mejor que VMware Server 1 hace más de tres años?
Sí, son líneas de productos totalmente independientes y ESXi puede manejar muy bien varias vCPU. Estoy ejecutando una granja de vmware de 5 nodos en este momento con una combinación de máquinas en cada caja, cada una con 1, 2 y, en algunos casos, 4 procesadores según sea necesario y funciona muy bien.
¿Cuál funcionará mejor, una única máquina virtual de servidor web grande con 2 a 4 vCPU o 4 máquinas virtuales con una sola vCPU, en una configuración de carga equilibrada?
Eso es menos una pregunta de VMWare y más una pregunta de prueba de aplicaciones / sitios web. VMWare (o cualquier otra máquina virtual bare metal moderna) puede funcionar de cualquier manera: puede haber un costo por tener muchas CPU virtuales conectadas a un invitado, pero esto podría compensarse con los costos de recursos de tener varios invitados en ejecución y por problemas de rendimiento (o mejoras, para el caso) su aplicación web podría realizar desde un enfoque más distribuido.
En ese último tema, es realmente una cuestión de pruebas y preferencias arquitectónicas en lugar de la única forma verdadera, pero mi sensación general es que si puede distribuir la aplicación en más de una máquina virtual fácilmente, es mejor construir algunas máquinas virtuales más pequeñas. que uno grande. Le brinda más flexibilidad y ayuda al rendimiento a largo plazo, ya que puede mover las cosas si es necesario. En otras palabras, escalar hacia afuera en lugar de hacia arriba
Con las máquinas físicas, creo que pensamos en escalar hacia arriba, poniendo tanto en una "instancia" de sistema operativo como sea posible para aprovechar al máximo el costo de la licencia y del hardware, pero con las máquinas virtuales esas ecuaciones cambian un poco, si puede obtener más de una instancia de SO virtual por el precio de una licencia, entonces esto podría cambiar la forma en que está diseñada la infraestructura de su servidor.
editar
http://blog.peacon.co.uk/understanding-the-vcpu/ es un artículo que Iain mencionó al discutir esta pregunta en el chat que explica con cierto detalle por qué es importante pensar en la asignación de vCPU al crear sus VM.