La virtualizzazione delle device di I/O

pubblicato da redazione Serverlab il giorno 6 agosto 2010

La virtualizzazione dei sistemi operativi – Capitolo 3.2.3

Anziché emulare l’hardware esistente, come generalmente avviene nella full virtualization, Xen espone un insieme astratto di device. Questo permette di progettare un’interfaccia che soddisfa le esigenze di protezione e isolamento.

A questo scopo i dati sono trasferiti da e per i domain U attraverso Xen utilizzando in buffer circolare denominato I/O rings. Esso fornisce un meccanismo di comunicazione molto performante per trasferire le informazione dal buffer attraverso il sistema, permettendo a Xen di effettuare i necessari controlli (ad esempio se si eccedono le dimensioni della memoria riservata ad un Domain U).

Come accade per gli interrupt hardware, Xen si avvale di un meccanismo di consegna di eventi utilizzato per inviare notifiche asincrone ai domain U. Queste notifiche sono effettuate tramite l’aggiornamento di una bitmap di eventi in sospeso ed, eventualmente, con una chiamata a una procedura richiesta dal sistema operativo guest.

L’intervento dell’hypervisor è necessario per fornire una protezione aggiuntiva tra i sistemi operativi guest e le device di I/O. È quindi importante che il meccanismo di controllo del flusso di dati generi il minor overhead possibile.

La scelta per il design del meccanismo di I/O ha tenuto conto di due fattori: la gestione delle risorse e gli eventi di notifica. Relativamente alla gestione delle risorse, si è cercato di minimizzare il lavoro di demultiplazione dei dati destinati ad uno specifico Domain U che si verifica al ricevimento di un interrupt da parte di un device. Analogamente la scrittura dei dati sulla memoria del device è effettuata, quando possibile, direttamente dal Domain U per evitare interferenze. La protezione del buffer condiviso del device è gestito da Xen che regola l’accesso agli indirizzi occupati.


Fig. 3.10: Il meccanismo degli I/O Rings utilizzato per il trasferimento dati tra Xen e le macchine virtuali

La figura 3.10 mostra la struttura del buffer I/O rings. Si tratta di una coda circolare di descrittori istanziati da un domain U ma accessibili da Xen. I descrittori non contengono direttamente il dato, ma un suo collegamento. L’accesso a ciascun I/O ring è effettuato utilizzando il paradigma produttore/consumatore appoggiandosi a due puntatori. Un domain U inserisce una richiesta su un I/O ring e avanza il puntatore produttore e Xen. Allorché Xen rimuove la richiesta per gestirla, avanza il puntatore consumatore. Le risposte sono inserite nello stesso ring da Xen e prelevate dal sistema operativo guest. Non è importante che le richieste vengano processate in ordine. Il sistema operativo guest associa un identificatore univoco a ciascuna richiesta che Xen inserisce nella risposta. In questo modo Xen può riordinare le operazioni I/O nel rispetto delle sue politiche di ottimizzazione delle performance o delle priorità tra le diverse macchine virtuali.

Questa struttura è sufficientemente generica per supportare tipologie diverse di device I/O. Ad esempio, un insieme di richieste può alimentare il buffer con pacchetti di rete e le conseguenti risposte segnalano l’arrivo del pacchetto. Il riordinamento è utile, dato che permette di trattare le richieste disco all’interno di Xen con efficienza implementando la tecnica del zero-copy transfer.

La produzione delle richieste e delle risposte è stata separata. Nel caso della richiesta, un domain U può accodarne numerose prima di effettuare l’hypercall che allerta Xen. Nel caso della risposta, un domain U può differire la consegna delle notifica di Xen specificando una soglia nel numero delle risposte.

Citrix XenServer, XenDesktop, XenApp

Citrix: soluzioni di Accesso Sicuro all'IT

Tecnologie per l’accesso remoto e on-demand a desktop, servizi, applicazioni e informazioni aziendali, in modo semplice, istantaneo e protetto.

VmWare logo

VMware: infrastruttura ICT virtuale

L’infrastruttura virtuale VMware per consolidare l’IT e gestire in modo unitario tutti gli aspetti della virtualizzazione: storage, server, desktop e applicazioni.

data core

DataCore: la virtualizzazione dello storage

Abbatte i costi storage indipendentemente dal fabbisogno di spazio dell’azienda, creando SAN ad alta disponibilità anche con hardware di basso costo e multimarca.

microsoft, windows server, exchange, app-v

Microsoft: la base dell’infrastruttura IT

La base dell’infrastruttura virtuale con Windows Server 2008 R2, Exchange Server, SQL Server, APP-V per data server, email server, database e applicazioni.

NetApp storage

NetApp massimizza l'efficienza dello Storage

Soluzioni storage ideali per infrastrutture virtualizzate. Con la gestione avanzata e la deduplica dei dati NetApp, si può ridurre del 50% la quantità di storage necessario.

res software, powerfuse, wisdom

RES Software: gestire in semplicità il mondo Windows

Workspace Manager gestisce i profili utente da 1 postazione e facilita l'upgrade da Win XP a 7. Automation Manager automatizza la manutenzione server e PC.

acronis, backup, ripristino, migrazione

Acronis: gestire le risorse digitali

Soluzioni di backup e ripristino di server e postazioni di lavoro; migrazione rapida di server virtuali e fisici, anche su hardware diverso.

stonesoft, firewall, vpn, ips, ssl-vpn

Stonesoft unifica la gestione della sicurezza IT

StoneGate Management Center è la base dell’architettura Stonesoft per gestire da 1 postazione tutti gli applicativi di sicurezza Stonesoft (Firewall, VPN, IPS e SSL-VPN).