Виртуализация: Гость в госте?


9

Имеет ли смысл запускать виртуальную машину с «главным» гостем,
а в этом главном госте запускается много других гостей?

Кто-нибудь проверял это? Это вообще возможно?
Есть ли лучшие способы для достижения моих целей? (Продолжаемый читать.)
(Я гуглил для "гостя в госте" и ничего не нашел)

Что я хочу сделать : я хотел бы настроить и протестировать различные виртуальные сети с серверами баз данных и приложений, а также протестировать различные брандмауэры, DNS-сервер, конфигурации серверов баз данных и т. Д.

Я мог бы сделать это, запустив гостей прямо на моем хост-компьютере, но тогда мне может понадобиться изменить конфигурацию сети на моем хосте (например, настроить dnsmasq ?), В зависимости от того, какую сетевую настройку я собираюсь протестировать. Я также должен был бы начать каждого гостя индивидуально. Принимая во внимание, что если все гости работают внутри главного гостя, тогда я могу настроить сеть на этом главном госте, и мне нужно только запустить и остановить этого главного гостя и сделать его снимки, чтобы неявно запускать, останавливать и снимать все гости, работающие в нем. ,

(У меня было бы много главных гостей, вероятно, только один работает за раз.)

Я использую Ubuntu 11.4 и KVM, с поддержкой аппаратной виртуализации (AMD-V).
Как вы думаете, выиграют ли гости в гостях от виртуализации?

Обновление : я должен был гуглить для «Вложенной виртуализации», а не «гости в гостях». Теперь я нахожу множество ссылок :-) Например, этот пример фактической миграции работающей виртуальной машины с хост-машины на хост с вложенной виртуальной машиной: VMotion с физического ESX 4 на виртуальный ESX 4
Вы ответили, спасибо за упоминание «Вложенной виртуализации»: - )

Обновление : информация о производительности для процессоров AMD, начиная с 2008 года : [...] до настоящего времени, когда kvm виртуализирует процессор, гость видит процессор, который похож на хост-процессор, но не имеет расширений виртуализации. Это означает, что вы не можете запустить гипервизор, которому нужны эти расширения виртуализации, в гостевой системе (вы по-прежнему можете запускать гипервизоры, которые не используют эти расширения, такие как VMware, но с более низкой производительностью). С новыми исправлениями виртуализированный процессор включает в себя расширения виртуализации; это означает, что гость может запустить гипервизор, включая kvm, и иметь своих гостей. (спасибо "wzzrd")

Обновление : Информация о производительности процессоров Intel, начиная с 2011 года : «В текущей версии kvm в репозиториях Ubuntu нет поддержки для вложенной виртуализации с Intel vmx. С новейшими патчами для kvm это возможно, но они все еще находятся в разработке»


3
Держите волчок под рукой.
— Недм

Вложенная виртуализация возможна, но вы удваиваете потери производительности, связанные с ЦП, тратите ОЗУ, потому что в конфигурациях по умолчанию и хост, и главный, и гостевой гости будут кешировать одни и те же данные несколько раз, а производительность ввода-вывода будет катастрофической. для данных, которые не были кэшированы.
— Андре Бори

Ответы:


3
  1. Это возможно, читайте больше здесь - http://blog.jasonruiz.com/2011/01/24/kvm-nested-virtualization-support/

  2. текущая цель вложенного вирта - тестирование, но я думаю, что это означает тестирование гипервизоров, а не баз данных, DNS и т. д.

Я думаю, что для тестирования таких сервисов подойдет «нормальная» виртуализация.

у вас может быть несколько разных виртуальных сетей с разными службами dhcp / dns / routing.



6

ESXi может виртуализировать себя. Таким образом, вы можете запускать ESXi в качестве гостя на ESXi (или ESX в этом отношении).введите описание изображения здесь

Направления найдены здесь


3

Я не знаю о других гипервизорах, но это определенно возможно с ESX / i, как обсуждалось здесь . Кроме того , это, безусловно , не возможно с помощью Hyper-V, как описано здесь .

