Двойная виртуализация против двойной загрузки против одинарной виртуализации

Двойная виртуализация против двойной загрузки против одинарной виртуализации

Недавно один мой друг предложил нечто, что меня заинтриговало: в случае необходимости одновременной работы нескольких операционных систем вместо двойной загрузки или использования нескольких компьютеров можно использовать низкоуровневый хост, который фактически не потребляет ресурсов и размещает две виртуальные системы. Вы бы получили преимущество равномерного распределения ресурсов компьютера между системами и возможность использовать только одну систему за раз. Например:

Двойная загрузка:

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

Одиночная виртуализация:

    Computer
       |
     Linux
       |      
    Windows

Двойная виртуализация:

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

Проблема двойной загрузки в том, что вы можете использовать только одну операционную систему одновременно, а проблема одинарной виртуализации в том, что вы не можете использовать Windows, если не установлен Linux.

Эта идея двойной виртуализациикажетсярешить эту проблему, но мне интересно, почему я никогда не слышал об этом раньше.

Есть ли серьезные недостатки у этой идеи? Каковы плюсы и минусы?

Единственным реальным недостатком, который я смог вспомнить, была производительность, которая иногда может иметь значение, но вот пример: мой следующий ноутбук будет поддерживать 16 ГБ оперативной памяти, поэтому каждой системе может хватить чуть меньше 8 ГБ оперативной памяти — более чем достаточно.

решение1

Проблема в том, что ваш "хост" далек от того, чтобы потреблять ноль ресурсов, и по сути является операционной системой. Вам лучше установить небольшой дистрибутив Linux, по сути, выступающий в качестве "хостовой операционной системы", и запустить обе необходимые вам операционные системы одновременно.

Проблема с отдельным хостом ОС заключается в следующем:управление ресурсами.

Кто решает, какая ОС получает какое оборудование в какое время? Кто управляет приоритетом ОС? Кто управляет тем, кто получает какую часть памяти в адресном пространстве? Кто отвечает за управление использованием ЦП между ОС? Как вы обрабатываете синхронизацию чтения/записи устройств хранения между ОС?

Единственный реальный способ сделать это — сделать что-то вроде этого:

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

Хотя если уж заходить так далеко, то лучше просто использовать операционную систему хоста, а не виртуализировать ее (т. е. если вы используете хост Windows, виртуализируйте Linux, и наоборот).

решение2

То, что вы описываете, похоже нагипервизор. VMWare и Microsoft предоставляют тонкие гипервизоры, которые делают немного больше, чем просто предоставляют услуги виртуализации. Также при работе Windows Server 2008 (и 08R2, а теперь и Windows 8 Serverи клиент), вы можете установить hyper-v, который все еще размещает гипервизор под "хостовой" ОС. С точки зрения управления, вам все равно придется запускать Windows, но технически Windows является просто гостем для гипервизора.

Гипервизоры работают только на оборудовании, на котором включена поддержка виртуализации. Хотя все современные процессоры (intel и amd) поддерживают аппаратную виртуализацию, некоторые недорогие ноутбуки и настольные компьютеры не поддерживают эту функцию (как средство сегментации рынка).

Насколько я понимаю, гипервизор VMWare занимает меньше всего места, но стоит дороже, чем Hyper-V, который бесплатен, если у вас уже есть лицензия Windows.

Другой альтернативой является использование Virtual Box или другой системы виртуализации, которая использует преимущества аппаратной виртуализации, но по-прежнему работает в рамках хостовой ОС.

решение3

Проблема с виртуализацией обеих гостевых ОС заключается в том, что вам все равно нужна ОС для размещения виртуализации. Этого может не быть в специальной операционной системе (например, VMWare ESXi), но компоненты, подключенные к этому компьютеру, будут напрямую подключены к хостовой ОС, а не к вашим виртуальным машинам. В результате вам придется подключаться к гостевым ОС удаленно с помощью служб терминалов или SSH, поскольку экран, клавиатура и мышь подключены к хостовой ОС.

Виртуализация таким образом действительно полезна только на сервере, который не предназначен для использования в качестве рабочей станции.

Если вас беспокоят ограничения двойной загрузки и вы используете одну ОС чаще, чем другую, то хостом должна быть та ОС, которую вы используете чаще всего. Например, если вы используете Windows чаще, то установите программное обеспечение виртуализации на Windows и установите Linux в качестве гостевой ОС.

РЕДАКТИРОВАТЬ:Я не прав, когда говорю, что вам нужно подключаться удаленно. Microsoft Hyper-V — это пример решения, которое позволяет вам управлять гостевой ОС с хоста, но я думаю, что его поддержка других операционных систем ограничена, и его нелегко настроить.

Связанный контент