Каковы преимущества виртуальной машины с гипервизором?
Я изучаю использование виртуальных машин для размещения нескольких операционных систем, и я смотрю на свободные решения, которых существует много. Меня смущает, что такое гипервизор и почему он отличается или лучше, чем "стандартная" виртуальная машина. Когда я имею в виду стандарт, я собираюсь использовать эталонную виртуальную машину VMWare Server 2.0.
Для двухъядерной системы с 4 ГБ оперативной памяти, которая могла бы работать максимум с 3 виртуальными машинами. Что является лучшим выбором? Гипервизор или не гипервизор и почему? Я уже читал статью в Википедии, но технические подробности выше моего понимания. Мне нужен основной ответ на то, что могут сделать для меня эти различные ароматы VM.
Мой главный вопрос касается того, как я буду проводить тестирование в нескольких средах. Меня беспокоит изоляция операционных систем, поэтому я могу тестировать приложения на нескольких операционных системах одновременно. Кроме того, какой аромат дает более близкое представление о том, как работает настоящая машина?
Я рассматриваю возможность следующее:
(гипервизор)
- Xen
- Hyper-V
(без гипервизора)
- VirtualBox
- VMWare Server 2.0
- Virtual PC 2007
*классификации виртуальных машин, которые я перечислил, могут быть неверными.
2 ответа:
Основное отличие состоит в том, что Hyper-V не работает поверх операционной системы, а вместе с системой он работает поверх тонкого слоя, называемого гипервизором. Гипервизор-это программное обеспечение виртуализации аппаратной платформы компьютера, которое позволяет нескольким операционным системам работать на главном компьютере одновременно.
Многие другие решения виртуализации используют другие методы, такие как эмуляция. Для получения более подробной информации см. Википедии.
Отказ от ответственности, все, что ниже, является (в широком смысле) моим мнением.
Полезно рассматривать монитор виртуальной машины (гипервизор) как очень маленькое микроядро. Помимо доступа к базовому оборудованию, у него очень мало задач, таких как мониторинг каналов событий и предоставление гостевым доменам доступа к определенным ресурсам .. в то же время навязывая какой-то планировщик.
Все гостевые машины полностью забывают о других, изоляция истинна. Гости не делятся памятью с другими гостями. привилегированные гости (или друг с другом). Таким образом, в данном случае вы можете (грубо говоря) думать о каждом госте (даже привилегированном) как о процессе, поскольку речь идет о VMM. Как правило, первый гость получает дополнительные привилегии, чтобы он мог управлять остальными. Это идеальная технология для использования, когда виртуальные машины запускаются в производство и демонстрируются миру.
Кроме того, некоторые гости могут быть исправлены, чтобы узнать о гипервизоре, значительно увеличивая их спектакль.
С другой стороны, у нас есть такие вещи, как VMWare и QEMU, которые полагаются на ядро хоста, чтобы дать ему доступ к голому металлу и достаточному объему памяти для существования. Они предполагают, что все гости должны быть представлены с полной машиной, ограничения, наложенные на процесс представления этих (более или менее) становятся ограничениями виртуальной машины. Я говорю более или менее, потому что device mapper QoS обычно не реализуется. Это идеальное решение для того, чтобы попробовать код в какой-то другой ОС, или какой-то другой архитектура. Многие люди будут называть QEMU, Simics или даже иногда VMWare (в зависимости от продукта) "симулятором".
Для развертывания производства я использую Xen, для тестирования чего-то, что я только что скомпилировал, я использую QEMU, Simics или VirtualBox.
Если вы просто тестируете / запускаете новый код на различных операционных системах и архитектурах, я настоятельно рекомендую #2. Если вам нужен самоанализ (то есть наблюдение за изменением гостевой памяти по мере запуска в ней плохих программ) ... Мне нужно больше объяснений. перед ответом.