Тем не менее, там, где это возможно, это абсолютно не поддерживается, а также совершенно бесполезно, если только не для целей тестирования. Я лично сделал это с ESX для тестирования кластера VMware, для которого требовалось как минимум два хоста ESX, машина Виртуального центра и некоторое общее хранилище; На тот момент у меня не было ни одного сервера, ни какого-либо «реального» хранилища, поэтому я использовал виртуальные хосты ESX с общим виртуальным диском (как я бы это делал для тестирования кластера Microsoft). Это сработало, и это было не так уж плохо на производительности. Но я не могу думать ни о какой причине в мире, чтобы использовать этот тип установки в производственной среде.


1
Это был интересный пример. Я бы использовал вложенные виртуальные машины для тестирования, как и вы, а не для производства.
— КайМагнус

0

KVM в KVM не будет работать, хотя внутренние гости могут работать на чистом QEMU в режиме эмуляции.

Я бы оставил виртуальные машины на одном хосте, не усложняя


Неправда. Это очень возможно и было с 2008 года или около того. Ссылка: linux-kvm.com/content/kvm-nested-virtualization-works
— wzzrd

1
да, с очень специфическими наборами инструкций ЦП, а также рядом с производственными или серьезными средами тестирования. T / S хочет протестировать сетевые конфигурации и сервисы, а не дополнительные гипервизоры, так зачем все усложнять? Тем более что стандартные инструменты управления. Вы правы, потому что kvm в kvm может работать, при определенных условиях, это была моя ошибка, но ответить на оригинальный вопрос - это не лучшая идея для любого гипервизора
— dyasny

«Это не лучшая идея для любого гипервизора»: сейчас это правда :) здесь, есть upvote :)
— wzzrd

LOL, не то, чтобы голосование было так важно :)
— dyasny

0

KVM, вероятно, не лучший вариант для ваших целей, вы должны попробовать Virtualbox.

С Virtualbox вы можете создать виртуальную машину внутри виртуальной машины, а сетевые инструменты очень удобны.


1
Мусор. KVM хватит отлично.
— wzzrd

@wzzrd Я не говорил, что KVM недостаточно. Я сказал, что Virtualbox может быть лучшим вариантом, в этом случае, поскольку это сложная конфигурация.
— erickzetta

На самом деле, мне нравится настраивать виртуальные virsh
— машины


поддержка VMX, трансляция адресов второго уровня (SLAT), para-ops, вложенные страницы, машины на машинах - эта функция была представлена ​​еще в версии 2.0 VirtualBox. virtualbox.org/wiki/Changelog-2.0
— Бент Кардан

0

Вы проверили XenServer? Новая бета-версия называется «XenServer boston» Подробнее об этом здесь:

http://blogs.citrix.com/2011/05/18/xenserver-boston-beta-program/

В заметках о выпуске вы увидите следующее:

Поддержка виртуальных устройств. В XenCenter вы можете создавать виртуальные устройства с несколькими виртуальными машинами (vApps) со связями между виртуальными машинами для использования с последовательностью загрузки во время восстановления сайта. vApps можно легко импортировать и экспортировать с использованием стандарта OpenVVIS (OVF).

Используя эту функцию в сочетании с Virtual Lans, вы сможете выполнить то, что вы хотите. Я не уверен, но я верю, что вы также можете создать моментальный снимок всех виртуальных устройств в виртуальном устройстве.

Пожалуйста, дайте мне знать, если у вас есть дополнительные вопросы о XenServer (я использую его 2 раза каждый день)


-1

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


На самом деле, некоторые разработчики KVM считают, что это имеет смысл: в списке рассылки разработчиков KVM есть этот поток с патчем для поддержки вложенной виртуализации. Я думаю, что разработчики кажутся довольно счастливыми, если вы продолжите читать некоторые ответы.
— КайМагнус

Разработчик без KVM, которому нравится вложенная виртуализация: «Еще одно применение - иметь несколько виртуализированных сетей на одной машине. Каждая сеть имеет свою конфигурацию хостов. Я ждал этого». ( Отсюда .)
— КайМагнус

@KajMagnus, просто потому, что люди хотят этого, не значит, что это имеет смысл. Некоторые люди просто не видят леса для леса.
— Джон Гарденье

Имеет смысл для тестирования сценариев. Хотите развернуть тестовое развертывание гипервизора, просто чтобы увидеть, как конкретная функция ведет себя в новой версии? Раскрути ВМ. Вы правы в том, что он не слишком полезен для конкретного использования ОП.
— Крис Торп

Ребята из IBM VM делали это все время при разработке новых версий VM. Там есть отличная статья (например, стр. 28), если вам интересно.
— деление
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.