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

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 это возможно, но они все еще находятся в разработке»

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

Ответы:

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

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

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

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

Джон
источник
7

То, что вы хотите сделать, возможно, просто не очень практично с точки зрения производительности.

user9517
источник
2
Кратко, точно
6

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

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

JamesBarnett
источник
3

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

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

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

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

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

dyasny
источник
Неправда. Это очень возможно и было с 2008 года или около того. Ссылка: linux-kvm.com/content/kvm-nested-virtualization-works
wzzrd
1
да, с очень специфическими наборами инструкций ЦП, а также рядом с производственными или серьезными средами тестирования. T / S хочет протестировать сетевые конфигурации и сервисы, а не дополнительные гипервизоры, так зачем все усложнять? Тем более что стандартные инструменты управления. Вы правы, потому что kvm в kvm может работать, при определенных условиях, это была моя ошибка, но ответить на оригинальный вопрос - это не лучшая идея для любого гипервизора
dyasny
«Это не лучшая идея для любого гипервизора»: сейчас это правда :) здесь, есть upvote :)
wzzrd
LOL, не то, чтобы голосование было так важно :)
dyasny
0

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

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

erickzetta
источник
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 раза каждый день)

portforwardpodcast
источник
-1

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

Джон Гарденье
источник
На самом деле, некоторые разработчики KVM считают, что это имеет смысл: в списке рассылки разработчиков KVM есть этот поток с патчем для поддержки вложенной виртуализации. Я думаю, что разработчики кажутся довольно счастливыми, если вы продолжите читать некоторые ответы.
КайМагнус
Разработчик без KVM, которому нравится вложенная виртуализация: «Еще одно применение - иметь несколько виртуализированных сетей на одной машине. Каждая сеть имеет свою конфигурацию хостов. Я ждал этого». ( Отсюда .)
КайМагнус
@KajMagnus, просто потому, что люди хотят этого, не значит, что это имеет смысл. Некоторые люди просто не видят леса для леса.
Джон Гарденье
Имеет смысл для тестирования сценариев. Хотите развернуть тестовое развертывание гипервизора, просто чтобы увидеть, как конкретная функция ведет себя в новой версии? Раскрути ВМ. Вы правы в том, что он не слишком полезен для конкретного использования ОП.
Крис Торп
Ребята из IBM VM делали это все время при разработке новых версий VM. Там есть отличная статья (например, стр. 28), если вам интересно.
деление