Virtualização: Guest in guest?

9

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

Alguém já testou isso? É possível?
Existem maneiras melhores de alcançar meus objetivos? (Leia mais)
(Eu pesquisei por "convidado no 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 servidor de banco de dados etc.

Eu poderia fazer isso executando convidados diretamente no meu computador host, mas talvez eu precise modificar a configuração de rede no meu host (por exemplo, configure dnsmasq ?), dependendo da configuração de rede que estou prestes a testar. Eu também precisaria começar cada convidado individualmente. Considerando que, se todos os convidados correm dentro de um convidado mestre, então eu posso configurar a rede nesse convidado mestre, e eu preciso apenas iniciar e parar esse convidado principal, e tirar instantâneos dele, para iniciar implicitamente & parar & instantâneo todos os convidados correndo dentro dele.

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

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

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

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

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

    
por KajMagnus 27.05.2011 / 12:34

8 respostas

3
  1. É possível, leia mais aqui - link

  2. o propósito atual da virt aninhada é testar, mas eu acho que significou testar hipervisores não bancos de dados, dns, etc ...

para testar tais serviços, acho que a virtualização "normal" serve.

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

    
por 27.05.2011 / 12:51
7

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

    
por 27.05.2011 / 12:46
6

O ESXi pode virtualizar-se. Assim, você pode executar o ESXi como convidado no ESXi (ou no ESX).

Asrotasencontradas aqui

    
por 27.05.2011 / 15:11
3

Eu não sei sobre outros hipervisores, mas é definitivamente possível com o ESX / i, como discutido aqui . Além disso, é definitivamente não possível com o Hyper-V, como discutido aqui .

No entanto, onde isso é possível, é totalmente sem suporte e também completamente inútil, a menos que seja 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 Virtual Center e algum armazenamento compartilhado; Eu não tinha mais de um servidor nem nenhum armazenamento "real" disponível naquele momento, então usei hosts ESX virtuais com um disco virtual compartilhado (assim como eu teria feito para testar um cluster da Microsoft). Funcionou, e também não foi muito ruim no desempenho. Mas não consigo pensar em nenhum motivo no mundo para usar esse tipo de configuração em um ambiente de produção.

    
por 27.05.2011 / 18:22
0

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

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

    
por 27.05.2011 / 12:51
0

O KVM provavelmente não é a melhor opção para o seu propósito você deve tentar 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.

    
por 27.05.2011 / 13:01
0

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

link

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

Suporte a 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 a Recuperação do Site. Os vApps podem ser facilmente importados e exportados usando o padrão Open Virtualization Format (OVF)

Usando esse recurso combinado com o Virtual Lans, você poderá realizar o que quiser. Eu 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.

Por favor, deixe-me saber se você tem alguma dúvida sobre o XenServer (eu uso 2x todos os dias)

    
por 16.08.2011 / 00:47
-1

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

    
por 27.05.2011 / 16:35