Virtualizzazione, un flashback

lunedì 3 settembre 2007 alle 03:11 | Pubblicato su Installation and Configuration, Linux | 3 commenti

non molto tempo fa ho cominciato a parlare di xen e virtualizzazione. Quei post sono stati scritti parallelamente a dei test che stavo effettuando, quindi senza una accurata documentazione sull’argomento. Ora, siccome la macchina oggetto di tali test ha avuto dei problemi hardware e sono in attesa che venga riparata, oggi ho approfondito, cercando di documentarmi, lo stato attuale delle tecnologie di virtualizzazione.

Un buon punto di partenza è stato questo articolo il cui indirizzo mi ero salvato nel bookmark del mio Firefox. In questo articolo l’autore spiega a titolo introduttivo quali sono in vantaggi della “virtualizzazione”, io sintetizzerei che può permettere un migliore sfruttamento delle risorse hardware senza incidere sulla sicurezza del sistema.

L’articolo poi spiega come le tecniche di virtualizzazione si siano evolute con la “para-virtualizzazione”, che permette di avere delle macchine virtuali che passano dal 50% delle prestazioni (paragonate alle prestazioni di una macchina reale) al 95%. Inizialmente questa tecnica richiedeva sistemi operativi modificati appositamente, adesso vi sono dei processori (Intel e AMD) che supportano direttamente la virtualizzazione e permettono si usare la para-virtualizzazione anche con sistemi operativi non modificati. Infatti, dover modificare il sistema operativo restringeva la possibilità di uso della paravirtualizzazione solo a sistemi operativi open-source, quindi solo a Linux.

A quanto pare Xen è un vero e proprio sistema operativo, che si occupa di gestire l’hardware e sopra il quale gira il sistema operativo vero e proprio. Questo sistema operativo per certi versi gira su una macchina virtuale, denominata “domain-0” (o dom0). Questa macchina virtuale ha privilegi particolari che le permettono di essere più efficente. Questa macchina virtuale può creare e controllare altre macchine virtuali che sono dotate di minori privilegi, e per accedere alle risorse hardware devono interfacciarsi con dom0.

Terminologia

Per capirsi megli quando si parla di virtualizzazione occorre conoscere bene la terminologia usata, quindi riporto la terminologia come descritta sul sito libvirt.org:

  • nodo: macchina fisica
  • hypervisor: strato di software che permette di virtualizzare un nodo
  • domain: istanza di un sistema operativo che gira su una macchina virtualizzata, fornita da un hypervisor

L’introduzione data sul sito di XenSource è molto tecnica, fa riferimento alle strutture dati ed alle chiamate nel codice, immagino sia scritta da uno sviluppatore e rivolta a sviluppatori. Il manuale invece fa un accenno alla tecnologia, ma poi si focalizza principalmente sull’installazione del sistema. Comunqu spiega come il dominio dom0 venga creato automaticamente al boot ed abbia particolari privilegi amministrativi.

Nel mio approfondimento ho poi trovato un bel sito interamente dedicata alla documentazione sullla virtualizzazione su linux: virt.kernelnewbies.org . Un’altro documento a cui vale la pena di dare un’occhiata è questo.

Un dubbio mi rimane: un sistema con Xen installato gira sopra un hypervisor, è sicuro al 100%?

3 commenti »

RSS feed for comments on this post. TrackBack URI

  1. A quanto pare Xen è un vero e proprio sistema operativo

    In realta’ Xen e’ l’hypervisor, e’ sviluppato a piu’ mani da diverse aziende e rilasciato come software libero con licenza GPL. La leadership di questo progetto e’ in mano a XenSource, che e’ una societa’ e uno dei sistemi operativi linux su cui puoi far girare l’hypervisor. L’hypervisor xen e’ disponibile come pacchetti comodamente installabili per tutte le principali distribuzioni (debian, ubuntu, redhat, suse, …) e offre solo una interfaccia da linea di comando e una API di programmazione. Quello che fa la differenza sono i tool che le varie distribuzioni mettono a disposizione e il supporto piu’ o meno comodo per tecnologie utili da mettere intorno all’hypervisor (filesystem clustered, migrazione da reale a virtuale, clonazione macchine virtuali, etc…).

    My 2 cents🙂

    Ciao,
    L.

  2. Lorello,
    ti ringrazio per il contributo; ho sempre visto in modo superficiale queste tecnologia e tuttora faccio fatica a comprendere a fondo il significato di “hypervisor”, al momento lo vedo come un micr0kernel, un sistema operativo ridotto il cui unico scopo è dare da interfaccia di gestione per le periferiche hardware

  3. Non sono un esperto nemmeno io, ma da quanto ho capito io l’hypervisor non e’ altro che un modulo del kernel di linux (non un ulteriore kernel, a se stante), che si occupa di governare l’interazione dei vari sistemi operativi ospiti (dom-*) con le risorse (cpu, ram,etc..).
    Questo modulo deve essere presente nel kernel del dom-0, il sistema operativo che per primo viene installato nella macchina fisica e quello che parte al boot della macchina.
    Oramai per tutte le piu’ diffuse distribuzioni linux sono disponibili come pacchetti facilmente installabili i kernel comprendenti il modulo xen.

    Grazie a te per le info su Oracle e RHEL5, sto impazzendo da tre giorni su una installazione…

    ciao e buone vacanze nella mia toscana🙂


Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

Crea un sito o un blog gratuitamente presso WordPress.com.
Entries e commenti feeds.

%d blogger cliccano Mi Piace per questo: