Virtualizzazione: Guest in guest?


9

Ha senso eseguire una macchina virtuale con un guest "master"
e in quel guest master eseguire molti altri guest?

Qualcuno l'ha provato? È anche possibile?
Esistono modi migliori per raggiungere i miei obiettivi? (Continua a leggere.)
(Ho cercato su Google "guest in guest" e non ho trovato nulla)

Cosa voglio fare : vorrei configurare e testare varie reti virtuali, con database e server applicazioni, e testare diversi firewall, server DNS, configurazioni del server database, ecc.

Potrei farlo eseguendo gli ospiti direttamente sul mio computer host, ma potrei aver bisogno di modificare la configurazione di rete sul mio host (es. Configurare dnsmasq ?), A seconda della configurazione di rete che sto per testare. Avrei anche bisogno di iniziare ogni ospite individualmente. Considerando che se tutti gli ospiti corrono all'interno di un ospite principale, allora posso configurare la rete su quell'ospite principale e ho solo bisogno di avviare e arrestare quell'ospite principale e di scattare istantanee di esso, per avviare, arrestare e istantaneamente implicitamente tutti gli ospiti che vi corrono dentro .

(Avrei molti ospiti principali, probabilmente uno solo alla volta.)

Sto usando Ubuntu 11.4 e KVM, con supporto per la virtualizzazione dell'hardware (AMD-V).
Pensi che gli ospiti nell'ospite trarrebbero beneficio dalla virtualizzazione?

Aggiornamento : avrei dovuto cercare su Google "Virtualizzazione annidata" non "guest in guest". Ora trovo molti collegamenti :-) Ad esempio questo esempio di migrazione di una VM in esecuzione dal computer host a un host di macchine virtuali nidificato: VMotion da ESX 4 fisico a ESX 4 virtuale
Tu che hai risposto, grazie per aver citato "Virtualizzazione nidificata": - )

Aggiornamento : Informazioni sulle prestazioni, per i processori AMD, dal 2008 : [...] fino ad ora, quando kvm virtualizza un processore, il guest vede una CPU simile al processore host, ma non ha estensioni di virtualizzazione. Ciò significa che non è possibile eseguire un hypervisor che necessita di queste estensioni di virtualizzazione all'interno di un guest (è comunque possibile eseguire hypervisor che non si basano su queste estensioni, come VMware, ma con prestazioni inferiori). Con le nuove patch, la CPU virtualizzata include le estensioni di virtualizzazione; questo significa che l'ospite può eseguire un hypervisor, incluso kvm, e avere i propri ospiti. (grazie "wzzrd")

Aggiornamento : Informazioni sulle prestazioni sui processori Intel, dal 2011 : "Non esiste supporto per la virtualizzazione nidificata con Intel vmx nella versione corrente di kvm nei repository Ubuntu. Con le patch più recenti per kvm è possibile, ma ci sono ancora in sviluppo"


3
Tieni a portata di mano una trottola.
nedm,

La virtualizzazione nidificata è possibile, ma raddoppi la penalità delle prestazioni relativa alla CPU, sprechi la RAM perché nelle configurazioni predefinite, sia l'host, l'ospite principale e gli ospiti "ospite" si scambieranno gli stessi dati più volte e le prestazioni di IO saranno disastrose per i dati non memorizzati nella cache.
André Borie,

Risposte:



7

Quello che vuoi fare è possibile, non è proprio pratico dal punto di vista delle prestazioni.


2
Conciso, al punto e vero :)
wzzrd

6

ESXi può virtualizzare se stesso. Quindi puoi eseguire ESXi come guest su ESXi (o ESX per quella materia).inserisci qui la descrizione dell'immagine

Indicazioni trovate qui


3

Non conosco altri hypervisor, ma è sicuramente possibile con ESX / i, come discusso qui . Inoltre, è sicuramente non possibile con Hyper-V, come discusso qui .

Tuttavia, laddove ciò sia possibile, è totalmente privo di supporto e anche abbastanza inutile, a meno che a scopo di test. L'ho fatto personalmente con ESX per testare un cluster VMware, che richiedeva almeno due host ESX, una macchina Virtual Center e un po 'di spazio di archiviazione condiviso; A quel punto non avevo più di un server né alcun archivio "reale" disponibile, quindi ho usato host ESX virtuali con un disco virtuale condiviso (proprio come avrei fatto per testare un cluster Microsoft). Ha funzionato, e non è stato nemmeno tremendamente cattivo nelle prestazioni. Ma non riesco a pensare a nessuna ragione al mondo per utilizzare questo tipo di installazione in un ambiente di produzione.


1
Questo è stato un esempio interessante. Utilizzerei anche macchine virtuali nidificate per i test, come te, non per la produzione.
KajMagnus,

0

kvm all'interno di kvm non funzionerà, sebbene gli ospiti interni possano correre su puro qemu, in modalità emulazione.

Lascerei le VM su un singolo host, senza complicazioni eccessive


Falso. È molto possibile ed è dal 2008 o giù di lì. Link: linux-kvm.com/content/kvm-nested-virtualization-works
wzzrd

1
sì, con set di istruzioni della CPU molto specifici e in nessun luogo vicino alla produzione o ad ambienti di test seri. Il T / S vuole testare configurazioni e servizi di rete, non hypervisor aggiuntivi, quindi perché complicare le cose finora? Soprattutto dagli strumenti di gestione standard. Hai ragione sul fatto che kvm in kvm può funzionare, a determinate condizioni, è stato un mio errore, ma rispondere alla domanda originale - questa non è la migliore idea sotto qualsiasi hypervisor
dyasny,

"questo non è la migliore idea in qualsiasi hypervisor": ora che è vero :) qui, hanno un upvote :)
wzzrd

LOL, non che un voto sia così importante :)
dyasny

0

KVM probabilmente non è l'opzione migliore per il tuo scopo, dovresti provare Virtualbox.

Con Virtualbox, puoi creare una macchina virtuale all'interno di una macchina virtuale e gli strumenti di rete sono molto convenienti.


1
Sciocchezze. KVM basterà perfettamente.
wzzrd

@wzzrd Non ho detto che KVM non è sufficiente. Ho detto che Virtualbox potrebbe essere un'opzione migliore, in questo caso, poiché è una configurazione complessa.
Erickzetta,

In realtà, mi piace configurare le VM KVM con virsh:-)
KajMagnus


supporto per VMX, traduzione degli indirizzi di secondo livello (SLAT), para-op, pagine nidificate, macchine all'interno di macchine - questa era una funzionalità introdotta nella versione 2.0 di VirtualBox. virtualbox.org/wiki/Changelog-2.0
Bent Cardan

0

Hai verificato XenServer? La nuova versione beta si chiama "XenServer boston" Per saperne di più qui:

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

Nelle note di rilascio, vedrai quanto segue:

Supporto per dispositivi virtuali. All'interno di XenCenter è possibile creare appliance virtuali multi-VM (vApp), con relazioni tra le VM da utilizzare con la sequenza di avvio durante Site Recovery. Le vApp possono essere facilmente importate ed esportate utilizzando lo standard Open Virtualization Format (OVF)

Usando questa funzione in combinazione con Virtual Lans, sarai in grado di realizzare ciò che desideri. Non sono positivo, ma credo che tu possa anche creare un'istantanea di tutte le VM nell'Appliance virtuale contemporaneamente.

Per favore fatemi sapere se avete ulteriori domande su XenServer (lo uso 2 volte al giorno)


-1

Che sia possibile o meno è irrilevante. Non ha senso. Non guadagni assolutamente nulla annidando le VM, perdendo molto.


In realtà, gli / alcuni sviluppatori KVM pensano che abbia un senso: nella mailing list degli sviluppatori KVM, c'è questo thread con una patch per il supporto della virtualizzazione nidificata. Penso che gli sviluppatori sembrino abbastanza felici, se continui a leggere alcune risposte.
KajMagnus,

Uno sviluppatore non KVM a cui piace la virtualizzazione nidificata: "Un altro uso è avere più reti virtualizzate all'interno di una macchina. Ogni rete avrebbe una diversa configurazione di host. Lo stavo aspettando." (Da qui .)
KajMagnus,

@KajMagnus, solo perché la gente lo vuole non significa che abbia senso. Alcune persone semplici non possono vedere il bosco per la foresta.
John Gardeniers,

Ha senso per gli scenari di test. Vuoi distribuire una distribuzione dell'hypervisor di prova solo per vedere come si comporta una particolare funzione in una nuova versione? Fai girare una VM. Hai ragione, tuttavia, che non è molto utile per l'uso particolare di OP.
Chris Thorpe,

Le persone IBM VM lo facevano sempre quando sviluppavano nuove versioni di VM. C'è un ottimo documento su di esso (ad esempio p. 28), se sei interessato.
fissione
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.