Virtualización dual versus arranque dual versus virtualización única

Virtualización dual versus arranque dual versus virtualización única

Un amigo mío sugirió recientemente algo que me intrigó: en el caso de necesitar múltiples sistemas operativos simultáneamente, en lugar de un arranque dual o usar múltiples computadoras, se podría usar un host de bajo nivel que consumiera efectivamente cero recursos y que albergaría dos sistemas virtuales. . Tendría la ventaja de dividir los recursos de la computadora de manera uniforme entre los sistemas y la opción de usar solo un sistema a la vez. Como ejemplo:

Arranque dual:

    Computer
       |
    --------
    |      |
Windows  Linux

Virtualización única:

    Computer
       |
     Linux
       |      
    Windows

Virtualización dual:

    Computer
       |
      Host
       |
    --------
    |      |
Windows  Linux

El problema con el arranque dual es que sólo puedes usar un sistema operativo a la vez, y el problema con la virtualización única es que no puedes usar Windows a menos que Linux esté activado.

Esta idea de doble virtualizaciónparecepara resolver el problema, pero me pregunto por qué nunca había oído hablar de él antes.

¿Existe algún inconveniente grave en esta idea? ¿Cuáles son los pros y los contras?

La única desventaja real que se me ocurrió fue el rendimiento, que a veces puede ser importante, pero como ejemplo: mi próximo portátil admitirá 16 GB de RAM, por lo que cada sistema podría obtener un poco menos de 8 GB de RAM, más que suficiente.

Respuesta1

El problema es que su "host" está lejos de ser uno que consumiría cero recursos y es esencialmente un sistema operativo en sí mismo. Sería mejor que instalara una pequeña distribución de Linux, que esencialmente actuara como un "sistema operativo host" y ejecutara ambos sistemas operativos necesarios a la vez.

El problema con un host de sistema operativo discreto esgestión de recursos.

¿Quién decide qué sistema operativo obtiene qué pieza de hardware y en qué momento? ¿Quién gestiona la prioridad del sistema operativo? ¿Quién gestiona quién obtiene qué parte de la memoria en el espacio de direcciones? ¿Quién es responsable de gestionar el uso de la CPU entre los sistemas operativos? ¿Cómo se maneja la sincronización de lectura/escritura de dispositivos de almacenamiento entre sistemas operativos?

La única forma real de hacerlo es hacer algo como esto:

    Computer
       |
  Linux/Windows
       |
    --------
    |      |
Windows  Linux

Aunque si llega tan lejos, es mejor simplemente usar el sistema operativo host en lugar de virtualizarse (es decir, si usa un host Windows, virtualice Linux y viceversa).

Respuesta2

Lo que estás describiendo suena como unhipervisor. VMWare y Microsoft ofrecen hipervisores ligeros que hacen poco más que ofrecer servicios de virtualización. También cuando se ejecuta Windows Server 2008 (y 08R2 y ahora Windows 8 Servery cliente), puede instalar Hyper-V, que aún coloca un hipervisor debajo del sistema operativo "host". Desde el punto de vista de la administración, aún debe ejecutar Windows, pero técnicamente Windows es solo un invitado del hipervisor.

Los hipervisores solo funcionan en hardware que tiene habilitada la asistencia de virtualización. Aunque todos los procesadores actuales (Intel y AMD) admiten la virtualización de hardware, algunas computadoras portátiles y de escritorio de gama baja no habilitan esta característica (como medio de segmentación del mercado).

Según tengo entendido, el hipervisor VMWare ocupa el menor espacio, pero cuesta más que Hyper-V, que es gratuito suponiendo que ya tenga una licencia de Windows.

Otra alternativa es utilizar Virtual Box u otro sistema de virtualización que aproveche la virtualización de hardware pero que aún se ejecute dentro de un sistema operativo host.

Respuesta3

El problema de tener virtualizados ambos sistemas operativos invitados es que aún se necesita un sistema operativo para alojar la virtualización. Esto no puede ser así con un sistema operativo especial (VMWare ESXi, por ejemplo), pero los componentes conectados a esa computadora estarían conectados directamente al sistema operativo host y no a sus máquinas virtuales. Como resultado, tendrá que conectarse a los sistemas operativos invitados de forma remota mediante Terminal Services o SSH, porque la pantalla, el teclado y el mouse están conectados al sistema operativo host.

La virtualización de esta manera sólo es realmente útil en un servidor que no está diseñado para usarse también como estación de trabajo.

Si le preocupan las limitaciones del arranque dual y utiliza un sistema operativo más que el otro, entonces el host debería ser el sistema operativo que utiliza con más frecuencia. Por ejemplo, si usa Windows más, instale el software de virtualización en Windows e instale Linux como sistema operativo invitado.

EDITAR:Me equivoco al decir que debes conectarte de forma remota. Microsoft Hyper-V es un ejemplo de una solución que le permite controlar su sistema operativo invitado desde el host, pero creo que su soporte para otros sistemas operativos es limitado y no es fácil de configurar.

información relacionada