Rieccoci, dopo un lungo e desiderato periodo di ferie...
Durante le feste (e le ferie), tra un pranzo, una cena ho chiaccherato a lungo con il mio amico Marco (un buon sistemista Windows e un ottimo sistemista UNIX).
Tra i tanti argomenti la virtualizzazione è stato il tema su cui siamo tornati più frequentemente (Amarone escluso).
In particolare Marco era un po' scettico sulla possibilità di usare efficacemente Hyper-V come sistema di virtualizzazione di macchine Linux. Ci siamo così messi a fare qualche prova.
Abbiamo deciso di installare SUSE Linux Enterprise 10 in una child partition di Hyper-V Beta1 (presente nella RC1 di Windows Server 2008) e quindi di provare i Linux Integration Components for Microsoft Windows Server 2008 Hyper-V (Beta1) - da ora IC
Per l'esperimeto abbiamo usato il piccolo server che Marco si è regalato per Natale e che pensa di usare a casa per fare esperimenti:
Ci è sembrato un ottimo collaudo installare Windows Server 2008 RC1 con Hyper-V e provare a farci girare qualche macchina virtuale .
Già che stavamo "lavorando" abbiamo deciso di provare la versione x64 di SUSE.
In Hyper-V manager abbiamo creato una macchina virtuale con 512 MB di RAM, 1 CPU e con le uniche accortezze di usare una scheda di rete di tipo emulato (Legacy Network Adapter) e di non assegnare controller SCSI.
Abbiamo assegnato l'ISO contente i bit di installazione di SUSE Linux Enterprise 10 SP1 al DVD virtuale e avviato la macchina virtuale.
L'installazione è filata liscia: il programma di installazione ha correttamente riconosciuto la scheda di rete emulata (DEC 21140), la scheda grafica emulata (S3 Trio 64) ed il resto dell'hardware. Abbiamo solo dovuto passare lo switch linux vga=0x314 per "auitare" il programma di installazione ad impostare la corretta modalità video (questa è la sapienza, preventiva, di Marco).
Al termine dell'installazione avevamo a disposizione un server SUSE perfettamente funzionante, in grado di accere alla rete e con anche la sua bella interfaccia grafica (per me... Marco preferisce la linea di comando): GNOME. Non brillantissimo come performance, ma accettabilissimo. E qui Marco ha mostrato i primi segni di soddisfazione.
A questo punto siamo passati ad installare gli IC (scaricabili da qui) in modo da avere una maggiore integrazione tra la macchina Linux e Hyper-V e per verificare il miglioramento delle performance.
Gli IC forniscono essenzialmente due cose:
Avvertenza Allo stato attuale le versioni di Linux supportate dai Linux Integration Components for Microsoft Windows Server 2008 Hyper-V sono solamente le seguenti: SUSE Linux Enterprise Server 10 SP1 (x86) SUSE Linux Enterprise Server 10 SP1 (x64) Il supporto viene fornito unicamente attraverso questo newsgroup: microsoft.bet.windowsserver.hyper-v.linux
Avvertenza
Allo stato attuale le versioni di Linux supportate dai Linux Integration Components for Microsoft Windows Server 2008 Hyper-V sono solamente le seguenti:
Il supporto viene fornito unicamente attraverso questo newsgroup: microsoft.bet.windowsserver.hyper-v.linux
Prima di installare gli IC per Linux abbiamo esportato (apposita voce di menù in Hyper-V Manager) la VM in modo da averne una "copia di salvataggio" nel caso qualcosa andasse storto e anche per avere due macchine virtuali che differissero "solo" per la presenza o meno degli IC.
Menù Export in Hyper-V Manager
Il primo passo dell'installazione degli IC consiste nel... leggere attentamente il documento allegato (Integration Components for Linux Read Me.docx) che contiene la descrizione di tutti i passi da fare.
Lo so, lo so... da buoni sistemisti preferite partire inserendo direttamente il CD - virtuale o meno - e vedere come si schianta tutto quanto, ma Marco è stato irremovibile: prima il read me. Vi assicuro che in questo caso una lettura preventiva del readme aiuta...
La scelta della versione x64 del sistema operativo si è subito dimostrata la più problematica: il kernel Xen incluso nella versione x64 di SUSE LE 10 SP1, infatti, non si avvia dopo aver installanto l'hypercall adapter x2v (il componente che traduce le chiamate a Xen in chiamate ad Hyper-V) .
E' quindi necessario eseguire il patching del kernel (e per fortuna che c'era Marco). Le apposite patch sono disponibili nell'ISO che contiene gli IC, ma andiamo per ordine.
Dicevamo del kernel Xen. Uno degli obbiettivi di Hyper-V è essere una piattoforma di virtualizzazione la più "aperta" possibile, in grado di eseguire al meglio diversi sistemi operativi.
E' possibile eseguire Linux su Hyper-V senza alcuna modifica (l'elenco delle versioni di Linux supportate da Microsoft in produzione sarà reso pubblico con la RTM di Hyper-V). In questo modo si usano però i device emulati (sostanzialmente gli stessi di Virtual Server 2005 R2) e le prestazioni non sono particolarmente brillanti.
Per migliorare le prestazioni delle macchine virtuali Linux eseguite in partizioni child di Hyper-V, Microsoft e XenSource (ora Citrix) stanno collaborando per sviluppare i device driver sintetici, il vmbus e un hypercall adapter da usare con kernel linux Xen-enabled (child). In particolare l'hypercall adapter è un sottile strato di software che si pone sotto il kernel Xen (child) e traduce le chiamate al sottosistema di virtualizzazione Xen in chiamate ad Hyper-V.
Architettura degli Integration Component per Linux con Hypercall Adapter
Vediamo sinteticamente qual'è stata la procedura che abbiamo seguito per installare gli IC in SUSE LE 10 SP1 x64 (vi rimando al documento citato sopra e allegato agli IC per la descrizione completa):
A questo punto abbiamo spento la macchina virtuale SUSE, quindi, in Hyper-V Manager:
Riavviando la macchina virtuale con SUSE abbiamo trovato il nuovo hardware (basato sui device sintetici) perfettamente funzionante.
Output di ifconfig: la scheda seth0 è la scheda basata su device sintetici
Device SCSI sintetico: da notare il vendor MSFT
La configurazione degli Integration Component per Linux è "tutta qui", e tenete conto che siamo solo alla Beta 1.
Risultato finale
Per quanto riguarda il miglioramento delle prestazioni, non abbiamo fatto ancora alcun test, ma la "sensazione" è che ci sia un notevole miglioramento, almeno per quel che riguarda la rete, e su questo concorda anche Marco, che è ora decisamente meno scettico...
Approfondimenti http://www.microsoft.com/virtualization http://blogs.technet.com/virtualization/ http://blogs.technet.com/pgmalusardi/archive/2007/08/28/windows-server-virtualization-architettura-parte-5.aspx http://blogs.technet.com/pgmalusardi/archive/2007/06/25/windows-server-virtualization-architettura-parte-4.aspx http://blogs.technet.com/pgmalusardi/archive/2007/05/21/windows-server-virtualization-architettura-parte-3.aspx http://blogs.technet.com/pgmalusardi/archive/2007/05/08/windows-server-virtualization-architettura-parte-2.aspx http://blogs.technet.com/pgmalusardi/archive/2007/05/02/windows-server-virtualization-architettura-parte-1.aspx http://blogs.technet.com/pgmalusardi/archive/2007/11/22/installazione-di-hyper-v-il-video.aspx http://blogs.technet.com/pgmalusardi/archive/2007/12/17/hyper-v-configurazione-di-rete-il-video.aspx http://blogs.technet.com/pgmalusardi/archive/2007/12/19/hyper-v-creare-una-macchina-virtuale-il-video.aspx
Ciao a tutti
Giorgio e... Marco
PingBack from http://geeklectures.info/2008/01/06/hyper-v-suse-linux-enterprise-10-e-integration-component/
Sono stati da poco rilasciti gli Integration Components per VM Linux eseguite su Hyper-V RC0 . Come comunicato
Qualche tempo fa avevo fatto un post su come installare gli Integration Component di Hyper-V Beta1 in
WOW!! Guardate questo link che mi hanno segnalato! Grazie Fujtsu-Siemens! Adesso guardate questo articolo
Buongiorno a tutti. Sul mio blog, tempo fa, ho mostrato come installare SUSE Linux Enterprise Server
Buongiorno a tutti. Sul mio blog , tempo fa, ho mostrato come installare SUSE Linux Enterprise Server
Buongiorno a tutti. Su questo blog vi ho mostrato come installare SUSE Linux Enterprise Server 10 in