31 votos

¿Es posible configurar una máquina virtual dentro de otra máquina virtual?

Últimamente he estado jugando con máquinas virtuales, y me preguntaba si podría ejecutar una máquina virtual dentro de otra máquina virtual.
¿Es esto posible?
¿Es práctico?

3 votos

Una razón práctica es si alquilas un servidor. Que el servidor sea físico o virtual no debería importar: es mi servidor. Y si quiero instalar VirtualPC o Virtual Server en mi servidor: eso es cosa mía.

2 votos

Esa no es realmente una razón práctica, ya que la "practicidad" de instalar una VM dentro de una VM va a depender en última instancia de si es "práctico" implementar esta capacidad en la plataforma HW+SW elegida. El hecho de que alguien "quiera" hacerlo no lo convierte en algo práctico.

1 votos

Para quien se pregunte por qué uno podría querer hacer esto, aquí está mi razón, aunque admito que no es una razón del "mundo real" y que no se me ocurre ninguna de esas. Estoy estudiando para el examen RHCSA pero no tengo acceso a un sistema con virtualización de hardware. Por lo tanto, esperaba lograr esto en una máquina virtual RHEL corriendo como una instancia de Amazon AWS. Dado que la máquina de AWS es (casi seguro) una máquina virtual en sí misma, ejecutar KVM en ella requeriría VMs anidadas.

27voto

Erowlin Puntos 121

Anidar VMs es algo que se ha hecho desde siempre en el hardware de IBM Mainframe. Ese hardware hace muchas cosas para que el proceso sea muy, muy eficiente. Puedes tener VMs anidadas a una profundidad arbitraria y funciona muy bien.

El hardware de los PCs ha hecho que esto apenas sea posible recientemente. A documento en el sitio web de VMware lo discute, pero lo esencial es que puedes tener VMs anidadas a 2 niveles, pero sólo en hardware muy moderno que soporte la verdadera virtualización de hardware (VT-x o AMD-V), y la segunda profundidad de VM debe estar ejecutando el estilo más antiguo de virtualización BT/de traducción binaria. También hay severas restricciones en los monitores virtuales que puedes ejecutar en el huésped interno.

No hace falta decir que no está soportado y que esperaría que fuera realmente escandaloso si haces algo remotamente extraño (como Hyper-V bajo ESX). Y el rendimiento no será bueno, independientemente de si es estable.

2 votos

Ese documento ha cambiado significativamente desde que se escribió, al igual que el estado de la técnica. Esta respuesta, tal como fue escrita, no es realmente aplicable hoy en día. Considere la posibilidad de actualizarla.

1 votos

@MichaelHampton Tus comentarios son muy escépticos y suenan optimistas; ¿podrías proporcionar una respuesta actualizada o un enlace a una?

0 votos

Aquí hay un enlace a un fedora-wiki página en la que se describe cómo habilitar virt anidada en KVM .

2voto

Sí se puede. Por ejemplo, en Linux, puede ejecutar Xen con múltiples VMs que ejecuten OpenVZ, VirtualServer o algún otro tipo de sistema VM. Es ciertamente posible y también muy práctico dependiendo de su propósito.

Una de las razones que se me ocurren para hacer esto es ejecutar varios servidores en una sola máquina física. Si lo ejecuta como un solo nivel de jerarquía de VM o múltiples depende de su plan de aislamiento de recursos.

1voto

baumgart Puntos 1504

No creo que la mayoría de los paquetes de virtualización te permitan ejecutar una VM en una VM. Sé que VMware comprobará cuando se instala para ver si se está instalando en una VM, y espero que otros productos hagan lo mismo. No creo que las instrucciones necesarias de la CPU se presenten a través del hipervisor que se ejecuta en el hardware a través de la VM para llegar a la segunda VM. Si funcionara, también estarías añadiendo sobrecarga sin obtener nada a cambio.

En cuanto a si es práctico, no veo por qué. Si necesitas otra VM, puedes ejecutarla junto a la que ya tienes en marcha. No puedo imaginar un caso en el que debas tener una VM corriendo dentro de otra VM. La sobrecarga adicional sin una ganancia proporcional de algún recurso lo haría poco práctico.

1voto

Jeremy Puntos 1287

Sí. Incluso hay formas de ejecutar VMware ESX/vSphere en una máquina virtual. No sé por qué querrías hacerlo en la práctica, pero se ha hecho.

0 votos

He visto gente que quiere probar ESX en una VM, pero la instalación requiere un trabajo adicional más allá del método de instalación normal. No es algo que funcione de forma inmediata.

1voto

Mat Nadrofsky Puntos 173

Sí, se PUEDE, pero como tantas cosas no significa que se deba. He visto un servidor ESX virtualizado ejecutando una máquina virtual que tiene otro servidor ESX virtual dentro de él. Por supuesto que era una prueba para ver si se podía hacer (y se puede) yo realmente no lo recomendaría.

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: