Virtualização: Convidado no convidado?


9

Faz algum sentido executar uma máquina virtual com um convidado "mestre"
e nesse convidado mestre executar muitos outros convidados?

Alguém já testou isso? Isso é possível?
Existem maneiras melhores de alcançar meus objetivos? (Leia.)
(Procurei no Google por "convidado em convidado" e não encontrei nada)

O que eu quero fazer : gostaria de configurar e testar várias redes virtuais, com bancos de dados e servidores de aplicativos, e testar diferentes firewalls, servidores DNS, configurações de servidores de bancos de dados, etc.

Eu poderia fazer isso executando os convidados diretamente no meu computador host, mas talvez seja necessário modificar a configuração da rede no meu host (por exemplo, configurar o dnsmasq ?), Dependendo da configuração da rede que estou prestes a testar. Eu também precisaria iniciar cada convidado individualmente. Considerando que, se todos os convidados executam dentro de um convidado principal, eu posso configurar a rede nesse convidado principal e só preciso iniciar e parar esse convidado principal e tirar instantâneos dele, para iniciar e parar implicitamente todos os convidados que estiverem nele. .

(Eu teria muitos convidados principais, provavelmente apenas um de cada vez.)

Estou usando o Ubuntu 11.4 e KVM, com suporte à virtualização de hardware (AMD-V).
Você acha que os convidados se beneficiariam da virtualização?

Atualização : eu deveria ter pesquisado "Virtualização aninhada" e não "convidados no convidado". Agora encontro muitos links :-) Por exemplo, este exemplo de migração de uma VM em execução da máquina host para uma máquina virtual aninhada: VMotion do ESX 4 físico para o ESX virtual 4
Você que respondeu, obrigado por mencionar "Virtualização aninhada": - )

Atualização : Informações de desempenho, para processadores AMD, de 2008 : até [...] agora, quando o kvm virtualiza um processador, o convidado vê uma CPU que é semelhante ao processador host, mas não possui extensões de virtualização. Isso significa que você não pode executar um hipervisor que precisa dessas extensões de virtualização em um convidado (ainda é possível executar hipervisores que não dependem dessas extensões, como VMware, mas com desempenho inferior). Com os novos patches, a CPU virtualizada inclui as extensões de virtualização; isso significa que o convidado pode executar um hypervisor, incluindo o kvm, e ter seus próprios convidados. (obrigado "wzzrd")

Atualização : Informações de desempenho nos processadores Intel, de 2011 : "Não há suporte para virtualização aninhada com intel vmx na versão atual do kvm nos repositórios Ubuntu. Com os mais novos patches do kvm, é possível, mas ainda está em desenvolvimento"


3
Mantenha um pião à mão.
Nedm 27/05

A virtualização aninhada é possível, mas você duplica sua penalidade de desempenho relacionada à CPU, desperdiça RAM porque nas configurações padrão, o host, o convidado principal e os convidados "convidados" armazenam em cache os mesmos dados várias vezes e o desempenho de IO será desastroso para dados que não foram armazenados em cache.
André Borie

Respostas:


3
  1. É possível, leia mais aqui - http://blog.jasonruiz.com/2011/01/24/kvm-nested-virtualization-support/

  2. o objetivo atual do virt aninhado é testar, mas acho que significa testar hipervisores, não bancos de dados, dns, etc ...

para testar esses serviços, acho que a virtualização "normal" servirá.

você pode ter algumas redes virtuais diferentes, com diferentes serviços dhcp / dns / routing.


7

O que você quer fazer é possível, simplesmente não é realmente prático do ponto de vista do desempenho.


2
Conciso, direto ao ponto e verdade :)
wzzrd

6

O ESXi pode se virtualizar. Portanto, você pode executar o ESXi como convidado no ESXi (ou ESX).insira a descrição da imagem aqui

Instruções encontradas aqui


3

Não conheço outros hipervisores, mas é definitivamente possível com o ESX / i, conforme discutido aqui . Além disso, definitivamente não é possível com o Hyper-V, conforme discutido aqui .

No entanto, onde isso é possível, é totalmente sem suporte e também bastante inútil, a menos que para fins de teste. Eu pessoalmente fiz isso com o ESX para testar um cluster VMware, que exigia pelo menos dois hosts ESX, uma máquina do Virtual Center e algum armazenamento compartilhado; Como não havia mais de um servidor nem armazenamento "real" disponível naquele momento, utilizei hosts virtuais ESX com um disco virtual compartilhado (como faria para testar um cluster da Microsoft). Funcionou e também não foi muito ruim no desempenho. Mas não consigo pensar em nenhuma razão do mundo para usar esse tipo de configuração em um ambiente de produção.


1
Este foi um exemplo interessante. Eu usaria VMs aninhadas para testar também, como você, não para produção.
KajMagnus 29/05

0

O kvm no kvm não funcionará, embora os convidados internos possam executar no qemu puro, no modo de emulação.

Eu deixaria as VMs em um único host, sem complicar demais


Falso. É muito possível e tem sido desde 2008 ou mais. Link: linux-kvm.com/content/kvm-nested-virtualization-works
wzzrd

1
sim, com conjuntos de instruções de CPU muito específicos e nem perto de ambientes de produção ou de testes sérios. O T / S quer testar configurações e serviços de rede, não hipervisores adicionais, então por que complicar as coisas até agora? Especialmente desde as ferramentas de gerenciamento padrão. Você está certo sobre a conta de KVM dentro KVM pode trabalhar, sob certas condições, que foi o meu erro, mas para responder à pergunta original - esta não é a melhor idéia em qualquer hypervisor
dyasny

"esta não é a melhor idéia em qualquer hypervisor": agora que é verdade :) aqui, têm um upvote :)
wzzrd

LOL, não que um upvote é tão importante :)
dyasny

0

O KVM provavelmente não é a melhor opção para o seu propósito. Você deve experimentar o Virtualbox.

Com o Virtualbox, você pode criar uma máquina virtual dentro de uma máquina virtual, e as ferramentas de rede são muito convenientes.


1
Lixo. KVM será suficiente.
wzzrd 27/05

@wzzrd Eu não disse que o KVM não é suficiente. Eu disse que o Virtualbox pode ser uma opção melhor, neste caso, já que é uma configuração complexa.
Erickzetta 27/05

Na verdade, eu gosto de configurar KVM VMs com virsh:-)
KajMagnus


suporte para VMX, SLAT (tradução de segundo nível), para-ops, páginas aninhadas, máquinas em máquinas - esse foi um recurso introduzido na versão 2.0 do VirtualBox. virtualbox.org/wiki/Changelog-2.0
Bent Cardan

0

Você fez check-out do XenServer? A nova versão beta é chamada "XenServer boston" Leia mais sobre isso aqui:

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

Nas notas de versão, você verá o seguinte:

Suporte de dispositivo virtual. No XenCenter, você pode criar dispositivos virtuais de várias VMs (vApps), com relacionamentos entre as VMs para uso com a sequência de inicialização durante o Site Recovery. Os vApps podem ser facilmente importados e exportados usando o padrão Open Virtualization Format (OVF)

Usando esse recurso combinado com Virtual Lans, você poderá realizar o que deseja. Não sou positivo, mas acredito que você também pode criar um instantâneo de todos os VMs no Virtual Appliance de uma só vez.

Entre em contato se tiver mais alguma dúvida sobre o XenServer (eu o uso duas vezes por dia)


-1

Se é possível ou não, é irrelevante. Isso simplesmente não faz sentido. Você não ganha absolutamente nada aninhando VMs, enquanto perde muito.


Na verdade, os / alguns desenvolvedores do KVM acham que faz sentido: na lista de discussão dev do KVM, há esse encadeamento com um patch para suporte à virtualização aninhada. Eu acho que os desenvolvedores parecem bastante felizes, se você continuar lendo algumas respostas.
KajMagnus 27/05

Um desenvolvedor não-KVM que gosta de virtualização aninhada: "Outro uso é ter várias redes virtualizadas em uma máquina. Cada rede teria uma configuração diferente de hosts. Eu estava esperando por isso". (A partir daqui .) #
5281 KajMagnus

@KajMagnus, só porque as pessoas querem isso não significa que faz sentido. Algumas pessoas simples não conseguem ver a madeira da floresta.
John Gardeniers 27/05

Faz sentido para cenários de teste. Deseja implantar uma implantação de hipervisor de teste apenas para ver como um recurso específico se comporta em uma nova versão? Gire uma VM. Você está certo de que não é muito útil para o uso específico do OP, no entanto.
Chris Thorpe

O pessoal da IBM VM costumava fazer isso o tempo todo ao desenvolver novas versões da VM. Há um ótimo artigo (por exemplo, p. 28), se você estiver interessado.
fissão
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.