Home

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTÀ DI INGEGNERIA

image

Contents

1. il modo pi semplice di accedere ad una rete esterna da una macchina virtuale Tipicamente non richiede alcuna configurazione aggiuntiva n nella rete dell host n nel sistema guest e pertanto l impostazione di default Una VM con scheda direte configurata col NAT si comporta come un computer fisico connesso a Internet attraverso un router in questo caso la funzione del router assolta da VirtualBox che mappa il traffico da e per la VM in modo trasparente e come se il router fosse posto tra ciascuna macchina virtuale e l host Questa separazione massimizza la sicurezza visto che per default le varie macchine virtuali presenti sull host non parlano fra loro Per contro si capisce che lo svantaggio della modalit NAT che proprio come in una rete privata dietro a un router la VM invisibile e irraggiungibile dall esterno a meno di non definire manualmente delle regole di forwarding di particolari porte Scheda con Bridge questa modalit risponde a necessit pi avanzate come simulazioni di rete ed esecuzione di server sulla VM con questa Impostazione VirtualBox mette la scheda di rete virtuale in connessione diretta con una delle schede di rete fisiche del server host e provvede ad intercettare e gestire direttamente lo scambio di pacchetti tra queste In questo modo la macchina virtuale risulta a tutti gli effetti come direttamente connessa alla medesima rete ethernet dell host e pu essere raggiunta dall host e da tut
2. vrdeauthtype null external guest vrdeauthlibrary default lt name gt vrdemulticon on off vrdereusecon on off vrdevideochannel on off vrdevideochannelquality lt percent gt usb on off usbehci on off snapshotfolder default lt path gt teleporter on off teleporterport lt port gt teleporteraddress lt address empty gt teleporterpassword lt password gt lt uuid gt lt name gt snapshot lt uuid gt lt name gt mode machine machineandchildren all options link keepallmacs keepnatmacs keepdisknames name lt name gt basefolder lt basefolder gt uuid lt uuid gt register lt ovf ova gt dry run n options keepallmacs keepnatmacs more options run with n to have options displayed for a particular OVF lt machines gt output o lt ovf ova gt legacy09 manifest vsys lt number of virtual system gt product lt product name gt producturl lt product url gt vendor lt vendor name gt vendorurl lt vendor url gt 91 VBoxManage startvm VBoxManage controlvm VBoxManage discardstate VBoxManage adoptstate VBoxManage snapshot VBoxManage closemedium VBoxManage storageattach version lt version info gt eula lt license text gt eulafile lt filename gt lt uuid gt lt name gt type gui sdl headless lt uuid gt lt name gt pause resume reset
3. description lt desc gt list details machinereadable showvminfo lt uuid gt lt name gt disk dvd floppy lt uuid gt lt filename gt delete lt uuid vmname gt storagectl lt name gt port lt number gt device lt number gt 92 VBoxManage storagectl VBoxManage bandwidthctl VBoxManage showhdinfo VBoxManage createhd VBoxManage modifyhd VBoxManage clonehd type dvddrive hdd fdd medium none emptydrive lt uuid gt lt filename gt host lt drive gt iscsi mtype normal writethrough immutable shareable readonly multiattach comment lt text gt setuuid lt uuid gt setparentuuid lt uuid gt passthrough on off tempeject on off nonrotational on off bandwidthgroup lt name gt forceunmount server lt name gt lt ip gt target lt target gt tport lt port gt lun lt lun gt encodedlun lt lun gt username lt username gt password lt password gt intnet lt uuid vmname gt name lt name gt add ide sata scsi floppy sas controller LSILogic LSILogicSAS BusLogic IntelAHCl PIIX3 PIIX4 ICH6 182078 sataideemulation lt 1 4 gt lt 1 30 gt sataportcount lt 1 30 gt hostiocache on off bootable on off remove lt uuid vmname gt name lt name gt add disk network limit lt megabytes per se
4. paragrafo 5 3 3 Fig 5 17 oppure con il seguente comando di VBoxManage VBoxManage modifyvm THS 01 WinXP HDi vrde on vrdeport 5001 Poich come gi anticipato 11 VRDP retrocompatibile con l RDP di Microsoft sar possibile utilizzare qualsiasi viewer RDP standard per connettersi ad una tale VM ad esempio per client Windows il comune mstsc exe presente fra gli accessori standard specificando come indirizzo IP quello del Server Host di VirtualBox e non della VM e come porta quella impostata per 1l server VRDP stesso nel comando dell esempio sopra la porta 5001 5 5 1 VBoxHeadless il server di desktop remoto di VirtualBox Sebbene qualsiasi macchina virtuale avviata dal Gestore di VirtualBox cfr paragrafo 5 2 3 ovvero con l apposito comando VBoxManage startvm Nome VM cfr paragrafo 5 4 possa poi essere gestita anche da remoto purch il server VRDP sia per essa abilitato si capisce che la sua esecuzione con tutta l interfaccia grafica completa rappresenta uno spreco di risorse nel caso in cui non si Sia mai interessati a gestirla direttamente sul server host In altri termini se un server host ha come unico scopo quello di ospitare macchine virtuali destinate ad essere tutte amministrate esclusivamente in remoto sar un inutile spreco di risorse mostrare sul server stesso un interfaccia grafica di interazione utente VM Proprio per adattarsi a tali casi riducendo al minimo indispensabile l im
5. Archiviazione Controller IDE IDE master primario THO1 WinSRV2003 vdi Normale 40 00 GB IDE master secondario CD DVD SQL2000_STD ISO Inaccessibile Controller SATA P Audio Driver dell host Windows DirectSound Fig 5 2 Tipico Aspetto della finestra del Gestore di VirtualBox in presenza di diverse VM 5 2 2 Creazione di una VM con VirtualBox Cliccando sul pulsante Nuova in alto a sinistra nella finestra del Gestore di VirtualBox nelle figure precedenti si apre una procedura guidata cfr Fig 5 3 che ci accompagna attraverso 1 passaggi fondamentali per la creazione di un VM chiedendoci una serie di informazioni minime necessarie alla sua creazione ovvero 4 Nome della VM e tipo di S O il nome quello che vedremo comparire nella parte sinistra della finestra del VirtualBox Manager all interno della lista delle VM presenti ed ha pertanto solo scopo informativo mentre 1l tipo di S O da scegliere in un apposito elenco presentato dalla procedura 52 guidata fa s che gia in fase di creazione 11 VMM abiliti o disabiliti certe caratteristiche della VM per renderla il pi adatta possibile alla successiva installazione del tipo di S O guest qui indicato per questo motivo anche se tutti 1 parametri della VM creata possono essere rivisti e variati in un secondo momento utile in questa fase specificare il giusto tipo di S O che si intende installare L ammontare di memoria RAM cfr Fig 5 4 della
6. e Ring 0 percepito dalle VMs e Ring 0 reale Il ruolo del VMM Per quanto detto per creare le partizioni virtuali in un server viene eseguito un sottile strato di software chiamato VMM Virtual Machine Manager o anche Virtual Machine Monitor direttamente sulla piattaforma hardware fisica VMM Tipol ovvero all interno di un sistema operativo host VMM tipo2 In ognuno dei due casi al di sopra del VMM possono essere eseguiti una o pi macchine virtuali ciascuna con il proprio sistema operativo guest e le relative applicazioni Il VMM quindi il centro della virtualizzazione dei server Gestisce da una parte le risorse hardware e dall altra le richieste del sistemi operativi guest e delle loro applicazioni Assegna ad ogni guest un insieme virtuale di CPU memoria I O e risorse su disco basato sull hardware fisico disponibile o sulla base di una selezione personalizzata dell hardware sottostante Volendo illustrare 11 ruolo del Virtual Machine Manager e le considerazioni che devono essere fatte in margine alla sua progettazione non si pu non citare 1 requisiti di virtualizzazione di Popek e Goldberg generalmente indicati come la fonte di riferimento originale per 1 criteri che devono essere soddisfatti dal VMM essi definiscono di fatto le condizioni delle architetture dei computer atte a sostenere la virtualizzazione Scritti nel 1974 per 1 computer di terza generazione di quel periodo 9 hanno generalizzato
7. tipicamente realizzata affidandosi a blasonati software commerciali di indiscussa affidabilit in accoppiamento con risorse hardware di tutto rispetto generalmente nate e progettate proprio espressamente per l impiego con tali software tutto questo produce generalmente un sistema caratterizzato da costi di implementazione ed investimenti iniziali decisamente al di fuori della portata della maggioranza delle realt medie e certamente di tutte quelle pi piccole Ciononostante tutti 1 benefici della Virtualizzazione in termini di consolidamento flessibilit di gestione razionalizzazione sicurezza affidabilit e disponibilit delle risorse per ricordare solo alcuni dei principali sono fortemente appetibili e talvolta addirittura determinanti per la sopravvivenza stessa anche per la piccola e media realt aziendale o imprenditoriale tanto da spingere alla ricerca di paradigmi alternativi per Scenari Virtualizzati che sposino esigenze di economicit anche a costo di sacrificare qualcosa in termini di prestazioni o accettare qualche inevitabile compromesso riguardo alla misura del conseguimento dei suddetti benefici Il VMM VirtualBox ovvero il software di virtualizzazione a vocazione open source sopra presentato in abbinamento ad un hardware con caratteristiche decorose ma certamente non comparabili a quelle delle summenzionate piattaforme dedicate a prodotti commerciali di ben pi alte pretese pu tutto sommato ben figurare
8. caro l investimento La virtualizzazione risolve il problema consentendo ad una singola partizione logica o fisica di essere riassegnata all occorrenza a ciascuna funzione Nei giorni feriali ospiterebbe l applicazione client server di giorno ed eseguirebbe 1 processi batch durante la notte Durante 1 fine settimana sarebbe riassegnata alle attivit di manutenzione dei dati per ritornare poi ad ospitare l applicazione client server la mattina del luned Questa flessibilit consente alle organizzazioni IT di utilizzare le partizioni part 28 Affidabilita time eseguendo 1 processi business principali nello stesso modo in cui lo farebbero 1 server fisici ma realizzando anche una riduzione dei costi pur mantenendo elevati livelli di affidabilit L affidabilit diventata sempre pi un punto cardine per le organizzazioni IT Essa ha una relazione diretta con la disponibilit del sistema i tempi di uptime delle applicazioni e di conseguenza con 1 servizi erogati e quindi direttamente o indirettamente con 1 redditi generati Societ ed Organizzazioni sono spesso disposte a investire pesantemente nelle proprie infrastrutture server per assicurare che almeno le loro applicazioni pi critiche restino costantemente online e che quindi il loro funzionamento non sia mai interrotto Investendo in hardware e software aggiuntivi per monitorare errori e guasti del software certamente possibile gestire imprevisti e
9. Posizione e dimensione del file del disco virtuale Digita il nome del nuovo disco virtuale nella casella seguente o fai dic sull icona della cartella per selezionare una cartella di destinazione diversa Posizione THO 1 WinSRV2003 A Seleziona la dimensione del disco virtuale in megabyte Tale dimensione sara presentata al sistema operativo guest come dimensione massima del disco virtuale Dimensione 20 00 GB amaa Fig 5 6 Creazione nuova VM Dimensionamento Hard Disk Impostata la dimensione massima e concludendo la procedura guidata si 55 ottiene la creazione della nostra nuova macchina virtuale che comparira quindi con il nome da scelto nella lista di sinistra del Gestore di VirtualBox 5 2 3 Esecuzione di una VM creata con VirtualBox Una volta creata una macchina virtuale essa comparira nella lista delle VM disponibili nella finestra del VirtualBox Manager cfr Fig 5 2 per avviarla sara sufficiente farci doppio clic oppure selezionarla e cliccare sul pulsante Start della suddetta finestra Questo provocher l apertura di una nuova finestra nella quale s1 avvier la VM scelta tutto quello che vedremmo normalmente sullo schermo di una macchina reale sar mostrato nella finestra della nostra VM Poich la VM creata vuota al suo primo avvio s1 comporterebbe esattamente come un computer reale senza sistema operativo non farebbe assolutamente niente se non mostrare un messaggio di error
10. Schermo Scheda 1 Scheda 2 Scheda 3 li Scheda 4 Archiviazione V Abilita scheda di rete pp Audio Connessa a Scheda con bridge e Rete Nome Realtek PCIe GBE Family Controller Porte seriali gt Avanzate USB Cartelle condivise Seleziona una categoria di impostazioni dall elenco sul isto sinistro e sposta puntatore del mouse su un elemento delle impostazioni per ottenere ulteriori informazioni ata Annulla Aiuto Fig 5 20 Impostazioni Rete VirtualBox offre una grande flessibilit per quanto riguarda la virtualizzazione del networking supportando fino a 8 schede di rete per VM le prime quattro delle quali configurabili mediante l interfaccia grafica cfr Fig 5 20 ed in generale tutte e otto configurabili mediante l interfaccia VBoxManage a riga di comando Per ciascuna scheda di rete virtuale possibile settare individualmente che tipo di hardware a scelta fra sel tipi di schede fra le pi comunemente supportate debba essere virtualmente presentato al S O guest ed il modo in cui la scheda virtuale dovr operare rispetto all hardware fisico ed alla rete del server host In particolare sono possibili 1 seguenti modi di operare degli adattatori di rete 4 Non Connesso in questo modo il sistema guest rileva la presenza di una 76 scheda di rete ma come se il cavo della ethernet virtuale fosse scollegato NAT Network Address Translation
11. VM questo un parametro fondamentale della macchina virtuale in quanto ogni volta che viene avviata 11 VMM VirtualBox allochera questo quantitativo di RAM Crea una nuova macchina virtuale Nome MV e sistema operativo Inserisci un nome per la nuova macchina virtuale e seleziona il tipo di sistema operativo che desideri installare Il nome della macchina virtuale indica normalmente la sua configurazione software e hardware Sar utilizzato da tutti i componenti di VirtualBox per identificare la macchina virtuale Nome THO 1 WinSRV2003 Sistema operativo Sistema operativo Microsoft Windows Ai Versione Windows 2003 v Fig 5 3 Creazione Nuova VM definizione Nome e S O del sistema host presentandola al sistema operativo guest della VM come la RAM della macchina virtuale facile capire che questo parametro dovr rispondere caso per caso a due contrapposte esigenze da un lato dovr essere sufficientemente elevato da permettere il corretto funzionamento della VM e di tutti 1 programmi che vorremo far girare su di essa dall altro dovr essere sufficientemente contenuto da permettere di lasciare un quantitativo di RAM sufficiente alle necessit del Sistema host oltre che eventualmente di tutte le altre VM che vorremo far girare in contemporanea 53 A Crea una nuova macchina virtuali Memoria Seleziona l ammontare della memoria di base RAM in megabyte da allocare per la macc
12. classico per una tecnologia tutto sommato recente ma vedremo che per certi aspetti lo meno di quanto si potrebbe pensare come quella che attiene appunto 1 software di virtualizzazione Con tale approccio la Virtualizzazione sembrerebbe porsi come la naturale risposta alle esigenze di realt aziendali industriali scientifiche o di altra natura ma comunque tendenzialmente medio grandi in tali contesti infatti il raggiungimento di un livello il pi elevato possibile in termini di prestazioni affidabilit disponibilit per non parlare del contenimento di consumi ed ingombri tipicamente significativi in realt di dimensioni importanti un aspetto irrinunciabile ed in grado spesso di fare la differenza fra un esperienza di successo ed una destinata al fallimento partendo da questo assunto la virtualizzazione si propone come una soluzione ideale non solo per ottenere gli standard necessari ma anche per ottenerli in modo se non economico in assoluto sicuramente pi economico di quanto non si potrebbe fare con soluzioni fisiche basate sul puro hardware D altro canto per le realt medio piccole per le quali ad esempio qualche ora o addirittura giorno di fermo tecnico per quanto seccante e non auspicabile non comporta comunque in generale gravi perdite economiche potrebbe sembrare da quanto sin qui detto che la Virtualizzazione potesse essere liquidata come 1l classico cannone per sparare al moscerino apparendo ma
13. com articoli_virtualizzazione 40 virtualizzazione_tipi_e differenze htm 11 x86 Virtualization TechArena Community http forums techarena in guides tutorials 1104460 htm 12 Manuale Tecnico di Oracle VirtualBox https www virtualbox org manual UserManual html 97
14. dall immagine a collegamento multiplo Tecnicamente questa modalit differisce da quella invariabile solo per il fatto che le immagini differenziali non vengono eliminate ad ogni nuovo avvio Modalit di Sola Lettura questa modalit automaticamente riservata alle immagini di CD e DVD Le differenze di comportamento specialmente rispetto all impiego delle istantanee delle VM fra le varie modalit appena descritte possono essere ben riassunte considerando il caso di una VM in cui sia stato installato un S O guest e della quale sia stata salvata un istantanea Immaginando di aver accidentalmente 74 infettato il sistema con un virus e di voler tornare alla situazione pulita Nel caso in cui il disco sia di tipo normale ripristinando l istantanea tutto lo stato precedente del disco sar conseguentemente ripristinato e l infezione da virus annullata Con un disco di tipo invariabile invece baster semplicemente spegnere e accendere nuovamente la VM per ritrovarla nello stato pulito precedente all infezione virale AI contrario nel caso di disco writethrough non sar possibile annullare la presenza del virus mediante operazioni relative alla virtualizzazione ma sar necessario ripulire la macchina virtuale con un antivirus esattamente come faremmo per una macchina reale 5 3 5 Sezione Audio La sezione successiva della finestra Impostazioni quella relativa all Audio in essa possibile d
15. delle reali risorse della piattaforma hardware Infine le istruzioni di funzionamento sono quelle il cui comportamento o il cui risultato dipende dalla configurazione delle risorse I VMM devono lavorare con ogni gruppo di istruzioni mantenendo le condizioni di equivalenza controllo delle risorse ed efficienza Tutti i VMM di oggi soddisfano almeno le prime due condizioni equivalenza e controllo delle risorse Per ottenere ci gestiscono in modo efficace 1 sistemi operativi guest e la piattaforma hardware sottostante tramite l emulazione l isolamento l allocazione e l incapsulamento vediamo di seguito il significato di tali concetti q Emulazione L emulazione importante per tutti 1 sistemi operativi guest Il VMM deve presentare un ambiente hardware completo la cosiddetta macchina virtuale o brevemente VM sia per 1 sistemi operativi che per le applicazioni Il sistema operativo e le applicazioni sono all oscuro del fatto che condividono le risorse hardware con altre applicazioni L emulazione la chiave per soddisfare la propriet di equivalenza Isolamento L isolamento importante per un ambiente sicuro e affidabile 38 Attraverso l astrazione hardware ogni macchina virtuale deve essere sufficientemente separata e indipendente dalle operazioni e dalle attivit delle altre macchine virtuali I guasti che si verificano in una singola macchina virtuale non devono coinvolgere le altre ci fornisce sicurezza e di
16. delle risorse informatiche per una migliore affidabilit e sicurezza Prima di addentrarci nelle varie forme di virtualizzazione e per capire in modo pi approfondito che cos e quali opportunit offre oggi non si pu prescindere da un breve excursus sulla sua storia e le sue origini La prima forma di virtualizzazione fu concepita negli anni 60 del secolo scorso e prese piede col nome di time sharing condivisione di tempo Christopher Strachey primo professore di Calcolo all Universit di Oxford e leader del Programming Research Group coni questo termine nel suo scritto Time Sharing in Large Fast Computers usandolo quale estensione della multiprogrammazione ovvero l esecuzione di pi processi sullo stesso sistema contemporaneamente sfruttando 1 momenti di inattivit del processore In un contesto multiutente il time sharing avrebbe permesso a pi programmatori di compilare ed eseguire contemporaneamente 1 loro programmi interagendo con il sistema centralizzato ciascuno dal proprio terminale Il vantaggio era evidente visto che 1 primi computer mainframe erano estremamente costosi e non sarebbe stato pensabile garantirne l accesso esclusivo ad un singolo utilizzatore con tale soluzione di gestione delle richieste multiutente da parte della CPU detta context switch si dava l impressione ad ognuno di avere a disposizione il computer centrale interamente per s La multiprogrammazione insieme ad alt
17. di arresto F Spegni la macchina ansia anrraornto Te gt Lanes rente is I cx Fig 5 7 Opzioni allo spegnimento di una VM 57 La scelta fra le tre opzioni cruciale il loro significato A Salvare lo Stato della Macchina con questa opzione VirtualBox congela la VM salvando completamente il suo stato sul disco locale ad un successivo riavvio della macchina virtuale la ritroveremo esattamente nelle condizioni in cui si trovava con 1 vari programmi aperti e intenti a svolgere le medesime operazioni In pratica questa opzione l equivalente per una VM della sospensione di un PC portatile ad esempio in concomitanza della chiusura del coperchio Invia il Segnale di Arresto questa opzione determiner l invio di un segnale di shutdown ACPI alla VM esattamente come avverrebbe in un PC reale premendo il pulsante di avvio spegnimento Nel caso in cui il S O guest installato nella VM sia compatibile con gli standard ACPI cosa generalmente vera per S O moderni questo scatener il corretto meccanismo di shutdown nella VM Spegni la Macchina con questa opzione VirtualBox arrester la VM ma senza salvarne lo stato n eseguirne la procedura di shutdown Questa opzione equivale a scollegare brutalmente dalla rete elettrica un PC reale al riavvio della VM il S O operativo guest potr richiedere un check per la consistenza dei dati del proprio hard disk virtuale Si capisce quindi che questa terza opzione
18. di contesto la virtualizzazione aveva lo scopo principale di fornire a pi utilizzatori contemporanei l esperienza di utilizzo esclusivo di grossi e costosi mainframe in sostanza inizialmente la virtualizzazione e ancor prima il concetto di time sharing furono sostanzialmente un modo di aggirare l enorme costo dei sistemi di elaborazione del tempo ovvero un modo per sfruttare il pi possibile ovvero rendere fruibili a pi persone possibili sistemi intrinsecamente rari se non altro per il loro costo Questo stato di cose ovvero la predominanza totale di un paradigma centralizzato basato su centri di elaborazione dati dotati di grandi e costosi computer centrali rimase sostanzialmente inalterato per buona parte degli anni 80 del secolo scorso tale situazione si ritrovava anche nell ambito delle telecomunicazioni ed anche se internet con il passare degli anni si stava diffondendo per il momento era ancora lontana dal diventare quella rete di 19 La proliferazione dei Server interconnessione capillare che conosciamo oggi assomigliando ancora assai di piu ad una rete di collegamento dei grandi data center delle Universita o delle grandissime realta aziendali Dagli anni 90 e fino ai giorni nostri per un insieme di fattori hanno cambiato il modo di concepire i data center cambiando radicalmente i paradigmi organizzativi e architetturali degli stessi Si passati cos da un modello centralizzato fruibil
19. hpet on off 89 hwvirtex on off hwvirtexexcl on off nestedpaging on off largepages on off vtxvpid on off synthcpu on off cpuidset lt leaf gt lt eax gt lt ebx gt lt ecx gt lt edx gt cpuidremove lt leaf gt cpuidremoveall hardwareuuid lt uuid gt cpus lt number gt cpuhotplug on off plugcpu lt id gt unplugcpu lt id gt cpuexecutioncap lt 1 100 gt rtcuseutc on off monitorcount lt number gt accelerate3d on off firmware bios efi efi32 efi64 chipset ich9 piix3 bioslogofadein on off bioslogofadeout on off bioslogodisplaytime lt msec gt bioslogoimagepath lt imagepath gt biosbootmenu disabled menuonly messageandmenu biossystemtimeoffset lt msec gt biospxedebug on off boot lt 1 4 gt none floppy dvd disk net gt nic lt 1 N gt none null nat bridged intnet generic nictype lt 1 N gt Am79C970A Am79C973 cableconnected lt 1 N gt on off nictrace lt 1 N gt on off nictracefile lt 1 N gt lt filename gt nicproperty lt 1 N gt name value nicspeed lt 1 N gt lt kbps gt nicbootprio lt 1 N gt lt priority gt nicpromisc lt 1 N gt deny allow vms allow all nicbandwidthgroup lt 1 N gt none lt name gt bridgeadapter lt 1 N gt none lt devicename gt intnet lt 1 N gt lt network name gt natnet
20. le condizioni che il software che fornisce l astrazione di una macchina virtuale cio il VMM deve soddisfare tali condizioni sono a Equivalenza Un programma in esecuzione attraverso il VMM deve dimostrare un comportamento prevedibile che sostanzialmente identico a quello mostrato durante la sua esecuzione direttamente sulla piattaforma hardware sottostante Questa condizione viene chiamata anche Fidelity a Controllo delle risorse Il VMM deve avere il controllo completo in ogni momento delle effettive risorse hardware virtualizzate per 1 sistemi operativi guest Questa condizione viene chiamata anche Safety 37 a Efficienza Un grande numero di istruzioni macchina devono essere eseguite senza l intervento della VMM ma dall hardware stesso Questa condizione viene chiamata anche Performance Secondo Popek e Goldberg il problema che gli sviluppatori del Virtual Machine Manager devono affrontare la creazione di un VMM che soddisfi le condizioni precedenti quando si opera all interno delle caratteristiche dell Istruction Set Architecture ISA della specifica piattaforma hardware utilizzata Il set ISA pu essere suddiviso in tre gruppi di istruzioni quelle privilegiate di controllo e di funzionamento Le istruzioni privilegiate vengono bloccate se il processore in User Mode mentre vengono eseguite se in Supervisor Mode Le istruzioni di controllo sensibile tentano di modificare la configurazione
21. le fasi risultavano sovrapposte imponendo di avere la specifica configurazione n tier dedicata Pi iterazioni della stessa applicazione erano necessarie per applicare 11 modello SDLC Software Development Life Cycle per lo sviluppo e garantire la qualit del prodotto la fattibilit delle prove di carico e il processo di produzione finale Anche per queste necessit la proliferazione dei server si intensificata Il costo globale di sviluppo e produzione delle applicazioni giunto ad un maggior consumo di potenza un minor spazio fisico disponibile e un maggiore sforzo di gestione il quale unito agli altri fattori conta decine se non centinaia di migliaia di dollari in costi di manutenzione annuali per macchina In aggiunta a questa gestione e manutenzione globale la decentralizzazione ha diminuito l efficienza delle macchine lasciando la media di inattivit del server ad una percentuale dell 85 90 per cento Queste inefficienze hanno eroso ulteriormente qualunque potenziale risparmio sul costo del lavoro promesso dalla decentralizzazione Cos contro ogni previsione negli ultimi anni si sta ritornando al paradigma centralizzato Proprio la Virtualizzazione per fornisce adesso una nuova interpretazione di questo paradigma originario in quanto riduce i problemi sopra esposti scaturenti dalla proliferazione dell hardware ma riesce contemporaneamente a centrare gli obiettivi che avevano spinto in tale direzione In que
22. letteralmente come sistemi ereditati ci Si riferisce tipicamente a sistemi esistenti nella realt azienda o organizzazione considerata che pur essendo tipicamente obsoleti come tecnologia continuano ad essere utilizzati per ragioni di convenienza economica costi delle licenze dei prodotti aggiornati di convenienza pratica perch talvolta soddisfano le necessit presenti meglio dei corrispondenti prodotti di nuova 26 concezione ovvero per la materiale impossibilit di ottenere versioni pi nuove perch ad esempio forniti da terze parti che hanno abbandonato lo sviluppo del software in questione Quale che sia in ogni caso il motivo dell obsolescenza tecnologica dei sistemi legacy chiaro come questi utilizzando tecnologie meno recenti siano spesso difficili da utilizzare nel contesto di piattaforme hardware e di S O di ultima generazione ad esempio l hardware dei server si sviluppato a livelli tali che spesso diventato incompatibile con 1 sistemi operativi e le applicazioni legacy L utilizzo di tecnologie e di processori pi recenti dei relativi chipset supportati e dei bus ad alta velocit pu il pi delle volte penalizzare 1 sistemi legacy se non addirittura renderli inutilizzabili Proprio per questo motivo in passato sono stati mantenuti man mano che 1 data center migravano verso nuove tecnologie e generazioni di apparati anche vecchi server utilizzati esclusivamente per far girare ambienti s
23. lt 1 N gt lt network gt default nicgenericdrv lt 1 N gt lt driver gt natsettings lt 1 N gt lt mtu gt lt socksnd gt lt sockrcv gt lt tcpsnd gt lt tcprcv gt natpf lt 1 N gt lt rulename gt tcp udp lt hostip gt lt hostport gt lt guestip gt lt guestport gt natpf lt 1 N gt delete lt rulename gt nattftpprefix lt 1 N gt lt prefix gt nattftpfile lt 1 N gt lt file gt nattftpserver lt 1 N gt lt ip gt natbindip lt 1 N gt lt ip gt natdnspassdomain lt 1 N gt on off natdnsproxy lt 1 N gt on off natdnshostresolver lt 1 N gt on off nataliasmode lt 1 N gt default log proxyonly 90 VBoxManage clonevm VBoxManage import VBoxManage export sameports macaddress lt 1 N gt auto lt mac gt mouse ps2 usb usbtablet keyboard ps2 usb uart lt 1 N gt off lt I O base gt lt IRQ gt uartmode lt 1 N gt disconnected server lt pipe gt client lt pipe gt file lt file gt lt devicename gt guestmemoryballoon lt balloonsize in MB gt gueststatisticsinterval lt seconds gt audio none null dsound solaudio oss oss coreaudio audiocontroller ac97 hda sb16 clipboard disabled hosttoguest guesttohost bidirectional vrde on off vrdeextpack default lt name gt vrdeproperty lt name value gt vrdeport lt hostport gt vrdeaddress lt hostip gt
24. poweroff savestate acpipowerbutton acpisleepbutton keyboardputscancode lt hex gt lt hex gt setlinkstate lt 1 N gt on off nic lt 1 N gt null nat bridged intnet generic lt devicename gt nictrace lt 1 N gt on off nictracefile lt 1 N gt lt filename gt nicproperty lt 1 N gt name value natpf lt 1 N gt lt rulename gt tcp udp lt hostip gt lt hostport gt lt guestip gt lt guestport gt natpf lt 1 N gt delete lt rulename gt guestmemoryballoon lt balloonsize in MB gt gueststatisticsinterval lt seconds gt usbattach lt uuid gt lt address gt usbdetach lt uuid gt lt address gt vrde on off vrdeport lt port gt vrdeproperty lt name value gt vrdevideochannelquality lt percent gt setvideomodehint lt xres gt lt yres gt lt bpp gt display screenshotpng lt file gt display setcredentials lt username gt lt password gt lt domain gt allowlocallogon lt yes no gt teleport host lt name gt port lt port gt maxdowntime lt msec gt password password plugcpu lt id gt unplugcpu lt id gt cpuexecutioncap lt 1 100 gt lt uuid gt lt name gt lt uuid gt lt name gt lt state_file gt lt uuid gt lt name gt take lt name gt description lt desc gt pause delete lt uuid gt lt name gt restore lt uuid gt lt name gt restorecurrent edit lt uuid gt lt name gt current name lt name gt
25. proliferazione dei server invece dell acquisto e del mantenimento di un unico host fisico centralizzato e delle relative periferiche necessarie per ogni applicazione si giunse alla conclusione che ad ognuna di tali applicazioni era possibile dare il proprio 20 Il ritorno alla centralizzazione reinterpretata alla luce della Virtualizzazione ambiente operativo con hardware completo di I O potenza di elaborazione e memoria lasciando spesso in condivisione soltanto le unit di storage ed alcune periferiche comuni Cos mentre la quantit di applicazioni e ambienti applicativi dispiegati aumentava anche il numero di server implementati all interno dei data center cresceva a ritmi esponenziali I server centralizzati erano visti come troppo costosi da acquistare e mantenere per le molte aziende non ancora fondate su tali piattaforme informatiche e mentre 1 big frame server dagli enormi carichi di lavoro delle grandi imprese continuavano a sopravvivere il mercato dei server di fascia media e bassa andava incontro ad uno sviluppo sempre maggiore A colpo d occhio la decentralizzazione offriva due benefici principali la sicurezza e la stabilit due fattori interconnessi allo stesso meccanismo di fondo La stabilit proveniva dal mantenimento globale dell infrastruttura in modo semplice ed efficace grazie alle patch e agli aggiornamenti periodici facilmente applicabili senza interferire con gli altri sistemi in esecuzione Per lo
26. reale Si noti che sebbene limitare 1l tempo di esecuzione delle CPU virtuali appaia come un interessante ulteriore passo 67 nel segno del time sharing che alla base anche storicamente della virtualizzazione in pratica l adozione di detta limitazione per la le CPU di una VM pu indurre problemi di timing nel sistema guest Nella medesima scheda inoltre l impostazione Enable PAE NX determina se le funzionalit PAE Physical Address Extension ed NX No eXecute bit eventualmente possedute dalla CPU dell host debbano essere presentate o meno anche alla CPU della VM queste caratteristiche se abilitate e supportate anche dal Sistema Operativo permettono tra l altro di accedere a pi di 4 GB di memoria anche a sistemi a 32 bit Accelerazione In quest ultimo tab della sezione Sistema cfr Fig 5 5 possibile decidere se abilitare o meno per la VM in questione la Virtualizzazione Hardware sfruttando le istruzioni estese Intel VT x o AMD V nonch l utilizzo della paginazione nidificata della CPU dell host Nel caso in cui la CPU dell host non supporti le estensioni per la THOL WinsRV2003 Impostazioni Sax E Generale Sistema Sistema Cleo Scheda madre l Processore Accelerazione Archiviazione Virtualizzazione hardware V Abilita VT x AMD V gt Audio V Abilita paginazione nidificata e Rete FO Porte seriali P USB Cartelle condivise Seleziona una categoria di impostazioni dall e
27. stesso motivo la decentralizzazione favoriva la sicurezza poich un sistema compromesso si trovava fisicamente isolato dagli altri sistemi della rete In aggiunta con la popolarit di Windows e delle piattaforme distribuite con 1 pi leggeri sistemi open source la promessa che molti speravano di ottenere includeva un migliore ritorno di investimento sulle attivit e un minore costo totale di propriet TCO La mercificazione delle piattaforme hardware e software a buon mercato ha dato ulteriore fondamentale impulso allo sviluppo di quel paradigma Le imprese si resero tuttavia ben presto conto che il ridimensionamento orizzontale necessario per nutrire le nuove istanze dei server e la conseguente necessit di spazio e componenti per supportare tale espansione contrastava con gli obiettivi che li avevano mossi inizialmente La proliferazione dei server si era intensificata principalmente con la domanda di spazio web ma non solo man mano che 1 processi IT diventavano pi raffinati e pianificati allineandosi ai meccanismi di controllo e gestione delle grandi aziende 1l ciclo di vita dello sviluppo software SDLC cominciava ad imporre una struttura rigida per lo 21 sviluppo di un prodotto software definendone non solo le fasi come la raccolta dei requisiti l architettura software e il design 1 test l implementazione e la manutenzione ma le regole stesse che guidano il processo di sviluppo attraverso ogni fase In molti casi
28. vdi Normale 40 00 GB Fig 5 5 Creazione Nuova VM Creazione Hard Disk 54 Nella finestra in Fig 5 5 possibile appunto scegliere un hard disk virtuale precedentemente creato oppure crearne uno nuovo in questo secondo caso ci viene chiesto con un ulteriore finestra della procedura guidata che tipo di gestione si vuole adottare per il file di immagine dell hard disk scegliendo fra le due supportate da VirtualBox a un file allocato dinamicamente inizialmente piccolo e che crescer di dimensioni solo man mano che il guest immagazzinera dati sul suo disco virtuale b un file a dimensione fissa avr subito la dimensione massima prevista per il file a prescindere dal livello di riempimento del disco virtuale del guest questa seconda scelta determina a fronte di una maggiore occupazione di spazio sul disco fisico dell host un certo incremento nelle prestazioni del disco virtuale del guest perch riduce l impatto sulle operazioni di gestione del VMM ovvero il cosiddetto overhead Infine per prevenire il completo esaurimento dello spazio fisico sul disco dell host VirtualBox ci chiede cfr Fig 5 6 di imporre un limite alla dimensione massima del file di immagine che dovr comunque essere scelta sufficientemente grande da contenere il Sistema Operativo guest e tutte le applicazioni che vorremo installare sulla VM tipicamente per un moderno sistema Windows serviranno svariati gigabytes nuovo disco virtuale
29. virtualizzatore che quelli delle macchine virtualizzate dalla riga di comando del Sistema Operativo del server Host VBoxManage d accesso non solo a tutte le Impostazioni ed 1 comandi fin qui descritti ma anche a tutta una serie di caratteristiche avanzate del motore di virtualizzazione non altrimenti gestibili dall ambiente grafico del Gestore di VirtualBox facile immaginare che l utilizzo di VBoxManage risulter pi ostico e decisamente meno intuitivo di quello dell interfaccia grafica tanto pi che 1 comandi e le regolazioni possibili sono decisamente numerosi una trattazione completa ed approfondita di tali comandi esula ovviamente dagli intenti di questo seminario e per essa si rimanda piuttosto al manuale del virtualizzatore VirtualBox 79 Quello che invece ci interessa in questa sede perch utile alla comprensione di alcuni strumenti che utilizzeremo nella parte operativa o comunque ai quali faremo riferimento nel presentare alcune caratteristiche di VirtualBox semplicemente dare alcune nozioni fondamentali relative al front end a riga di comando di VBoxManage Ci sono due punti fondamentali da tenere presenti per l utilizzo di VBoxManage il primo che VBoxManage deve sempre essere usato nella shell di comando del S O Host cfr Fig 5 22 in abbinamento con un particolare sottocomando che specifica l azione vera e propria da eseguire ad esempio list per elencare tutte 3 J le VM regi
30. MM VirtualBox interessante notare che le VM create con tale virtualizzatore sono indipendenti dall interfaccia grafica del VirtualBox manager fin qui trattata che pu essere anche chiusa una volta avviata la o le VM che ci interessano Non solo tale interfaccia solo la soluzione pi semplice ed intuitiva per interagire con le macchine virtuali ma non l unica possibilit n certamente 62 sempre la pi indicata Tanto per fare un esempio possibile avviare una VM mediante l interfaccia grafica del Manager e poi chiudere il manager stesso ed arrestare la VM mediante riga di comando oppure utilizzando il supporto di VirtualBox per il Desktop Remoto VRDP di cui si parlato possibile eseguire le macchine virtuali senza alcun output grafico sul server host si parla in questo caso anche di headless server e reindirizzare tutti gli output in remoto tramite la rete Piu in dettaglio 1 front end disponibili per VirtualBox tutti distribuiti nel pacchetto standard sono l Tutti Il Gestore di VirtualBox o VirtualBox Manager cio l interfaccia utente di tipo grafico cui si sin qui fatto riferimento tale front end senz altro il pi semplice da utilizzare almeno inizialmente e permette la gestione e configurazione della maggior parte delle caratteristiche di VirtualBox VBoxManage l interfaccia a riga di comando per l automazione ed il controllo di ogni dettaglio ed aspetto di VirtualBo
31. O che come questi risiede nella medesima memoria centrale la CPU ha due distinte modalit di funzionamento la modalit utente e la modalit monitor detta anche spesso modalit privilegiata o supervisore Il duplice modo di funzionamento consente sia di proteggere il sistema operativo dal comportamento degli applicativi utente quindi potremmo dire dagli utenti che di proteggere gli utenti dagli altri utenti Questo si ottiene definendo le istruzioni macchina in grado di causare danni allo stato del sistema come istruzioni privilegiate Poich l hardware consente l esecuzione di queste istruzioni soltanto in modalit monitor se si tenta di eseguire in modo utente un istruzione privilegiata la CPU non la esegue perch l hardware la tratta come istruzione illegale generando un eccezione trap che rimanda al Sistema Operativo Le istruzioni per la modifica dei registri di controllo della memoria e le istruzioni per il controllo dell I O sono esempi di istruzioni privilegiate Un altra istruzione privilegiata ad esempio l istruzione halt visto che un programma utente non deve avere la possibilit di provocare l arresto di tutti gli altri programmi n tantomeno del S O 12 Ecco quindi che per eseguire ad esempio un operazione di I O cosi come una qualsiasi istruzione privilegiata un programma utente deve sempre necessariamente richiedere al S 0 di farlo in sua vece con quella che si definisce una system ca
32. S O e ai file vengono salvate in immagini temporanee distinte durante il funzionamento delle varie VM 73 ay 6 tutte le VM al successivo avvio ripartono sempre dalla stessa immagine immutabile perdendo memoria delle operazioni di scrittura della precedente sessione di funzionamento Creare un disco virtuale direttamente in modalit invariabile ha poco senso perch lo ritroveremmo sempre completamente vuoto ad ogni avvio della VM mentre invece assal pi interessante prendere un disco in modalit normale e una volta che si ritiene riempito con tutto quello che serve trasformarlo in invariabile congelando di fatto la sua situazione ad esempio per ritrovarsi sempre con una VM con S O guest pulito e fresco di installazione Nel caso in cui venga fatta un istantanea di una VM con un disco in modalit invariabile ad ogni successivo avvio della macchina il disco si resetter a tale istantanea anzich allo stato originario Modalit a Collegamento Multiplo un disco in tale modalit pu essere montato su piu VM anche se queste sono in esecuzione contemporaneamente ed anche se hanno file system di tipo standard che non prevedono accessi concorrenti allo stesso supporto Infatti con questa modalit per ciascuna VM cui un tale disco attaccato viene creata un immagine differenziale 1 dati scritti da ciascuna macchina virtuale non sono visibili per le altre ed in pratica ogni VM crea la propria storia a partire
33. TICS speciale fu il suo approccio volto ad isolare il pi possibile le varie operazioni software per eliminare il rischio che un componente eventualmente divenuto instabile potesse compromettere o destabilizzare anche altri componenti Per far questo 11 MULTICS introdusse 1 cosiddetti protection rings anelli di protezione delle tecniche formali volte a separare il sistema operativo trusted dai programmi utente untrusted MULTICS fu un progetto assai elaborato che prevedendo ben otto di questi anelli 32 La Famiglia x86 di protezione riusc nell intento di isolare 1 vari livelli astraendo dall interazione con l hardware tuttavia l approccio progettuale impiegato per 11 MULTICS si dimostr troppo costoso per potersi affermare a livello globale come paradigma delle architetture dei moderni computer L architettura CPU pi comune utilizzata nei moderni computer l IA 32 0 x86 compatibile A partire dal chipset 80286 introdotto nel febbraio del 1982 la famiglia x86 forn due metodi principali di indirizzamento della memoria la modalit reale limitata ad 1MB e senza supporto al multitasking e la modalit protetta gestita direttamente in hardware da una MMU Memory Manager Unit che s1 occupa di impedire che un processo possa corrompere una porzione di memoria in uso da un altro processo contemporaneamente in esecuzione sul medesimo computer Nel chipset 80386 e successivi venne introdotta una terza mo
34. U alla memoria e alle risorse di I O 35 Esistono due tipi di VMM che indirizzano la rappresentazione del Ring 0 4 VMM Tipo 1 software che viene eseguito direttamente su di una piattaforma hardware sul vero Ring 0 I sistemi operativi guest cio delle macchine virtuali vengono eseguiti ad un livello al di sopra di quello hardware consentendo un vero isolamento di ciascuna macchina virtuale 4 VMM Tipo 2 software che viene eseguito all interno di un sistema operativo di solito sul Ring 3 Per quanto visto su gli anelli di privilegio nell architettura x86 si capisce che in questo caso il Ring 0 percepito dal sistema operativo delle macchine virtuali molto pi lontano dall effettiva piattaforma hardware La virtualizzazione etfettuata con questo tipo di VMM tende ad avere performance inferiori a quella dei VMM di tipo 1 ma offre altri vantaggi primo fra tutti quello della maggior compatibilit hardware infatti 1 VMM di tipo 2 supportano di fatto tutto l hardware supportato dal S O all interno del quale sono eseguiti ovvero il cosiddetto S O host Le differenze di approccio dei due tipi di VMM sono ben schematizzate dalla Fig 4 4 VMM Tipo 1 Hardware VMM Tipo 2 App 1 App 2 Operating system 2 guest App 3 App 4 Operating system 1 host Hardware Fig 4 4 VMM Tipol e VMM Tipo2 36 e Ring 0 percepito dalle VMs e Ring 0 reale
35. UNIVERSITA DEGLI STUDI DI FIRENZE FACOLTA DI INGEGNERIA Corso di Sistemi Operativi Prof Stefano Berretti SEMINARIO SULLA VIRTUALIZZAZIONE a cura di Nicola Fusari A A 2012 2013 1 INTRODUZIONE In questi ultimi anni il tema della virtualizzazione salito o come vedremo meglio di seguito tornato prepotentemente alla ribalta nel contesto di moltissime realt attinenti l ICT Information and Communication Technology Con il termine virtualizzazione in realt s1 possono indicare contesti approcci e soluzioni anche molto differenti fra loro aventi per tutti come denominatore comune e base di partenza il concetto di astrazione dalla fisicit delle strutture dell hardware sulle quali si appoggiano Uno degli scenari pi tipici a cui si pensa quando si parla di virtualizzazione quello di pi macchine virtuali in contemporanea esecuzione su di un unico server fisico al cosiddetto host in questo contesto che quello su cui solitamente 1 tecnici insistono pi volentieri con gli amministratori delegati per convincerli ad approvare i necessari investimenti la virtualizzazione consolidamento dell hardware cio un modo per sfruttare al massimo ed il pi efficientemente possibile le risorse fisiche ovvero gli investimenti economici Questa per soltanto una delle numerose sfaccettature della questione virtualizzazione infatti anche la possibilit di presentare pi risorse fisiche come un unica ris
36. a parte del VMM mentre le altre devono essere gestite in modo diverso in pratica poich alcune chiamate privilegiate non possono essere eseguite direttamente devono essere preventivamente riscritte si parla appunto di traduzione binaria dal VMM prima della loro esecuzione si riusciti a risolvere questo problema solo dagli anni 2005 06 attraverso le tecniche di trap and emulate intercetta ed emula delle suddette istruzioni I software di full virtualization operano dunque in due modi alternando la tecnica di traduzione binaria all esecuzione diretta Il flusso delle istruzioni viene analizzato dal programma di virtualizzazione alla ricerca di particolari istruzioni critiche privilegiate queste vengono modificate cos da poter essere eseguite dal VMM con 1 corretti privilegi la macchina virtuale non pu operare in kernel mode ma deve lasciare che il VMM agisca per essa cfr Fig 4 5 In sostanza la macchina virtuale viene eseguita su un interprete invece che direttamente sulla CPU in questo modo l interprete pu risolvere i problemi dovuti ad operazioni che ostacolano la virtualizzazione senza bisogno come detto di alcuna modifica al codice del kernel o delle applicazioni guest Purtroppo la traduzione binaria peggiora le performance che soprattutto durante un attivit intensa di I O sono generalmente tra 80 97 di quelle dell Host Ring 3 WSE Direct Execution of User Minga Requests sing Binary Tra
37. a software che richiedono magari diverse versioni del sistema operativo o addirittura diversi sistemi operativi o ancora di valutare programmi in ambienti di prova separati da quelli di produzione senza la necessit di acquistare hardware dedicato ai test non solo una volta superato il paradigma che vorrebbe la virtualizzazione relegata esclusivamente all ambito dei server e dei processi pi alti che avvengono in queste macchine diventa quasi naturale aprire gli occhi su tutt altri scenari nei quali la virtualizzazione arriva addirittura a livello di desktop e di utente trasferendo magari alcuni dei concetti cui si accennava sopra ad esempio la disponibilit da quelle che sono le risorse centrali come 1 database aziendali o 1 sevizi di autenticazione o ancora quelli di posta elettronica ecc fino a quelle che sono le risorse del singolo utente questo ad esempio il caso della cosiddetta virtualizzazione del desktop con la quale le applicazioni e le Impostazioni tipiche che costituiscono l ambiente di lavoro del singolo operatore vengono virtualizzate ovvero appunto slegate da un particolare hardware di riferimento e rese immediatamente disponibili nelle solite forme anche nel caso in cui ad es per un guasto o semplicemente per un momentaneo trasferimento dell operatore ad altra postazione si debba utilizzare un hardware fisicamente diverso dal solito Molti di questi aspetti qui appena accennati per ragioni di tempo
38. ammontare di memoria RAM e video presentate alla VM stessa da VirtualBox o ancora il tipo di controller disco virtualizzato ecc Le due macchine virtuali quella sull host sorgente e quella sull host destinazione devono condividere lo stesso disco cfr paragrafo 3 3 4 CI significa che questo deve essere fisicamente posto su un supporto di memorizzazione accessibile ad entrambe gli host il caso pi tipico pu ad esempio essere quello di un NAS o in generale di qualsiasi disco raggiungibile via rete Se queste condizioni sono rispettate la predisposizione del teleporting s1 snoda attraverso 1 seguenti passi 1 Sull host destinazione si configura la macchina virtuale prescelta affinch questa all avvio resti in attesa dell arrivo della richiesta di teleporting anzich avviarsi normalmente Questo si ottiene con il seguente comando di VBoxManage VBoxManage modifyvm lt D_VM_name gt teleporter on teleporterport lt port gt dove lt D VM name gt il nome della macchina virtuale sull host destinazione e lt port gt il numero di porta TCP IP da utilizzare sia sull host destinazione che sul sorgente 2 Avviando la VM cos configurata sempre sull host destinazione questa mostra una finestra di dialogo che indica che in attesa della richiesta di 84 teleporting 3 Sull host sorgente si avvia la VM normalmente e al momento in cui si vuole dare il via al teleporting si d il seguente comand
39. biente virtuale oggetto della tesi stessa Cominciamo dalle principali regolazioni operabili tramite interfaccia grafica 64 rimandando alla Appendice A la trattazione dell interfaccia a riga di comando VBoxManage e di alcuni dei suoi comandi Selezionando una VM nella lista del Gestore di VirtualBox e cliccando sul pulsante Impostazioni si accede alla finestra delle impostazioni della VM in questione cfr Fig 5 11 Tale finestra organizzata in sezioni nella colonna di sinistra ciascuna delle quali vede a propria volta le varie regolazioni ed impostazioni suddivise in una o pi schede che nel seguito indicheremo a volte anche come tab e che sono poste nella parte di destra della finestra stessa 5 3 1 Sezione Generale Nella sezione Generale sono raggruppate le informazioni fondamentali della macchina virtuale ripartite in tre tab o schede Sg Oracle VM VirtualBox Gestore x 5 THO1 WinSRV2003 Impostazion D DD Generale Generale Istantanee Nuova Impostazioni aca Sistema E i WinXP Em sa ino Base Avanzate Descrizione s4 Dine C 2 Archiviazione Nome THO1 WinSRV2003 SR fe pp Audio Sistema operativo Microsoft Windows x al pen at oP Rete Versione Windows 2003 x Ubuntul Porte seriali spenta P USB Sh THO1 Win Cartelle condivise 2 spenta WinxPPro Dini spent i THO2 Win DA ah Win8 Pre Seleziona una categoria di impostazio
40. ccanismi peraltro probabilmente gi discussi a fondo in altre parti del corso di Sistemi Operativi Alcuni di essi per sono particolarmente importanti nell ambito della Virtualizzazione per cui cercheremo di spendere su di esse qualche parola in pi Come abbiamo visto 1 sistemi multiprogrammati e time sharing migliorano le prestazioni sovrapponendo le operazioni di CPU e di I O anche di job diversi sulla medesima macchina questa sovrapposizione temporale richiede un attenta 11 gestione da parte del S O del trasferimento dati tra CPU e sistemi di I O 1 meccanismi per realizzare questa gestione sono l interrogazione ciclica polling l utilizzo degli interrupt oppure dell accesso diretto alla memoria DMA e non ci addentreremo nella loro trattazione Sempre come conseguenza della multiprogrammazione abbiamo anche visto che generalmente ci sono pi dati e programmi relativi a job differenti contemporaneamente residenti nella memoria centrale Per effetto del time sharing inoltre questi programmi saranno contemporaneamente in esecuzione nello stesso sistema rispondendo tipicamente alle interazioni richieste provenienti da diversi utenti Il Sistema Operativo deve assicurare il corretto funzionamento del computer in sinergia con particolari mezzi che l hardware su cui gira e per cul progettato gli mette a disposizione Per evitare che i programmi utenti vadano ad interferire fra loro e con il codice del S
41. cond gt delete lt uuid gt lt filename gt filename lt filename gt size lt megabytes gt sizebyte lt bytes gt format VDI VMDK VHD default VDI variant Standard Fixed Split2G Stream ESX lt uuid gt lt filename gt type normal writethrough immutable shareable readonly multiattach autoreset on off compact resize lt megabytes gt resizebyte lt bytes gt lt uuid gt lt filename gt lt uuid gt lt outputfile gt format VDI VMDK VHD RAW lt other gt variant Standard Fixed Split2G Stream ESX existing 93 VBoxManage convertfromraw VBoxManage convertfromraw VBoxManage getextradata VBoxManage setextradata VBoxManage setproperty VBoxManage usbfilter VBoxManage usbfilter VBoxManage usbfilter VBoxManage sharedfolder VBoxManage sharedfolder lt filename gt lt outputfile gt format VDI VMDK VHD variant Standard Fixed Split2G Stream ESX uuid lt uuid gt stdin lt outputfile gt lt bytes gt format VDI VMDK VHD variant Standard Fixed Split2G Stream ESX uuid lt uuid gt global lt uuid gt lt name gt lt key gt enumerate global lt uuid gt lt name gt lt key gt lt value gt no value deletes key machinefolder default lt folder gt vrdeauthlibrary default lt library gt websrvauthlibrary default null lt library gt vrdeextpack null lt library gt loghistorycount lt va
42. costituiscono in buona sostanza l oggetto di quella che potremmo chiamare una virtualizzazione a misura di piccola impresa Definizione di Sistema Operativo 2 1 RACCORDI CON IL CORSO DI S 0 Prima di entrare nel vivo di questo seminario sulla virtualizzazione ed al fine di meglio collocarlo all interno del Corso di S O utile richiamare rapidamente alcuni concetti fondamentali riguardanti 1 S O cos come presentati ad esempio dal testo di Silberschatz Sistemi Operativi Concetti ed Esempi 1 Sebbene una definizione univoca ed esaustiva di Sistema Operativo risulti cos come per il termine Virtualizzazione abbastanza difficile da individuare possiamo senz altro dire che il S O uno dei quattro componenti fondamentali di un sistema di calcolo tipicamente scomponibile appunto in hardware sistema operativo applicativi e utenti Pi in particolare possiamo dire che il O l ambiente che funge da tramite fra le esigenze dell utente che si attuano tramite i vari programmi applicativi e le risorse del sistema di calcolo hardware e dati esso non compie in sostanza alcuna operazione utile di per s ma il contesto necessario nel quale 1 vari applicativi possono lavorare in modo utile Per far questo esso svolge quindi di volta in volta la funzione di allocatore di risorse ad es tempo CPU spazio di memoria sistemi di I O ecc oppure di programma di controllo dell esecuzione degli app
43. cs G Windo jes C Windo cs C Windo Ter C Windo cs C Windo Tra C Windo VII T SE n URDE SEPVIC NUsers Nicola Desktop ScrTPt Ubuxnanage UBoxHeadless startum UCLIOZ Win pProf Aa OP H2003 4 3 Win2003 Processi 85 Utilizzo CPU Cronologia utilizzo CPU Memoria Cronologia utilizzo memoria fisica Memoria fisica MB Sistema Totale 16382 Handle 27105 E Cache 242 Thread 1239 Disponibile 267 Processi 85 Libera 71 Tempo attivita 0 01 40 52 Commit GB 16 27 Memoria del kernel MB Di paging 278 Non di paging 159 a Monitoraggio risorse Utilizzo CPU 76 Memoria fisica 98 eV A Controller IDE IDE master secondario CD DVD Vuoto Controller SATA Porta SATA 0 VRTSQLO1 vdi Normale 20 00 GB fP Audio Driver dell host Windows DirectSound Controller ICH AC97 uP Rete 4 Fig 5 25 Print Screen Server Host VirtualBox con 6 VMs in esecuzione 86 5 7 CONCLUSIONI La Virtualizzazione si presenta ormai da alcuni anni come una soluzione matura in grado di offrire ad aziende ed imprese gli strumenti pi efficaci per adeguarsi nell ottica del consolidamento e della razionalizzazione delle risorse alle continue riconfigurazioni ed evoluzioni imposte da un ambiente economico e tecnologico in continua trasformazione Nella sua declinazione pi diffusa la Virtualizzazione
44. dalit chiamata modalit virtuale 8086 o VM86 che permetteva l esecuzione di programmi scritti per la modalit reale ma eludendone le limitazioni senza dover passare alla modalit protetta La modalit reale limitata ad un singolo megabyte di memoria divent rapidamente superata ed anche la modalit virtuale limitata ad operazioni a 16 bit divenne obsoleta quando 1 sistemi operativi a 32 bit iniziarono ad essere ampiamente disponibili per l architettura x86 La modalit protetta componente fondamentale dell x86 venne invece dotata di numerose nuove funzionalit per supportare il multitasking e salvo di fatto l architettura x86 Le nuove funzionalit introdotte comprendevano ad esempio la segmentazione dei processi e il supporto hardware per la memoria virtuale e la commutazione dei processi Nella famiglia x86 la modalit protetta utilizza quattro livelli privilegiati o Ring numerati da 0 a 3 La memoria di sistema divisa in segmenti e ogni segmento viene assegnato e dedicato ad un particolare Ring Il processore utilizza 11 livello privilegiato per determinare cosa pu e non pu essere fatto con il codice o 1 dati contenuti nel segmento Il termine Ring deriva proprio dal sistema MULTICS 33 dove 1 livelli privilegiati erano visualizzati appunto come una serie di anelli concentrici Il Ring 0 considerato l anello pi interno il kernel al quale assegnato il controllo totale del processore Il Rin
45. ddition 5 minuti fa Spenta i gy Istantanea prima del ripristino 3 minuti fa THO1 WinSRV2003 istantanea post aggiornamenti Q Istantanea realt alternativa VM 5 secondi fa 2003 spenta Stato attuale WinXPProSP3 Istantanea realt alternativa VM xpi Spenta THO2 WinSRV2003 2003 Spenta Win8 Preview O Spenta Fig 5 8 Gestione Istantanee Inizialmente fino a che non si realizzer almeno un istantanea di uno stato della VM la lista sulla destra apparir vuota ad eccezione della voce relativa allo Stato Attuale che rappresenta come si evince dal nome il presente nella storia della VM Le istantanee di una VM possono essere create anche durante il funzionamento della stessa e vanno a popolare la lista delle istantanee della Fig precedente determinando uno spostamento della voce Stato Attuale al di sotto dell ultima creata ad indicare che lo stato corrente della VM una variazione a partire dall ultima istantanea catturata Se successivamente si creano ulteriori istantanee si pu vedere che esse saranno mostrate in sequenza ed ognuna sar derivata dalla precedente VirtualBox permette di catturare un numero teoricamente arbitrario di istantanee essendo l unica limitazione pratica lo spazio disponibile sul disco dell host poich ogni istantanea conserva lo stato del momento della VM infatti chiaro che 59 occupera un certo spazio sul disco Il ripristino d
46. dio e ancora porte seriali e parallele virtuali e molte altre periferiche che si trovano nell hardware dei pi moderni PC Tutto ci semplifica notevolmente la realizzazione di cloni virtuali a partire da immagini di macchine reali nonch l importazione in VirtualBox di macchine virtuali realizzate con prodotti di virtualizzazione di terze parti Pieno supporto ACPI lo standard ACPI Advanced Configuration and Power Interface pienamente supportato da VirtualBox questo oltre a semplificare l importazione di cloni di macchine reali o di VM realizzate con altri virtualizzatori permette inoltre a VirtualBox di riportare ai S O guest compatibili con gli standard ACPI lo stato energetico dell host segnalando ad esempio nel caso di sistemi a batteria la carica residua disponibile Supporto per schermi multipli le VM realizzate con VirtualBox supportano risoluzioni anche superiori a quella dello schermo fisico dell host permettendo di suddividere l output delle VM su 49 pi schermi fisici distinti collegati all host v Possibilit di creare Istantanee delle VM VirtualBox pu creare e salvare delle istantanee o snapshots che fotografano lo stato di una VM e successivamente riportare l ambiente della VM a tale stato ripartendo magari da quella situazione per creare una configurazione alternativa della VM stessa in questo modo 1l VMM pu creare per ciascuna VM un vero e proprio albero delle istantanee permettendo di ri
47. e binaria VANTAGGI il pregio della paravirtualizzazione sta nel basso overhead di 42 virtualizzazione ma il guadagno in termini di prestazioni della paravirtualizzazione rispetto alla virtualizzazione di tipo full pu variare notevolmente a seconda del carico di lavoro inoltre in generale mentre costruire il sofisticato supporto della traduzione binaria necessario per la virtualizzazione completa molto difficile modificare il sistema operativo guest per consentire la paravirtualizzazione almeno per certi sistemi operativi relativamente facile SVANTAGGI il limite maggiore della paravirtualizzazione che essa non pu sostenere sistemi operativi proprietari non modificabili ad esempio Windows 2000 XP Seven e pertanto la sua compatibilit e portabilit molto limitata La paravirtualizzazione pu anche introdurre importanti problemi di supporto e di manutenibilit negli ambienti di produzione in quanto richiede profonde modifiche al kernel del sistema operativo Il progetto open source Xen un esempio di paravirtualizzazione che virtualizza processore e memoria utilizzando una versione modificata del kernel Linux e virtualizza l O usando driver di periferica del sistema operativo guest personalizzati C Virtualizzazione del Sistema Operativo Questo tipo di virtualizzazione viene realizzata attraverso la creazione di copie del S O installato sull Host I sistemi guest risultano cos a tutti gli effet
48. e o nastri magnetici mentre quelli di output erano stampanti perforatori di schede o ancora nastri magnetici In tale contesto l utente non interagiva direttamente col sistema bens tramite 1 cosiddetti job costituiti dal programma e dai dati da processare che affidava tipicamente sotto forma di schede perforate all operatore del computer L operatore ordinava tipicamente 1 vari job degli utenti programmatori in lotti 0 batch con requisiti analoghi per ottimizzare i tempi di utilizzo del computer stesso e li mandava in esecuzione l esito di ogni job dopo un tempo che poteva andare dai minuti ai giorni di elaborazione veniva poi restituito al relativo programmatore Il Sistema Operativo di tali primi computer era piuttosto semplice si parla appunto di S O batch semplici ed il suo compito era sostanzialmente quello di ricevere in input 1 batch contenenti le sequenze di job ad es tramite un lettore di schede stampandone tipicamente l output a fine elaborazione e trasferendo successivamente il controllo al job successivo Caratteristica evidente di tali sistemi batch semplici era l assenza di interazione tra utente e job durante l esecuzione dello stesso ed anche il fatto che la CPU del sistema era spesso inattiva essendo i tempi dei dispositivi elettromeccanici di I O sempre decisamente pi lenti di quelli di elaborazione della CPU Una significativa evoluzione dei S O avvenne con l introduzione dei dischi come s
49. e per la mancanza di sistema operativo Per questo motivo al primo avvio di una VM si scatena un apposita procedura guidata che ci aiuta a scegliere un supporto per l installazione del S O guest generalmente questo sar un supporto fisico CD o DVD ed in tal caso VirtualBox configurer la VM per utilizzare il lettore o uno a scelta dei lettori nel caso siano pi di uno dell host oppure potr essere un immagine ISO di un CD o DVD di installazione che sempre VirtualBox provveder a montare presentandola alla VM come un CD o DVD da cui fare 11 boot In entrambe 1 casi dopo le opportune scelte nella procedura guidata si sar in grado di installare il S O guest nella VM esattamente come si farebbe con quello di una macchina fisica Una volta installato e opportunamente configurato il S O guest sulla VM sar possibile utilizzare la macchina virtuale sostanzialmente come si farebbe con una analoga macchina reale con la sostanziale differenza che essa verr eseguita dal sistema host in una finestra o volendo anche a schermo intero in concomitanza con l esecuzione di tutti gli altri processi e applicativi del S O host nonch eventualmente di altre VM l unico limite pratico sar costituito dalle risorse 56 hardware del sistema host principalmente RAM e processore e sara appunto il VMM VirtualBox a gestire ed ottimizzare la condivisione delle stesse fra il sistema host ed 1 vari sistemi guest delle VM contemporaneamente in esec
50. e soltanto ad un ristretto numero di grandi organizzazioni ad uno decentralizzato accessibile anche alla piccola e media impresa ridimensionando le infrastrutture in una struttura orizzontale Il motivo scatenante che ha portato a questa mutazione del settore ICT si pu identificare con la crescita su scala mondiale di Internet grazie ad un miglioramento delle tecnologie disponibili e ad un abbassamento dei loro costi L uso di questo nuovo mezzo di informazione si ingrandito a tal punto da dar vita ad una reazione a catena da una parte le aziende e 1 privati fino ad allora estranei al mondo telematico hanno iniziato a trovare in internet un nuovo spazio dove poter offrire 1 propri servizi o dove pubblicizzarsi Dall altro si assistito alla nascita di un grandissimo numero di piccole e medie imprese in grado di rispondere a questo nuovo tipo di clientela la nascita della New Economy che ha avuto grande successo in poco tempo perch in grado di offrire la possibilit di operare in un mercato globale abbattendo 1 costi di gestione e di non vincolare la propria clientela ad uno spazio definito quale pu essere la sede fisica di una societ o di un esercizio commerciale Ed 1 pilastri della New Economy furono le imprese in grado di offrire la creazione e la gestione di siti internet al prezzi pi accessibili La richiesta era giunta ad un punto tale che uno sviluppo orizzontale era diventato inevitabile Ci si trov di fronte ad una
51. e tecnica che non fa troppo rimpiangere altri prodotti commerciali di fascia alta e generalmente assai pi costosi come ad es VMware rende questo tipo di Virtual Machine Manager particolarmente adatto ad una interpretazione della Virtualizzazione in chiave PMI o comunque di qualsiasi realt medio piccola e soprattutto con budget limitato Rifacendoci alle classificazioni precedentemente discusse VirtualBox si configura come un virtualizzatore di Tipo2 che si esegue quindi nel contesto di un Sistema Operativo host in grado di mettere in campo una virtualizzazione full sia di tipo esclusivamente software che laddove il i processori a disposizione la supportino di tipo hardware assisted A queste caratteristiche VirtualBox ne aggiunge un altra decisamente interessante per un VMM di Tipo2 quella di essere cross platform ovvero di poter girare su molteplici e differenti sistemi operativi host Tutto ci in pratica significa che VirtualBox un software di virtualizzazione che pu essere installato su un computer della famiglia x86 sia questo basato su processore Intel che su processore AMD indipendentemente dal fatto che questo sia equipaggiato con un S O Windows nella maggior parte delle sue versioni piuttosto che Linux nelle pi diffuse distribuzioni oppure Mac o ancora Solaris Inoltre le varie VM create con VirtualBox possono a loro volta eseguire una grande variet di sistemi operativi a 16 o 32 bit 47 Pertant
52. ease debug lt settings gt logflags release debug lt settings gt osdetect osinfo getregisters cpu lt id gt lt reg gt all setregisters cpu lt id gt lt reg gt lt value gt statistics reset pattern lt pattern gt descriptions list host lt vmname gt lt metric_list gt comma separated setup period lt seconds gt default 1 samples lt count gt default 1 list host lt vmname gt lt metric_list gt query host lt vmname gt lt metric_list gt enable list host lt vmname gt lt metric_list gt disable list host lt vmname gt lt metric_list gt collect period lt seconds gt default 1 samples lt count gt default 1 list detach host lt vmname gt lt metric_list gt add modify netname lt network_name gt ip lt ip_address gt netmask lt network_mask gt lowerip lt lower_ip gt upperip lt upper_ip gt enable disable remove netname lt network_name gt install replace lt tarball gt uninstall force lt name gt cleanup Per ogni chiamata di VBoxManage da shell del S O host pu essere eseguito un solo sottocomando di quelli sopra elencati anche se in diversi casi uno stesso sottocomando supporta svariati ulteriori sottocomandi ciascuno con propri parametri che in tal caso vengono eseguiti tu
53. ecidere se la VM deve disporre di una scheda audio e se l output audio debba essere sentito mediante l host cfr Fig 5 9 E THOLWinSRV2003 Impostazioni i O Generale Sistema Schermo Archiviazione po Audio Controller audio imc si Intel HD Audio GP Rete Coro SoundBlaster 16 Porte seriali USB Cartelle condivise V Abilita audio Driver audio host Windows DirectSound v Seleziona una categoria di impostazioni dall elenco sul fato sinistro e sposta puntatore del mouse su un elemento delle impostazioni per ottenere ulterior informazioni Lo Annulla Aiuto Fig 5 19 Impostazioni Audio Abilitando l audio per la VM si pu scegliere tra l emulazione di tre tipi diversi di scheda audio Intel AC 97 Intel HD Audio controllers e Soundblaster 16 questi tre sistemi virtuali sono fra 1 pi diffusi e supportati dai possibili S O guest 75 Qualunque sia la scelta per la scheda audio virtualizzata sul Guest possibile selezionare quale driver audio dovr essere utilizzato da VirtualBox per riprodurre 1 suoni sull Host 5 3 6 Sezione Rete La sezione Rete nella finestra Impostazioni permette di configurare se e in che modo VirtualBox debba provvedere a presentare una o pi schede di rete virtuali alla VM ed in che modo esse debbano eventualmente operare 5 THOI WinSRV2003 Impostazic E es iS Generale Rete Sistema a e
54. elle VM realizzate con VirtualBox non richiedano alcuna modifica sono stati messi a punto per la maggior parte dei S O guest supportati delle estensioni dette guest addition che installate nel S O della VM come un qualsiasi software di terze parti ne migliorano le performance offrendo comunicazione ed integrazione aggiuntiva con il sistema host ad esempio dopo l installazione dell apposita guest addition una VM supporter l aggiustamento automatico della risoluzione video piuttosto che l accelerazione grafica 3D ed altre numerose funzioni come ad es il supporto alle shared 48 folders ovvero cartelle condivise fra guest e host sulle quali torneremo in un successivo paragrafo v Grande supporto hardware per i S O guest tra gli altri VirtualBox supporta Guest multiprocessing VirtualBox in grado di presentare fino a 32 CPU virtuali a clascuna VM a prescindere dal numero di CPU e di core fisicamente presenti sull host utilizzato Supporto a dispositivi USB VirtualBox implementa un controller USB virtuale e permette di connettere qualsiasi periferica dispositivo USB alle VM senza la necessit di installare alcun driver sull host Compatibilit hardware VirtualBox virtualizza una vasta schiera di dispositivi tra cui molti di quelli tipicamente utilizzati da altre piattaforme di virtualizzazione ad es VMware tra questi troviamo controller IDE SATA e SCSI diversi tipi di schede di rete virtuali o schede au
55. endo non solo al sistema guest di vedere come direttamente collegati 1 dispositivi USB dell host ma anche nel caso di accesso remoto tramite VRDP 1 dispositivi USB connessi alla macchina sulla quale in esecuzione il client RDP 5 3 8 Sezione Cartelle Condivise La sezione Cartelle Condivise infine permette di definire delle cartelle nel disco fisico del server host successivamente mappabili come cartelle condivise anche per il S O guest cfr Fig 5 2 Questa impostazione anche se riduce l isolamento delle VM pu risultare utile per scambiare in modo semplice file fra VM e host Il funzionamento di questa caratteristica condizionato all installazione nel S O guest delle Guest Addition cfr paragrafo 5 1 78 MI Generale Cartelle condivise Sistema Schermo Archiviazione Audio GP Rete GS Porte seriali QP USB Cartelle condivise Elenco delle cartelle Nome Percorso Seleziona una categoria di impostazioni dall elenco sul lato sinistro e sposta i puntatore del mouse su un elemento delle impostazioni per ottenere ulteriori informazioni ok Anula Aiuto Fig 5 21 Impostazioni Cartelle Condivise 5 4 L INTERFACCIA DI VBOXMANAGE Come gi accennato nel paragrafo 5 2 7 Utilizzo di front end alternativi al VirtualBox Manager VBoxManage l interfaccia a riga di comando di VirtualBox Con essa possibile controllare minuziosamente sia 1 comportamenti del
56. ente simile a quella odierna 2 3 Inizialmente alla portata delle sole grandi imprese o delle grandi realt scientifiche laboratori di ricerca statali e o militari ricche di risorse e dotate di mezzi non certo comuni erano i tempi dei grandi mainframe la sua tecnologia oggi disponibile per piattaforme e sistemi informatici alla portata di realt anche piccole e cosa non secondaria a costi molto pi contenuti se non addirittura in alcuni casi gratuitamente grazie ad iniziative open source o comunque inclusa nel prezzo dei prodotti che la implementano quali ad esempio software di sistemi operativi L argomento virtualizzazione ormai divenuto cos caldo che numerosissimi produttori software cercano di pubblicizzare 1 propri prodotti come appartenenti ed orientati a questo contesto tecnologico in realt possiamo dire schematicamente ma in modo sostanzialmente corretto che sono riconducibili al contesto della virtualizzazione tutti quei prodotti e strumenti che concorrono in parte o integralmente ai seguenti obiettivi chiave Introdurre un ulteriore livello di astrazione tra le applicazioni e l hardware Favorire una riduzione dei costi e della complessit 15 Cenni Storici Eliminare le ridondanze e massimizzare l utilizzo delle infrastrutture IT Migliorare 1 livelli e la qualit del servizio Allineare in modo pi efficace 1 processi IT agli obiettivi aziendali Garantire l isolamento
57. er lo sviluppo dei VMM Bench ci siano diverse implementazioni della VMM per x86 si possono riassumere in quattro distinte categorie 10 11 Full Virtualization Paravirtualizzation Operating System Virtualization e Native o Hardware Assisted Virtualization Vediamo di seguito rapidamente caratteristiche e principali vantaggi e svantaggi di ciascuna di esse A Full Virtualization una tecnica di virtualizzazione che fornisce un ambiente in grado di simulare completamente l hardware sottostante Il risultato un sistema in cui tutto il software in grado di essere eseguito su hardware reale pu essere eseguito senza modifiche anche su macchina virtuale VANTAGGI questo tipo di virtualizzazione garantisce il pi ampio supporto alla maggior parte dei sistemi operativi e applicazioni guest che possono girare sulle macchine virtuali senza alcuna modifica e tipicamente senza alcuna consapevolezza di avere a che fare con hardware virtuale Le varie VM risultano completamente isolate l una dall altra e dal VMM stesso 40 SVANTAGGI nella sua forma teorica la full virtualization non Immediatamente realizzabile nell architettura x86 in quanto le istruzioni privilegiate dei S O guest non sono direttamente eseguibili nel ring 0 percepito perch questo necessariamente al di sopra del ring 0 reale anche nel caso di VMM di Tipo 1 per questo motivo solo alcune istruzioni sono eseguite senza manipolazione d
58. era in grado di eseguire un unica installazione del sistema operativo IBM in modo stabile indipendente e con elevate prestazioni 7 Anche se 1 risultati di IBM sono stati 1 pi influenti per la storia della virtualizzazione non si pu dire che questa fosse l unica ad impegnarsi gia sul finire degli anni 60 per progetti basati sull implementazione del Time Sharing 18 Il paradigma accentrato degli albori dell IT tanto che nella storia dei mainframe dell epoca non possono essere taciuti riferimenti al Los Alamos Scientific Laboratory ed al Lawrence Livermore Laboratory con il loro Cray Time Sharing System 8 un sistema operativo sviluppato nei primi anni 70 per 1 supercomputer Cray X MP utilizzati ampiamente in quegli anni anche per la ricerca nucleare dal Dipartimento di Energia degli Stati Uniti Ad ogni modo proprio attraverso i vari progetti sopra accennati il time sharing divenne presto ampiamente accettato e riconosciuto come un modo efficace per rendere pi accessibili i primi mainframe Fin qui abbiamo ripercorso sia pure in modo necessariamente sommario vista la vastit dell argomento 1 primi passi delle tecniche che hanno portato alla virtualizzazione ed 1 primi progetti che ne avrebbero permesso l evoluzione della tecnologia ad essa correlata fino ai giorni nostri Come visto gli sforzi maggiori erano all inizio volti al perfezionamento della virtualizzazione dei server ed in questo primo tipo
59. esecuzione degli stessi cominciando anche ad assumere quella connotazione di allocatori di risorse condivise fra 1 vari job di cui si diceva sopra L evoluzione successiva dei S O legata ancora una volta anche ad un evoluzione hardware dei sistemi di calcolo Pian piano l esigenza di interazione fra utente programmatore e S O divent sempre pi sentita 1 lettori di schede vennero soppiantati dalle tastiere e mouse e le stampanti dagli schermi A quel punto quasi come naturale estensione logica della multiprogrammazione si arriv a S O che impiegavano il time sharing ovvero la commutazione della CPU fra l esecuzione di pi job con una frequenza tale da permettere agli utenti ed anche a pi utenti contemporaneamente di interagire con 1 propri programmi poich le interazioni degli utenti con il sistema avvenivano con tempi umani comunque assai pi lunghi rispetto a quelli di elaborazione anche con le CPU dell epoca ogni utente aveva l impressione di lavorare da solo sul computer mentre in effetti questo era condiviso da molti utenti I S O time sharing riuscivano cos ad ottimizzare ulteriormente l impiego del tempo macchina della CPU massimizzando il ritorno in termini anche di numero di utilizzatori contemporanei dei grandi investimenti necessari per 1 costosi mainframe dell epoca Ovviamente il passaggio a S O time sharing accentu quell aumento di complessit che si era gi avuto nel
60. g 1 e 2 attuano l esecuzione dei servizi del sistema operativo e dei driver delle periferiche Infine 11 Ring 3 l anello pi esterno legato all esecuzione delle applicazioni fornisce solo accesso limitato come illustrato nella Fig 4 2 Least privileged i Most privileged Device drivers Device drivers Fig 4 2 Anelli privilegiati nell Architettura x86 Nella moderna architettura dei sistemi operativi Windows Linux e la maggior parte dei sistemi UNIX viene ancora utilizzata la struttura ad anelli anche se stata ridotta ad un approccio a doppio strato che utilizza solo gli anelli 0 e 3 come schematizzato in Fig 4 3 Fig 4 3 Anelli privilegiati nei moderni S O 34 Tipi di VMM Al Ring 0 comunemente chiamato Supervisor Mode Modalit Supervisore stato demandato il compito assegnato in precedenza ai tre anelli interni Ring 0 1 e 2 mentre il Ring 3 noto come User Mode Modalit Utente ha mantenuto le stesse funzioni Meccanismi di sicurezza implementati direttamente in hardware impongono restrizioni al Ring 3 limitando l accesso di codice ai segmenti al paging e alle operazioni di input output Se ad esempio un programma utente eseguito sul Ring 3 cerca di indirizzare della memoria al di fuori dei segmenti di sua competenza un hardware interrupt interruzione hardware blocca l esecuzione di codice Come si visto il Supervisor Mode la modalit su u
61. gari eccessivi e ingiustificati gli investimenti e le complicazioni tecniche almeno nella fase di progettazione ed Implementazione iniziale della piattaforma stessa inevitabilmente maggiori della tipica soluzione basata esclusivamente su hardware fisico In realt oltre a quello che abbiamo definito approccio classico alla virtualizzazione che rimane oggi come oggi innegabilmente quello pi diffuso possibile grazie anche ai recenti e continui sviluppi di soluzioni di virtualizzazione derivanti dal mondo open source adottare anche un approccio diverso nel contesto del quale la virtualizzazione pur non rinunciando completamente ai vantaggi sopra descritti trova impiego anche in realt piccole o addirittura piccolissime con soluzioni per contro decisamente economiche con questo approccio del quale cercheremo di vedere rapidamente qualche esempio pratico nella parte finale di questa chiacchierata accanto ai concetti di potenza efficienza affidabilit e disponibilit un po meno vitali come si diceva rispetto al caso delle grandi realta ma certo non completamente accantonabili anche per realt medio piccole trovano un posto di rilievo altri aspetti quali ad esempio la possibilit di isolare grazie all utilizzo di macchine virtuali attivit potenzialmente pericolose informaticamente parlando per la rete aziendale o anche la possibilit di mantenere contemporaneamente in esercizio sulla stessa macchina fisic
62. gime in ambiente di produzione proprio la presenza di un interfaccia da riga di comando come appunto VBoxManage avvicina di molto le prestazioni e le caratteristiche offerte da un prodotto gratuito come VirtualBox a quelle di prodotti commerciali pi blasonati e costosi come VMware 5 3 CONFIGURAZIONE DELLE VM DI VIRTUALBOX Nel paragrafo precedente abbiamo iniziato ad introdurre gli elementi fondamentali relativi a VirtualBox ed alle macchine virtuali realizzabili con tale virtualizzatore Come abbiamo visto gi in fase di creazione di una VM possibile impostarne alcune caratteristiche tipo il quantitativo di RAM ovvero l ammontare di spazio disco ecc queste e molte altre caratteristiche relative all hardware virtualizzato della VM possono essere impostate anche successivamente sia tramite l interfaccia grafica offerta dal Gestore di VirtualBox sia in modo molto pi fine e con possibilit di regolazione assai pi ampie mediante l interfaccia a riga di comando di VBoxManage Le possibili regolazioni ed 1 settaggi disponibili per le VM realizzabili con VirtualBox sono numerosissimi e variamente complicati e la loro completa descrizione esula e travalica l obiettivo di questo breve seminario Di seguito per vogliamo considerare un po pi nel dettaglio almeno alcune delle principali configurazioni e regolazioni applicabili alle nostre macchine virtuali con particolare attenzione a quelle adottate nella realizzazione dell am
63. gregare e unificare Nel caso della virtualizzazione 1 carichi di lavoro vengono concentrati in un minor numero di piattaforme fisiche in grado comunque di sostenere le loro richieste di risorse quali CPU memoria e I O Molto spesso nei data center 1 carichi di lavoro in esecuzione sono ben lontani dallo sfruttare pienamente l hardware su cui girano con conseguente spreco delle infrastrutture e abbassamento dei profitti Attraverso il consolidamento la virtualizzazione permette di concentrare in modo strategico le istanze dei server o dei sistemi operativi con 1 rispettivi carichi di lavoro ponendoli su hardware condiviso con una disponibilit di risorse sufficienti a soddisfarne la domanda In passato si pensava che i server non dovessero essere fatti lavorare in prossimit del loro limite di capacit invece vero il contrario Al fine di massimizzare l investimento 1 server devono lavorare il pi possibile vicino al loro carico massimo ovviamente senza saturare completamente le risorse disponibili compromettendo le prestazioni dei carichi di lavoro o dei processi in esecuzione Seguendo una corretta pianificazione e comprendendo quanto incidono tali processi la virtualizzazione contribuisce all incremento del livello di utilizzo dei server riducendo nel contempo il numero di piattaforme fisiche necessarie Un discorso a parte pu poi essere fatto per 1 cosiddetti sistemi legacy con tale appellativo che potrebbe essere tradotto un po
64. hina virtuale La dimensione consigliata della memoria di base 256 MB Dimensione della memoria di base fc eee 8192 MB Fig 5 4 Creazione Nuova VM impostazione RAM Il passi successivi permettono di specificare un hard disk virtuale per la VM ci sono diversi modi anche molto complicati con 1 quali VirtualBox pu fornire una VM di spazio disco e sui quali torneremo in seguito ma quello pi semplice consiste nell utilizzare un grosso file immagine sull hard disk fisico del sistema host presentandone 11 contenuto alla VM come se fosse un disco completo Da notare che questo file rappresenta un hard disk completo e potr quindi essere anche eventualmente copiato e spostato su un altro host con VirtualBox per essere impiegato con un altra VM oppure anche con una differente VM nell ambito dello stesso host pr amp Crea u ina nuova macchina virtua Disco fisso virtuale Se lo desideri ora puoi aggiungere un disco di avvio alla macchina virtuale Puoi creare un nuovo disco virtuale o selezionarne uno dall elenco o da un altra posizione premendo il pulsante con l icona di una cartella Se necessiti di una configurazione pi complessa dei dischi virtuali puoi anche saltare questa fase e apportare le modifiche alle impostazioni della macchina una volta creata La dimensione consigliata del disco di avvio 20 00 GB Disco d avvio Crea un nuovo disco fisso Usa un disco fisso esistente THO 1 WinSRV2003
65. i Conf Annulla Aiuto Fig 5 16 Impostazioni Schermo Video a Video Qui possibile fissare la quantita di memoria video della scheda grafica virtuale presentata alla VM cos come per la memoria RAM della VM anche tale porzione di memoria sar ritagliata da VirtualBox dalla memoria fisica dell host Cos come per le schede video reali ad un maggior quantitativo di memoria corrisponder la disponibilit risoluzioni e profondit di colore pi elevate per il S O guest Sempre nello stesso tab possibile scegliere il numero di monitor fino ad un massimo di 8 virtualmente connessi alla VM nel caso in cui il sistema operativo guest della VM supporti pi monitor come nel caso di Windows cos come pure abilitare l accelerazione 2D e 3D per il guest feature quest ultime che richiedono comunque anche l installazione delle gi citate Guest Addition 69 nel S O guest della VM cfr paragrafo 5 1 4 Schermo Remoto in questa scheda cfr Fig 5 7 possibile abilitare per la VM il VRDP VirtualBox Remote Display server integrato in VirtualBox Questo permette di connettersi da remoto alla macchina virtuale in questione utilizzando un qualsiasi rdp viewer standard come mstsc exe di Microsoft o l open source rdesktop per Linux o Solaris THO1 WinSRV2003 Impostazioni Generale Schermo Sistema E Video Schermo remoto Schermo weee L Archiviazione V Abilita server pp Audio P
66. i istanze Server condivise onsolidamento Logico per il consolidamento dei carichi di lavoro Oo O N 9 N N am o 5 E gt Eliminazione di applicazioni inutili e o ridondanti zionalizzazione del Sistema Fig 4 1 Ruoli della virtualizzazione nell ottimizzazione dei server I benefici che giustificano lo spostamento di un organizzazione IT verso un infrastruttura virtuale si possono semplificare in tre concetti principali a Consolidamento Aumenta lo sfruttamento dei server semplifica la migrazione dei software legacy programmi tipicamente forniti da terze parti sviluppati anni addietro con le tecnologie disponibili all epoca e che sebbene abbiano subito interventi di manutenzione non sono mai stati rimpiazzati ospita sistemi operativi misti e semplifica gli ambienti di sviluppo e di test a Affidabilit Isola eventuali difetti e o guasti causati dal software all occorrenza rialloca le VM Macchine Virtuali esistenti o ne crea nuove di failover permettendo di trasferire funzioni di sistema svolte da una macchina virtuale compromessa ad una nuova perfettamente funzionante 25 Consolidamento a Sicurezza Contiene gli attacchi informatici attraverso l isolamento delle minacce e dei bug permettendo anche di applicare differenti Impostazioni di sicurezza ad ogni VM coesistente sullo stesso host L obiettivo alla base delle tecniche di consolidamento si pu riassumere con i termini ag
67. i una qualsiasi istantanea della VM pu essere fatto semplicemente cliccando con il bottone destro del mouse direttamente su di essa e scegliendo l apposita voce nel men contestuale cos facendo si torna indietro o avanti nel tempo lo stato attuale della VM viene perso ed essa viene riportata esattamente allo stato in cui si trovava quando stata creata l istantanea selezionata E importante notare che il ripristino di un istantanea un operazione che ha effetto sull intero stato della VM ivi compresi gli hard disk virtuali ad esse connessi questo significa che tutti 1 file creati o modificati dopo la creazione dell istantanea che si vuole ripristinare verranno persi per evitare la perdita di dati in tale situazione possibile creare una nuova istantanea della VM prima di procedere al ripristino Ripristinando un istantanea precedente allo stato attuale e successivamente creandone di nuova a partire da quella possibile creare una sorta di realt alternativa per la VM e passare successivamente dall una all altra storia della macchina virtuale Il risultato pu cos essere quello di una sorta di albero delle Istantanee come appunto in Fig 5 8 con possibili percorsi alternativi nella timeline della VM Le istantanee di una VM possono infine anche essere cancellate questo non avr effetto sullo stato attuale della VM ma permetter di rilasciare spazio su disco eliminando 1 file utilizzati da VirtualBox per memorizzare lo sta
68. icherebbero conflitti di scrittura sullo stesso disco Modalit Writethrough al contrario del caso precedente un disco in tale modalit non viene assolutamente riguardato dalla creazione e dal ripristino delle istantanee questo pu essere utile per il salvataggio di dati e documenti critici di cui non si vuole perdere la versione aggiornata in caso di ripristino di una vecchia istantanea della VM Modalit Condivisibile come nel caso della Writethrough anche con questa modalit lo stato del disco non viene n salvato n ripristinato con eventuali istantanee della VM la differenza fondamentale sta nel fatto che un disco in modalit condivisibile pu essere montato su diverse macchine virtuali che sono in esecuzione contemporaneamente ovviamente per un corretto funzionamento necessario che le macchine virtuali in questione siano equipaggiate con un apposito filesystem di tipo cluster e con applicazioni appositamente disegnate per l utilizzo concomitante del disco Modalit Invariabile un disco in tale modalit memorizza gli accessi in scrittura solo temporaneamente ovvero per il tempo in cui la VM accesa tutti 1 cambiamenti vengono persi ad ogni nuovo avvio della macchina virtuale Con questa modalit la stessa immagine disco pu essere utilizzata contemporaneamente da diverse macchine virtuali in pratica l immagine invariabile serve solo da comune punto di partenza al boot delle VM ma poi le eventuali modifiche al
69. ienti di sviluppo e di test generalmente necessari in ambito aziendale prima di mettere in produzione una nuova versione di software 0 peggio un nuovo tipo di applicativo destinato a rimpiazzare uno precedentemente in uso Invece di avere una proliferazione incontrollata dell infrastruttura dovuta alla nascita di nuovi progetti o nuovi rilasci o al mantenimento di applicazioni esistenti la virtualizzazione consente di consolidare molti di quei carichi di lavoro su un minor numero di server fisici Lo strato di astrazione introdotto dalla virtualizzazione infine pur facendo girare ogni VM come se fosse in esecuzione su hardware dedicato consente tuttavia una flessibilit che non si avrebbe in un contesto puramente fisico Le partizioni possono infatti all occorrenza essere riassegnate per servire altre funzioni Si immagini un server che ospiti un applicazione client server utilizzata solo durante l orario che va dalle 9 00 alle 18 00 dal luned al venerd un altro server che abbia in esecuzione processi batch atti ad eseguire determinati controlli sul lavoro della giornata chiudendo le operazioni ogni notte e un altro ancora responsabile dei lavori di manutenzione sui dati nel week end In un mondo puramente fisico essi esisterebbero come tre server dedicati molto utilizzati durante le ore di rispettivo esercizio ma inattivi quando non svolgono la loro attivit Questo provocherebbe un grande sottoutilizzo e di conseguenza renderebbe pi
70. in modo sia pure sintetico 1 primi passi attraverso 1 quali realizzare con successo delle macchine virtuali con VirtualBox 5 2 1 Installazione e avvio di VirtualBox VirtualBox distribuito in differenti pacchetti a seconda del tipo di sistema host su cui deve essere installato l installazione non presenta particolari problemi ricalcando per ciascun S O host quella di un tipico software di terze parti nel caso particolare di Sistemi host Windows ad esempio si presenta come 1l classico eseguibile di setup Una volta terminata l installazione e lanciando per la prima volta VirtualBox ci si trover di fronte ad una finestra come quella in Fig 5 che costituisce il cosiddetto Gestore di VirtualBox o VirtualBox Manager ovvero l interfaccia grafica del VMM Y Sun VirtualBox ID g Fie Macchina Akto Pa Dettagli 9 Nuova postar Aa Scota Benvenuti in VirtualBox La parte sinistra d questa finestra visusiuza un elenco delle macchine virtual sul tuo computer L elenco a momento vuoto perch non sono ancora state create macchine vetus Per creare una rivova macchina vetuale premere i pubsarte Nuova nels barra degli strumenti principale posinonates nela Pay parte ata dela Minestra gt lt P Premere tasto FI per ottenere ato mmedatamente o visitare van vetuaibox org per le ultime notizie e infonnazioni Pi Fig 5 1 Primo avvio dell interfaccia grafica del VMM VirtualBox Sulla sinistra si pu notare
71. l IBM 7094 nel quale introduceva 11 Compatible Time Sharing System 6 CTSS ovvero un sistema di time sharing compatibile con lo standard di elaborazione batch del sistema operativo utilizzato dalla macchina il Fortran Monitor System FMS che consentiva di eseguire grossi carichi di lavoro tipicamente non interattivi 1 jobs in modo pianificato Il CTSS non solo poteva eseguire una copia di FMS nel computer principale 7094 utilizzato come strumento primario per il flusso dello standard batch ma poteva anche avviarne una copia in ogni macchina virtuale collegata ad esso In questo modo 1 jobs in background avrebbero potuto accedere a tutte le periferiche quali nastri stampanti lettori di schede perforate e display grafici al pari dei jobs FMS in foreground purch non interferissero con l esecuzione di quest ultimi o con qualsiasi altra risorsa collegata ad essi Alla fine degli anni sessanta un gruppo di ricercatori IBM del Cambridge Scientific Center CSC guidati da Norm Rassmussen e Robert Creasy svilupparono con successo il primo sistema operativo per macchina virtuale basato su hardware completamente virtualizzato il CP 40 precursore del popolare VM 370 quest ultimo rilasciato nel 1972 grazie al componente Virtual Machine Monitor VMM il controllore della macchina virtuale avviato su hardware reale era in grado di eseguire numerose macchine virtuali indipendenti su copie virtuali di hardware Ogni macchina virtuale del VM 370
72. la sezione nella quale saranno successivamente elencate tutte le macchine virtuali disponibili sul sistema host poich al primo avvio non si ancora creato alcuna VM in figura la lista appare vuota SI Nella parte superiore della finestra una riga di pulsanti permetta di creare nuove VM e di interagire con quelle esistenti nella parte destra della finestra verranno mostrate le proprieta della VM via via selezionata nella lista di sinistra ancora una volta poich la figura sopra si riferisce ad una situazione in cui non sono ancora state create macchine virtuali la sezione di destra contiene soltanto un generico messaggio di benvenuto Tanto per avere un idea di come pu apparire l interfaccia grafica del VMM di VirtualBox dopo che si sono create alcune VM si pu considerare la Fig 5 2 oe inn Sn File Macchina Aiuto D 2 D Nuova Impostazioni Avvia Scarta 64 Win7 Ult 64bit Spenta cE Ubuntu10 10 Lf spenta ag THOL WinSRV2003 AR Spenta E Generale Nome THO 1 WinSRV2003 Sistema operativo Windows 2003 Sistema Memoria di base 2048 MB Ordine di avvio Floppy CD DVD ROM Disco sso Accelerazione VT x AMD V Paginazione Dettagli Istantanee m Anteprima THO1 WinSRV2003 WE WinXPProsP3 nidificata PAE NX v Spenta I gt THO2 WinSRV2003 7003 sSpenta Schermo Memoria video 32 MB Win8 Preview Server di desktop remoto Disabilitato Spenta 64
73. lenco sul lato sinistro e sposta d puntatore del mouse su un elemento delle impostazioni per ottenere ulteriori informazioni Annulla Aiuto Fig 5 15 Impostazioni di Sistema Accelerazione virtualizzazione hardware cosa generalmente limitata alle CPU di fabbricazione antecedente il 2007 la scheda Accelerazione risulter disabilitata Come gi detto VirtualBox a differenza di altri virtualizzatori riesce a funzionare anche su sistemi host pi datati con CPU prive delle istruzioni estese per la virtualizzazione hardware sopperendo con la virtualizzazione 68 software ovviamente laddove possibile l abilitazione delle suddette istruzioni riduce il lavoro di overhead del virtualizzatore e determina un incremento anche significativo delle prestazioni delle VM 5 3 3 Sezione Schermo Nella sezione Schermo trovano posto le impostazioni relative alle periferiche x e video virtuali della VM anche tale sezione organizzata in schede cfr Fig 5 16 Generale Schermo Sistema a Schermo Video Schermoremoto Archiviazione Memoria video B Audio di sese PP Rete Numero di monitor Porte seriali USB Cartelle condivise Funzionalit estese Abilita accelerazione 3D Seleziona una categoria di impostazioni dall elenco sul lato sinistro e sposta i puntatore del mouse su un elemento delle impostazioni per ottenere ulteriori informazion
74. licativi utente con il compito di evitare errori e conflitti degli stessi fra loro e nei confronti dei vari dispositivi di I O oltre che con il S O stesso Una definizione generica ma anche generale e comunemente accettata di S O pu essere in ultima analisi quella secondo la quale un S O l unico programma che sempre in esecuzione su un computer e che proprio per questo detto anche Kernel cio nucleo a differenza di tutti gli altri applicativi che rispondono di volta in volta alle particolari esigenze degli utenti 2 2 CLASSIFICAZIONE DEI S 0 Un buon metodo per introdurre una classificazione dei sistemi operativi pu Classificazione dei S O essere quello di ripercorrere rapidamente la loro evoluzione negli ultimi 40 anni circa Tale evoluzione strettamente legata a quella dell hardware dei sistemi di calcolo per i quali erano pensati in un rapporto decisamente bidirezionale se infatti ovvio che le caratteristiche hardware dei sistemi di calcolo determinino certe caratteristiche dei rispettivi S O anche vero che spesso problematiche emerse con l evoluzione di certe funzionalit dei S O hanno storicamente portato all introduzione di nuove caratteristiche dell hardware di generazioni successive I primi computer anni 50 60 erano macchine enormi e assai costose il cui funzionamento era regolato da una consolle 1 dispositivi di input erano tipicamente lettori di schede perforat
75. ll cio con un operazione che genera un interrupt appunto verso il S O Il Sistema Operativo lavorando in modalit monitor verifica la validit della richiesta e la compatibilit con la propria integrit e con quella di tutti gli altri applicativi utente ed in caso affermativo la soddisfa restituendo poi il controllo al programma utente La presenza di diversi livelli di privilegio per l esecuzione di determinate istruzioni o per l accesso a determinate porzioni di memoria verr ripresa fra breve quando parleremo degli anelli ring di privilegio e della collocazione rispetto ad essi dei software di Virtualizzazione 13 14 Obiettivi chiave Virtualizzazione 3 LE BASI DELLA VIRTUALIZZAZIONE Come gi detto introducendo questo Seminario il termine virtualizzazione negli ultimi anni ha guadagnato una sempre maggiore popolarit tra 1 professionisti e responsabili IT Presentandosi in primo luogo con la promessa di ridurre la complessit delle infrastrutture presenti all interno dei moderni data center le tecnologie di virtualizzazione sono penetrate in decine di aziende societ ed organizzazioni Le tecniche ed 1 concetti alla base della virtualizzazione prendono le mosse gi dagli anni 60 del secolo scorso evolvendosi poi sia nelle modalit di implementazione che negli obiettivi principali che si prefiggevano fino ad arrivare ormai da pi di tre decenni ad una forma di attuazione concettualm
76. lla VM cfr Fig 5 10 SS OOS wy Clona una macchina virtuale i Benvenuti nella procedura guidata di clonazione di una macchina virtuale Questa procedura ti aiuter a creare un clone della macchina virtuale Usa il pulsante Avanti per spostarti alla pagina successiva della procedura guidata e il pulsante Indietro per tornare alla pagina precedente Puoi inoltre premere Annulla se vuoi annullare l esecuzione di questa procedura guidata Scegli un nome per la nuova macchina virtuale Clone di CED Ubuntu10 10 J Inizializza nuovamente l indirizzo MAC di tutte le schede di rete Sane Fig 5 10 Clonazione di una VM Procedura Guidata Questa opzione particolarmente utile quando la VM sorgente e la VM clonata dovranno operare nel contesto della stessa rete Proseguendo con la creazione guidata ci viene richiesto se vogliamo realizzare un Clone Completo Full Clone o un Clone Collegato Linked Clone nel primo caso sar creata una copia completa incluso le immagini di tutti 1 dischi virtuali della VM originale nel secondo caso invece sar creata una nuova VM ma le immagini dei dischi virtuali punteranno a quelle della VM originale per la quale sar creata una nuova Istantanea di riferimento Si noti che per clonare una macchina virtuale necessario che questa risulti spenta 5 2 7 Utilizzo di front end alternativi al VirtualBox Manager A conclusione del rapido excursus fatto per introdurre 11 V
77. lmente inattivi Si riducono cos ad essere sotto utilizzati fornendo poco valore all azienda sebbene il loro costo sia molto elevato La virtualizzazione aiuta a risolvere anche questo problema consentendo all occorrenza la dotazione di partizioni aggiuntive just in time JIT letteralmente sul momento ovvero assegnate in modo dinamico nel momento del bisogno o on demand su richiesta Ad esempio possibile predisporre VM di scorta costruite e configurate con il medesimo sistema operativo e le stesse applicazioni delle corrispondenti VM di produzione che possono essere tenute in uno stato di inattivit spegnendole o mettendole in sospensione pronte per essere attivate quando si verifica un errore In questo scenario possibile pensare ad un numero di VM di scorta decisamente superiore al numero di server hardware di emergenza al limite si potrebbe anche pensare di avere in azienda un unico hardware dedicato al fault tolerance sul quale viene eseguita al volo una o pi VM di scorta in corrispondenza di guasti o fermi non previsti di una o pi VM dell ambiente di produzione Si capisce che in questo modo si riducono drasticamente 1 costi e soprattutto il sottoutilizzo dell hardware acquistato si potrebbe anche pensare che il server dedicato al fault tolerance esegua VM dedicate a processi meno critici e pertanto immediatamente interrompibili per far posto a quelli delle VM di scorta in caso di bisogno nei m
78. loppy dell host piuttosto che una SAN ecc Anche 1 controller virtuali sintetizzati da VirtualBox possono essere cos come quelli reali presenti fisicamente sulle motherboard dei computer di vario tipo alla versione attuale 1 controller previsti da VirtualBox possono essere di tipo IDE SATA SCSI e SAS Ovviamente come nel caso di sistemi fisici non sufficiente che la VM presenti un certo tipo di controller ma anche necessario che il S O guest installato su di essa lo supporti Come risultato della procedura guidata precedentemente descritta per la realizzazione di una macchina virtuale la sezione Archiviazione della finestra Impostazioni della VM in questione avr l aspetto mostrato nella Fig 5 18 che rappresenta la tipica configurazione per 1 dispositivi di memorizzazione nel caso in cui il S O guest sia sufficientemente moderno da supportare nativamente sia 5 THO1 WinSRV2003 Impostazion Generale Archiviazione Sistema Albero di archiviazione Attributi Schermo 5 S Controller IDE Lettore CD DVD IDE slave primario Vuoto Live CD DVD amp amp Controller SATA Informazioni Rete Tipo THO 1 WinSRV2003 disk1 vmdk ste Porte seriali Dimensione Audio USB Posizione a Collegato a Cartelle condivise E E e Archiviazione P eP D B IYA Seleziona una categoria di impostazioni dall elenco sul lato sinistro e sposta puntatore del mouse su un elemento delle imp
79. lue gt add lt index 0 N gt target lt uuid gt lt name gt global name lt string gt action ignore hold global filters only active yes no yes vendorid lt XXXX gt null productid lt XXXX gt null revision lt IIFF gt null manufacturer lt string gt null product lt string gt null remote yes no null VM filters only serialnumber lt string gt null maskedinterfaces lt XXXXXXXX gt modify lt index 0 N gt target lt uuid gt lt name gt global name lt string gt action ignore hold global filters only active yes no vendorid lt XXXX gt productid lt XXXX gt revision lt IIFF gt manufacturer lt string gt product lt string gt remote yes no null VM filters only serialnumber lt string gt maskedinterfaces lt XXXXXXXX gt remove lt index 0 N gt target lt uuid gt lt name gt global add lt vmname gt lt uuid gt name lt name gt hostpath lt hostpath gt transient readonly automount remove lt vmname gt lt uuid gt 94 VBoxManage debugvm VBoxManage metrics VBoxManage dhcpserver VBoxManage dhcpserver VBoxManage extpack name lt name gt transient lt uuid gt lt name gt dumpguestcore filename lt name gt info lt item gt args injectnmi log release debug lt settings gt logdest rel
80. molte delle caratteristiche appannaggio dei 10 S O per mainframe migrarono progressivamente all interno dei moderni Sistemi Operativi per personal computer solo per fare un esempio il multitasking evidentemente figlio della multiprogrammazione e del time sharing Per completare questa rapida classificazione dei Sistemi di Calcolo e dei relativi S O vogliamo infine solo accennare anche ai Sistemi Paralleli caratterizzati da pi CPU in stretta comunicazione e che condividono bus memoria e dispositivi periferici ed ai Sistemi Distribuiti nei quali invece pi processori ciascuno con le proprie risorse possono essere dislocati in sedi remote e sono in collegamento tra loro e con gli utenti tramite una apposita rete Infine un discorso a parte riguarda i cosiddetti Sistemi real time utilizzati in tutte quelle situazioni dove sono richiesti vincoli di tempo pi hard real time o meno soft real time rigidi come ad esempio in tutti quei sistemi di calcolo alla base di sistemi di controllo automatico in apparecchiature di tipo scientifico biomedicale o industriale 2 3 ALCUNI MECCANISMI DI FUNZIONAMENO DEI SISTEMI DI CALCOLO CENNI A molti degli aspetti dei S O discussi nella breve classificazione fatta sopra sono legati come gi detto svariati meccanismi di funzionamento e anche vere e proprie caratteristiche hardware dei sistemi di calcolo In questo seminario per brevit non tratteremo gran parte di tali me
81. mputer anche se in modo molto pi economico rispetto a quel periodo Ognuna di tali istanze condivide le risorse disponibili sull hardware fisico comune come illustrato in Fig Un programma denominato Virtual Machine Monitor VMM o Hypervisor controlla l uso e l accesso alla CPU alla memoria alle unit di storage e alle risorse di rete presenti al livello sottostante SISTEMA 1 SISTEMA2 SISTEMA 3 Physical Hardware CPU RAM Hard Disk Fig 1 1 Le macchine virtuali girano sull hardware fisico grazie al VMM 23 24 Meccanismi e Benefici Principali 4 1 PERCHE ED I COME DELLA VIRTUALIZZAZIONE La virtualizzazione ricopre un ruolo fondamentale nell ottimizzazione dei sistemi A prima vista potrebbe semplicemente apparire come un modo per ridurre e semplificare l infrastruttura dei server ma invece pu rivelarsi uno strumento per trasformare il modo di concepire il data center nel suo complesso In Fig 4 si illustra 11 modello di ottimizzazione dei sistemi Il consolidamento fisico la base necessaria per poter affrontare i passi successivi che sono il consolidamento logico e la razionalizzazione complessiva dei sistemi e delle applicazioni attraverso l identificazione di applicazioni che sono inutili o ridondanti e possono quindi essere eliminate Riduzione dell hardware fisico e del Consolidamento Fisico conseguente spazio necessario all allocazione dei Server Utilizzo d
82. n processore x86 che consente l esecuzione di tutte le istruzioni comprese le istruzioni privilegiate come le operazioni di I O e di gestione della memoria Il sistema operativo funziona normalmente in tale modalit Ring 0 Siccome il Ring 3 basato sul Ring 0 qualsiasi compromissione o instabilit del sistema si ripercuote direttamente sui processi in esecuzione nello User Mode del Ring 3 Per isolare il Ring 0 percepito da ciascuna macchina virtualizzata o guest diviene allora necessario spostarlo ad un livello pi esterno del Ring 0 reale In questo modo un errore o guasto del Ring 0 percepito da un determinato guest virtualizzato non incide sul Ring 0 reale e conseguentemente sul Ring 3 di qualsiasi altro guest I Ring 0 percepiti dai guest possono risiedere in uno dei Ring 1 2 o 3 delle architetture x86 Naturalmente quanto pi la percezione del Ring 0 lontana dal vero Ring 0 tanto pi sar difficile eseguire le operazioni hardware direttamente con conseguente riduzione delle prestazioni La virtualizzazione muove quindi il Ring 0 nel modello ad anelli privilegiati mettendo il Virtual Machine Manager o VMM in uno degli anelli che a sua volta rappresenta l implementazione del Ring 0 sulle macchine virtuali guest I sistemi operativi guest vengono eseguiti su questo particolare Ring 0 percepito mentre il VMM gestisce l interazione reale con la sottostante piattaforma hardware per l accesso alla CP
83. nde la possibilit di migrare via rete una VM da un server host di VirtualBox ad un altro senza interrompere il funzionamento della macchina virtuale stessa Il Teleporting richiede che la VM da trasferire sia in esecuzione su un server host che prende il nome di sorgente l host sul quale si vuole spostare la VM prende invece il nome di destinazione e la VM in esecuzione su di esso deve essere opportunamente configurata e posta in una condizione di attesa nella quale aspetta di essere contattata dall host sorgente Quando ci avviene lo stato in esecuzione della VM viene trasferito dalla sorgente alla destinazione con 1l minimo downtime possibile Il Teleporting funziona su qualsiasi rete TCP IP sorgente e destinazione devono solo potersi scambiare gli opportuni comandi di sincronizzazione delle operazioni su una porta TCP IP opportunamente specificata nei settaggi del teleporting 83 Stesso Naturalmente affinch la migrazione a caldo di una macchina virtuale da un host all altro possa avvenire con successo ci sono alcuni requisiti base da rispettare ovvero La VM sull host destinazione deve avere esattamente la medesima configurazione per quanto riguarda le caratteristiche hardware virtualizzate di quella sull host sorgente che si intende trasferire a caldo Questo non riguarda ovviamente le opzioni puramente descrittive come ad esempio il nome della macchina virtuale ma piuttosto caratteristiche come l
84. ne detta one level store per il fatto che pur collocandosi su unit a livelli gerarchici distinti tutta la memoria disponibile si presentava all utente ad un unico livello di accessibilit e quello delle tecniche di paging per la memoria di sistema grazie alle quali il supervisor ed 1 processi del sistema operativo venivano eseguiti in un nucleo di memoria logicamente separato da quella usata dai programmi utente sebbene le due parti fossero integrate nello stesso supporto fisico Si capisce quindi che sotto molti aspetti l Atlas fu il primo passo verso la creazione di quello strato di astrazione che hanno in comune tutte le tecnologie di virtualizzazione La risposta di IBM che non intendeva certo perdere il proprio ruolo di principale innovatore di computer fu il Progetto M44 44X sviluppato presso il Centro di Ricerca Thomas J Watson di Yorktown New York Tale progetto si fondava su un architettura concettualmente simile a quella dell Atlas nella quale veniva tra l altro usato per la prima volta il termine virtual machines macchine virtuali appunto e divent 11 contributo principale di IBM agli emergenti sistemi di time sharing 17 La macchina principale era un computer scientifico IBM 7044 M44 con diverse macchine virtuali 7044 o 44X simulate utilizzando sia hardware la memoria virtuale che software la multiprogrammazione Negli anni successivi IBM pertezion le tecnologie dei suoi sistemi con 1l Progetto del
85. ni dall elenco sul lato sinistro e sposta i puntatore del mouse su O Spenta un elemento dele impostazioni per ottenere ulteriori informaziori e Annulla Aiuto Fig 5 11 Finestra Impostazioni di una VM a Base In questa scheda possibile impostare il Nome con il quale la VM mostrata nella lista delle macchine virtuali oltre che 1l tipo e la Versione di Sistema Operativo guest che o sar installato nella VM Questo il medesimo settaggio specificato nella procedura guidata di creazione di una nuova VM cfr paragrafo 5 2 2 a Avanzate in questa scheda cfr Fig 5 12 si pu scegliere il percorso sul 65 disco del server host in cui verranno salvate eventuali istantanee della macchina virtuale Generale Generale Sistema Schermo Base Avanzate Descrizione e Archiviazione Cartella istantanee D VirtualBox Virtua VMs THO1 WinSRV2003 Snapshots v pp Audio Appunti condivisi Bidirezionale EP Rete Supporto rimovibile V Memorizza le modifiche in esecuzione Porte seriali Barra degli strumenti piccola V Mostra a schermo intero trasparente USB T Mostra nella parte alta dello schermo Cartelle condivise Fig 5 12 Impostazioni Avanzate Sempre da questo tab possibile decidere se la VM debba condividere o meno con l host gli appunti e nel caso se la condivisione deve essere bidirezionale oppure a senso unico da g
86. non dovrebbe mai venir utilizzata in quanto causa potenziale di perdita di dati e danneggiamento del S O guest Come unica eccezione se la VM dotata di un stantanea di cui tratteremo meglio nel prossimo paragrafo possibile usare questa opzione per ripristinare rapidamente tale istantanea solo in questo caso eseguire lo spegnimento della VM non rischia di comprometterne 1l corretto funzionamento futuro 5 2 5 Istantanee o Snapshots Una delle caratteristiche pi interessanti del VMM VirtualBox quella di poter salvare delle istantanee delle VM con tale termine si indica appunto una sorta di fotografia istantanea dello stato di una VM utilizzabile per salvare una particolare situazione configurazione della macchina virtuale che possa poi essere 58 utilizzata in un secondo momento per riportare la VM esattamente in quello stato a prescindere da quali e quanti possano essere stati 1 cambiamenti e le modifiche operate sulla VM nel frattempo Le varie istantanee di una VM possono essere viste e gestite dalla solita finestra del Gestore di VirtualBox cfr Fig 5 8 selezionando una macchina virtuale dalla lista di sinistra e cliccando sul bottone Istantanee in alto nella parte destra File Macchina Aiuto 03 gt amp Dettagli Q Istantanee 4 Nuova Impostazioni Avvia gt zA Spenta r Cr Istantanea configurazione iniziale 8 minuti fa al Ubuntu10 10 Istantanea dopo agg Guest A
87. nslation of OS Requests System Hardware Fig 4 5 FULL VIRTUALIZATION 41 Esempi di prodotti che utilizzano questo tipo di virtualizzazione sono VMware Workstation VMware Server e VirtualBox B Paravirtualizzazione Para un prefisso di origine greca che vuol dire accanto con o a fianco La paravirtualizzazione si riferisce infatti alla comunicazione tra il sistema operativo guest e l Hypervisor per migliorare le prestazioni e l efficienza del sistema Direct Execution of User Requests i Paravirtualized Hypercalls to the Ring 0 EET Virtualization Layer replace Virtualization Layer Non virtualizable OS Instructions Host Computer System Hardware Fig 4 6 PARAVIRTUALIZZAZIONE Questa tecnica di virtualizzazione prevede la simulazione parziale dell hardware sottostante Come mostrato in Fig 4 6 comporta la modifica del kernel del sistema operativo guest per sostituire le istruzioni non virtualizzabili con delle hypercalls che comunicano direttamente con il livello di virtualizzazione hypervisor L hypervisor fornisce anche interfacce hypercall per altre operazioni critiche del kernel quali la gestione della memoria e degli interrupt La paravirtualizzazione diversa dalla full virtualization in cui il sistema operativo non modificato non sa di essere virtualizzato e le chiamate del S O sensibili sono intrappolate trapped con la traduzion
88. nte dal disco dell host tutti 1 file ad essa associati Si noti che la cancellazione di una macchina virtuale inibita durante il funzionamento della stessa 5 2 6 Realizzazione del Clone di una VM Per poter effettuare dei test su possibili configurazioni diverse di una stessa VM o anche semplicemente per effettuarne un backup VirtualBox mette a disposizione un utilissima procedura guidata che permette di clonare una macchina virtuale Tale procedura pu essere richiamata sia dal men contestuale delle VM nella solita lista del Gestore di VirtualBox che dalla finestra delle istantanee relative alla VM in questione come mostrato in Fig 5 9 File Macchina Aiuto d d p gt pettagi istantanee Nuova Impostazioni Avvia Scarta E AR CAAF WinXPPro Exe Spenta Stato attuale xi AR CGIL WinXPPro Spenta CED Ubuntu10 10 spenta 3 Impostazioni Ctrl S Lal CED Win7Ult Istantanea D7 spenta 1 Ctrl R yy THS 01 WinXP HDi SI Spenta Scarta lo stato salvato Ctri J Pausa Ctrl P ET THS 02 WinXP HDn sb spenta Aggiorna a THS 03 WinSRV2003 3 Visualizza log Ctrl L Openia Mostra in Explorer ZA Crea una scorciatoria sul desktop i Fig 5 9 Clonazione di una VM 6l Come primo passo la procedura guidata ci chiede di scegliere un nome per la VM clone ed inoltre ci permette di scegliere se reinizializzare 11 MAC address di tutte le schede di rete de
89. ntrollo dell hardware o senza che venga emulato come faceva il VMM in precedenza Pu richiedere alcune modifiche eventualmente limitate all installazione di componenti aggiuntivi ai S O guest ma in maniera molto minore che nella paravirtualizzazione Quasi tutti 1 VMM inizialmente concepiti per la Full Virtualization traggono vantaggio dalla presenza delle nuove istruzioni INTEL VT x e AMD V implementando in presenza di processori dotati delle suddette istruzioni tecniche della Hardware Virtualization un esempio in tal senso appunto il VMM VirtualBox che pur funzionando anche con processori che non hanno le suddette estensioni trae notevole vantaggio specialmente in termini di efficienza e prestazioni dalla presenza delle stesse 45 46 5 1 UN ESEMPIO DI VMM TYPE 2 PRESENTAZIONE DI VIRTUALBOX In conclusione di questo breve seminario sulla virtualizzazione vogliamo fare un cenno ad un esempio pratico di VMM introducendo rapidamente VirtualBox Questo software di virtualizzazione vede la luce nel febbraio 2007 come prodotto di InnoTek GmbH una software house tedesca acquisita l anno successivo da Sun Microsystem a sua volta inglobata nel 2010 da Oracle Corporation attuale sviluppatrice di VirtualBox tale VMM rilasciato nella versione OSE Open Source Edition in licenza GNU General Public License GPL ed pertanto liberamente utilizzabile in modo gratuito questo fattore oltre ad un livello di evoluzion
90. o VirtualBox si presenta come un VMM decisamente versatile in grado non solo di far funzionare VM con 1 pi disparati S O ma anche caratteristica assai interessante di far girare la medesima macchina virtuale su piattaforme fisiche molto differenti fra loro caratteristica tipicamente indicata con il termine di portability Inoltre poich come gi detto VirtualBox un virtualizzatore di tipo full tutti 1 suddetti Sistemi Operativi guest possono essere installati senza bisogno di alcuna modifica cosa del resto necessaria per poter far girare senza problemi tutti 1 s o Microsoft tipicamente proprietari e non aperti per nessun tipo di modifiche di terze parti Dopo aver discusso di una delle principali caratteristiche di VirtualBox ovvero appunto la portabilit vediamo di passare in rassegna alcune altre importanti caratteristiche del virtualizzatore scelto v Virtualizzazione Hardware non necessaria sebbene VirtualBox sia in grado di sfruttare con profitto la presenza di processori che supportano le tecnologie Intel VT x ovvero AMD V in molti scenari tali set di istruzioni non sono indispensabili al suo funzionamento questo fa s che VirtualBox possa essere Impiegato con successo anche in presenza di hardware un po pi obsoleto che non presenta questo tipo di estensioni al set di istruzioni del processore v Possibilit di aggiungere Guest Addition ai S O guest sebbene come detto 1 sistemi operativi installati n
91. o stesso per tutte AI contrario quando gli stessi carichi di lavoro vengono consolidati su partizioni virtuali ciascuna partizione pu essere configurata con credenziali diverse mantenendo cos l isolamento dell accesso al sistema con privilegi amministrativi Quindi anche sotto l aspetto della sicurezza oltre che per quelli sopra trattati del consolidamento e dell affidabilit la virtualizzazione si delinea come la scelta migliore in quasi tutte le realt piccole o grandi che siano Essa risponde a pieni voti alle esigenze di contenimento dei costi e alla diminuzione di spazio all interno dei data center attuando 1 vari mandati delle varie realt considerate in tempi pi stretti e con ottimi risultati Bench ci siano vari modi per virtualizzare le risorse informatiche utilizzando un VMM Virtual Machine Monitor ognuno di essi punta allo stesso obiettivo consentire al sistemi operativi di venire eseguiti in modo indipendente e isolato l uno dall altro ed esattamente come se venissero avviati direttamente su una piattaforma hardware Sebbene le tecnologie di virtualizzazione hardware based che virtualizzano e astraggono l hardware completamente riprendendo e sviluppando concetti e 31 Relazione fra CPU S O e VMM soluzioni di cui si accennato parlando dei primi sistemi Atlas e VM 370 esistano ancora esse tendono per ad essere costose e poco flessibili Di conseguenza sono sorti moltissimi software Hy
92. o sul server host VBoxManage controlvm lt S_VM_name gt teleport host lt D_host gt port lt port gt dove lt S_VM_name gt il nome della VM sorgente quella attualmente in esecuzione il nome o l IP del server host di destinazione sul quale risiede la VM in attesa della richiesta di teleporting e lt port gt il numero della porta specificata per la VM destinazione con il comando di cui al precedente punto 1 L utilizzo del teleporting nel contesto di una infrastruttura in cui vari server e in generale varie macchine siano virtualizzati ed interconnessi fra loro ed in rete per la fornitura di servizi permette di immaginare scenari nei quali l operativit delle macchine virtuali pu estendersi temporalmente anche oltre quella del server host fisico sulle quali le stesse sono in esecuzione Si pu infatti immaginare di predisporre due o pi server di host e di migrare a caldo quindi senza l interruzione delle attivit che stanno svolgendo le varie VM da uno all altro ad esempio in concomitanza di operazioni di fermo o manutenzione programmata di un server Fig 5 23 Teleporting migrazione a caldo e bilanciamento dei carichi 85 Allo stesso modo si puo pensare di utilizzare il teleporting per lo spostamento a caldo delle varie VM al fine di bilanciare 11 carico di lavoro fra piu server di host ottimizzandone cos lo sfruttamento delle risorse hardware Esempi di schermate di VM e rela
93. omenti in cui l ambiente di produzione funziona regolarmente La stessa tecnologia che fornisce isolamento agli errori delle applicazioni anche in grado di fornire isolamento alle falle di sicurezza Se una particolare partizione VM venisse compromessa essendo isolata circoscriverebbe il problema evitando di compromettere anche le altre VM Soluzioni a questo eventuale problema possono essere attuate anche isolando ulteriormente le partizioni compromesse e le istanze del sistema operativo negando loro le risorse necessarie affinch esse esistano I cicli della CPU 30 Virtualizzazione basata sul Software possono essere ridotti l accesso alla rete e ai sistemi di I O possono essere interrotti fino a raggiungere nei casi pi estremi il blocco totale del sistema Sarebbe difficile se non impossibile eseguire questi compiti se l istanza compromessa fosse in esecuzione direttamente su un host fisico Quando si stanno consolidando 1 carichi di lavoro attraverso la virtualizzazione le configurazioni di sicurezza possono essere specificate per ogni singola VM e non per tutto il server nel suo insieme Un esempio di ci potrebbe essere l utente Administrator dei S O Windows ovvero l account super user dei sistemi Linux e Unix Le applicazioni consolidate in un unico sistema operativo se eseguite direttamente su di un server fisico condividerebbero varie impostazioni di sicurezza in particolare l accesso root sarebbe l
94. ono la Intel Virtualization Technology VT x e la AMD V di AMD le quali segnano le istruzioni privilegiate con una nuova modalit di esecuzione della CPU che consente di eseguire il VMM in una nuova modalit root sotto il ring 0 Come illustrato in Fig 4 7 le chiamate privilegiate e sensibili sono impostate in modo che vengano automaticamente intrappolate dall hypervisor eliminando la necessit della traduzione binaria o della paravirtualizzazione Lo stato guest viene memorizzato nelle Virtual Machine Control Structures VT x o nelle Virtual Machine Control Blocks AMD V I processori con Intel VT x e AMD V sono disponibili dal 2006 per cui solo 1 sistemi pi recenti contengono queste caratteristiche hardware assistite VANTAGGI questo tipo di virtualizzazione una sorta di evoluzione 44 hardware della full in quanto implementa in hardware alcune delle operazioni di traduzione binaria delle istruzioni effettuate dai VMM di tipo full impiega in modo selettivo le tecniche di accelerazione per la memoria e le operazioni di I O Supporta inoltre i sistemi operativi x64 ed ha le pi alte prestazioni di processore memoria e I O fra tutti i tipi di macchine virtuali per architetture x86 SVANTAGGI per funzionare richiede un processore che abbia l accelerazione hardware assistita Intel VT x o AMD V che consente al sistema operativo ospite di avere accesso diretto alle risorse della piattaforma senza dover condividere il co
95. orsa che possiede virtualmente appunto caratteristiche di potenza velocit capienza atfidabilit ecc decisamente migliori di quelle che caratterizzano le singole realt fisiche sulle quali s1 appoggia questa ad esempio l idea alla base del sistema RAID Redundant Array of Independent Disks di gestione dei dischi che a seconda della tipologia scelta permette di vedere n hard disk fisici come un unico disco con capienza oppure velocit o ancora affidabilit moltiplicata per n volte rispetto a quella posseduta dalla singola unit fisica in questa seconda chiave quindi la virtualizzazione rappresenta la possibilit di superare i limiti che possono anche essere imposti dallo stato dell arte delle tecnologie impiegate e o disponibili che affliggono l hardware o pi in generale le risorse fisiche inutile dire che questo invece l aspetto pi interessante ed affascinante per 1 tecnici e per gli AD pi illuminati C poi un terzo aspetto che ha contribuito pesantemente all affermazione delle architetture virtualizzate oltre ad essere come accennato con gli esempi precedenti una soluzione per la razionalizzazione consolidamento delle risorse ovvero per ottenere prestazioni superiori a quelle che s1 otterrebbero senza la sua introduzione ed oltre a centrare spesso in buona misura e contemporaneamente entrambi gli obiettivi che sono poi spesso meno antitetici ed incompatibili di quanto si potrebbe
96. orta delserver 3389 GP Rete Metodo di autenticazione Null Porte seriali Timeout di autenticazione 5000 USB Funzionalit estese Consenti connessioni multiple Cartelle condivise Seleziona una categoria di impostazioni dall elenco sul lato sinistro e sposta d puntatore del mouse su un elemento delle impostazioni per ottenere ulteriori informazioni Annulla Aiuto Fig 5 17 Impostazioni Schermo Schermo Remoto L abilitazione del server VRDP integrato in VirtualBox permette di svincolarsi dal server RDP del particolare S O guest installato sulla VM e specificando una porta diversa per diverse macchine virtuali permette di accedere a pi VM mediante lo stesso indirizzo IP dell host 5 3 4 Sezione Archiviazione Nella sezione Archiviazione della finestra Impostazioni possibile definire nei minimi dettagli come e quali supporti di memorizzazione reali e virtuali sono connessi alla nostra macchina virtuale In un computer reale il collegamento fisico degli hard disk e dei lettori CD DVD o Floppy realizzato da componenti hardware che costituiscono 1 cosiddetti controller dei dischi in modo del tutto analogo VirtualBox presenta alle VM dei 70 controller virtuali ai quali sono poi connessi 1 vari dispositivi di memorizzazione che possono a loro volta essere virtuali immagini di hard disk CD DVD o floppy o anche reali come ad esempio 1 lettori CD DVD o f
97. ostazioni per ottenere ulteriori informazioni Annulla Aiuto Fig 5 18 Impostazioni Archiviazione controller IDE che SATA in essa s1 possono vedere a un controller IDE al quale connesso un CD DVD virtuale che pu essere sia un immagine che uno dei lettori ottici fisicamente presenti 71 sull host a un controller SATA al quale connesso un hard disk virtuale o anche piu di uno Nel caso in cui all atto della creazione della VM sia stato scelto un S O pi vecchio cfr paragrafo 5 2 2 che non supporta 1 controller SATA senza il caricamento di driver aggiuntivi come ad es Windows XP il layout standard della sezione Archiviazione sar diverso con il solo controller IDE al quale saranno attaccati sia il lettore CD DVD che l hard disk e questo perch VirtualBox provvede alla realizzazione di un ambiente in cui tutti 1 device virtuali siano subito funzionanti e riconosciuti dal S O guest che dovremo installare sulla VM Naturalmente possibile modificare le impostazioni della sezione Archiviazione di una VM aggiungendo a piacimento controller IDE SATA SCSI SAS o floppy controller ai quali poi possibile connettere o disconnettere uno o pi dischi o dispositivi questo pu essere fatto fermo restando 11 disco sul quale si installato il S O guest anche dopo l istallazione di sistema operativo e applicativi nella VM ad esempio se si vuole montare come disco aggiuntivo il di
98. passare dai sistemi batch semplici a quelli multiprogrammati oltre alla funzione di allocatore di risorse sempre pi importante e vitale il S O assume sempre di pi anche la funzione di controllore con il compito di evitare interazioni indesiderate e conflitti nell accesso alle risorse disponibili da parte del vari job in contemporanea esecuzione e dei vari utenti che adesso interagiscono con essi Con il passare degli anni tra gli anni 70 e gli anni 0 del secolo scorso l abbassamento dei costi dell hardware con l avvento dei personal computer rese possibile tornare a pensare di dedicare un solo sistema di calcolo ad un singolo utente I S O operativi pensati per i personal computer subirono una nuova evoluzione dettata dal fatto che in virt dell abbattimento dei costi e della relativa diffusione dei PC l obiettivo della massimizzazione dell utilizzo della CPU non era piu quello predominante ma veniva affiancato e addirittura superato da quello di rispondere a requisiti di praticit e prontezza d uso per gli utenti Inizialmente sembr che molte funzioni evolute adottate per 1 S O operativi dei mainframe non fossero necessarie o risultassero addirittura inadatte per quelli dei personal computer In realt ben presto sia per l aumento della potenza dell hardware in dotazione ai PC sia per il complicarsi delle interazioni degli utenti con questi ed anche dei PC sempre pi connessi in rete fra loro
99. patto sulle risorse dell Host VirtualBox dispone di un ulteriore front end oltre a quelli visti che va sotto il nome di VBoxHeadless e che non produce alcun output visibile sul server Host ma si occupa soltanto di rendere disponibile via RDP la VM in questione Per avviare con tale front end una macchina virtuale basta digitare in una shell del S O Host il comando VBoxHeadless startvm THS 01 WinXP HDi 82 Quando una VM viene eseguita con VBoxHeadless non essendoci alcun altra possibilit di output 1l server VRDP della stessa risulta sempre automaticamente abilitato a prescindere dalle opzioni della VM in questione Si noti infine che in una VM con sistema operativo guest che supporta l accesso remoto come ad esempio tipicamente Windows s1 potrebbe pensare di operare un amministrazione da remoto della macchina stessa direttamente abilitando 1l server RDP del S O guest Tuttavia rispetto a tale soluzione l utilizzo del server VRDP ha il vantaggio di sfruttare un componente che sta a livello del virtualizzatore e non della VM questo in linea di principio permette una gestione remota anche di VM i cui S O guest non prevedano in alcun modo il protocollo RDP 5 5 2 Teleporting VirtualBox supporta una caratteristica assai interessante e tipicamente appannaggio di virtualizzatori commerciali pi blasonati e soprattutto pi costosi come VMware ovvero il cosiddetto Teleporting Con tale termine si inte
100. pensare la virtualizzazione apre anche la strada a nuove possibilit per l affidabilit e la disponibilit dei sistemi cui si applica Proprio il separare la funzionalit dei sistemi ICT dall hardware sottostante che appunto il concetto alla base della virtualizzazione stessa permette infatti un approccio totalmente nuovo nel fronteggiare guasti imprevisti o semplicemente fermi programmati per aggiornamenti e o interventi di manutenzione dei sistemi In un contesto virtualizzato infatti possibile come vedremo meglio spostare o come si dice migrare una macchina virtuale brevemente nel seguito VM da virtual machine da un server fisico o come lo chiameremo meglio un host ad un altro spesso senza che vi sia nemmeno un interruzione apprezzabile nel funzionamento della VM stessa Analogamente sar possibile eseguire backup di un intera macchina virtuale cos da poterla in qualsiasi momento ad esempio a seguito di un guasto anche grave dell hardware su cui si appoggia ripristinare anche in luoghi e su hardware fisicamente diversi ottenendo cos rapidamente la ripresa delle funzionalit e dei servizi svolti dalla macchina stessa questo come si intuisce apre nuove possibilit e fornisce nuove e pi efficaci armi alle moderne strategie di disaster recovery Quelli sin qui accennati sono gli argomenti tipici di quello che potremmo definire l approccio classico alla virtualizzazione ammesso che si possa utilizzare l aggettivo
101. per la sostituzione con uno scenario virtualizzato di infrastrutture informatiche reali 87 88 Appendice A Elenco comandi di VBOXMANAGE Un modo semplice per ottenere l elenco di tutti 1 possibili sottocomandi e parametri utilizzabili con VBoxManage quello di impartire tale comando nella shell del S O Host senza nessuna ulteriore specificazione l output che s1 ottiene in tal caso appunto una lista di questo tipo che costituisce una sorta di help del front end VBoxManage 12 Usage VBoxManage v version print version number and exit VBoxManage q nologo suppress the logo VBoxManage list long I vms runningvms ostypes hostdvds hostfloppies bridgedifs dhcpservers hostinfo hostcpuids hddbackends hdds dvds floppies usbhost usbfilters systemproperties extpacks VBoxManage showvminfo lt uuid gt lt name gt details machinereadable VBoxManage showvminfo lt uuid gt lt name gt log lt idx gt VBoxManage registervm lt filename gt VBoxManage unregistervm lt uuid gt lt name gt delete VBoxManage createvm name lt name gt ostype lt ostype gt register basefolder lt path gt uuid lt uuid gt VBoxManage modifyvm lt uuid name gt name lt name gt ostype lt ostype gt memory lt memorysize in MB gt pagefusion on off vram lt vramsize in MB gt acpi on off ioapic on off pae on off
102. pervisor e VMM per eseguire la virtualizzazione attraverso meccanismi software based Essi garantiscono un grado di isolamento in cui il basso livello nucleo centrale dell architettura della CPU portato vicino ai livelli software dell architettura per consentire ad ogni macchina virtuale di avere il proprio ambiente dedicato Lo stretto rapporto tra l architettura della CPU e i sistemi operativi virtualizzati alla base del funzionamento dei moderni sistemi di virtualizzazione pertanto un breve approfondimento di tale relazione fondamentale per capire i meccanismi di funzionamento della virtualizzazione stessa Le architetture hardware ideali sono quelle in cui 11 Sistema Operativo e la CPU sono progettati e costruiti l uno per l altra e risultano quindi associati strettamente Un corretto uso delle chiamate di sistema richiede un attento coordinamento tra 11 sistema operativo e la CPU Questa sorta di simbiosi fra CPU e S O si traduce in numerosi vantaggi in materia di sicurezza e stabilit di tutta l architettura Un esempio storico di tale approccio simbiotico stato 11 MULTICS acronimo di Multiplexed Information and Computing Service uno dei primi sistemi operativi fortemente orientato al time sharing sviluppato a partire dal 1964 e progettato per una particolare architettura della CPU progettata in tandem dal MIT e dalla General Electric a sua volta pensata appositamente per esso Ci che a suo tempo rese 11 MUL
103. pesso superati compatibili con le richieste dei sistemi legacy Anche su questo fronte la virtualizzazione fornisce una soluzione di consolidamento dei sistemi legacy verso sistemi di nuova generazione consentendo la migrazione di questi sistemi in modo semplice fornendo piattaforme VM idonee e retrocompatibili con l esecuzione delle loro istanze Un altro aspetto del consolidamento che discende dalla virtualizzazione quello di ricondurre anche sistemi operativi diversi ad una medesima piattaforma hardware In passato 1 sistemi operativi erano spesso legati ad una specifica piattaforma hardware Questo poneva seri limiti ad aziende ed organizzazioni costringendole spesso a fare grandi investimenti in hardware al fine di mantenere le loro applicazioni di business pi critiche Attualmente per molti dei pi comuni sistemi operativi disponibili possono essere eseguiti su una vasta gamma di architetture server la pi popolare delle quali l architettura x86 In essa possibile eseguire Windows UNIX o una delle distribuzioni Linux a propria scelta Pertanto le tecnologie di virtualizzazione costruite sopra all architettura x86 21 possono ospitare ambienti eterogenei Sistemi operativi multipli compresi quelli menzionati precedentemente possono essere consolidati sullo stesso hardware fisico riducendo ulteriormente 1 costi di acquisizione e di manutenzione Il consolidamento permette anche tipicamente di snellire gli amb
104. portare semplicemente ed in qualsiasi momento lo stato di una VM ad una qualsiasi di queste situazioni precedenti Da notare che si possono creare e cancellare gli snapshots di una VM mentre questa in esecuzione quindi in modo del tutto trasparente per il S O guest della stessa v Accesso Remoto alle VM integrato VirtualBox implementa il VRDE VirtualBox Remote Desktop Extension che consente un accesso remoto con elevate performance ad ogni macchina virtuale 11 VRDE pienamente compatibile con il protocollo RDP di Microsoft ma anzich sfruttare quest ultimo implementato direttamente nello strato di virtualizzazione del VMM di conseguenza lavora anche con S O guest diversi da Microsoft Windows e non richiede il supporto di specifiche applicazioni all interno delle Macchine Virtuali 11 VRDE fornisce inoltre speciali caratteristiche aggiuntive al tradizionale RDP come ad esempio quella dell USB over RDP che permette di collegare in locale una qualsiasi periferica USB ad una VM che in esecuzione remota su un server RDP di VirtualBox 5 2 PRIMI PASSI CON VIRTUALBOX Senza pretendere di sostituirci al manuale d uso 12 del virtualizzatore VirtualBox riteniamo comunque interessante in questa parte conclusiva della trattazione fatta fornire alcuni elementi di base per l utilizzo del VMM scelto come esempio operativo e presentato nel paragrafo precedente 50 Pertanto nei prossimi paragrafi cercheremo di illustrare
105. re applicazioni In questo modo il sistema operativo mantiene il controllo per garantire un funzionamento ottimale Poich 11 VMM deve avere 11 controllo privilegiato delle risorse della piattaforma la soluzione che appare pi naturale eseguire 11 VMM nel Ring 0 e 1 sistemi operativi guest nel Ring 1 o nel Ring 3 Tuttavia i sistemi operativi moderni sono stati specificamente progettati per l esecuzione sul Ring 0 creando una 39 Tipi di Virtualizzazione sorta di problema In particolare esistono alcune istruzioni privilegiate in grado di controllare le risorse critiche della piattaforma Tali istruzioni vengono utilizzate in modo occasionale ma quando un sistema operativo non viene eseguito nel Ring 0 una di queste istruzioni pu creare un conflitto provocando un errore di sistema o una risposta non corretta La sfida incontrata dai VMM per l architettura TA 32 x86 il mantenimento dei requisiti Popek e Goldberg mentre si lavora con l ISA IA 32 Si gi parlato del fatto che esistono molte forme di virtualizzazione nella moderna tecnologia dell informazione ma ad oggi la pi comune e diffusa ancora la virtualizzazione dei server tipico caso generalmente associato a questo termine Le piattaforme e architetture CPU pi diffuse su cui viene implementata la virtualizzazione dei server sono le IA 32 o x86 Le sfide poste dall architettura ISA x86 e dai requisiti Popek e Goldberg hanno portato a diversi approcci p
106. re idee rivoluzionarie nate in quegli anni cominci a guidare l innovazione dando luogo in breve ad una serie di computer che irruppero con forza sulla scena Due in particolare sono considerati parte integrante di quella sorta di percorso evolutivo che ha portato la virtualizzazione ad essere quella che conosciamo noi oggi l Atlas 4 e l IBM M44 44X 5 16 I primi progetti Il primo di essi progettato e gestito dal Dipartimento di Ingegneria Elettrica dell Universit di Manchester il super computer Atlas mise a frutto i concetti di time sharing multiprogrammazione e controllo periferico condiviso per fornire al suol utilizzatori una velocit che nessun altro mainframe di quegli anni era in grado di dare La gestione dei vari processi venne ripartita tra due componenti in base alla loro natura uno si occupava dell esecuzione dei programmi utente mentre l altro il supervisor gestiva 1 processi del sistema operativo Quest ultimo gestiva anche le risorse chiave come ad esempio il tempo di elaborazione del computer avvalendosi anche di istruzioni speciali dette extracodes implementate appositamente per migliorarne la capacit di provvedere all ambiente di calcolo per le istruzioni dei programmi utente In sostanza questa pu essere considerata la nascita dell hypervisor il controllore delle macchine virtuali Altri concetti che trovarono una prima forma di introduzione con l Atlas furono quello di memoria virtuale in origi
107. s che permettono di virtualizzare per la VM alcune recenti caratteristiche hardware della famiglia x86 richieste tipicamente dai S O a 64 bit Processore In questa scheda possibile impostare quanti Processori intesi come CPU cores debbano essere virtualmente presentate al Sistema Operativo guest della VM cfr Fig 5 4 E THO1WinSRV2003 Impostazio Generale Sistema is P eP P n A m 3 5 Scheda madre Processore Accelerazione Schermo een Archiviazione Processorefi Audio 1 CPU Execution Cap 1 Funzionalit estese M Abilita PAE NX D m m Porte seriali Cc un Do Cartelle condivise Seleziona una categoria di impostazioni dall elenco sul lato sinistro e sposta i puntatore del mouse su un elemento delle impostazioni per ottenere ulteriori informazioni Annulla Aiuto Fig 5 14 Impostazioni di Sistema Processore possibile teoricamente presentare fino a 32 CPU per ciascuna macchina virtuale purch ovviamente non si superi il numero dei core fisicamente disponibili nell host Sempre in questa scheda possibile anche fissare 1l cosiddetto Execution Cap ovvero la percentuale di tempo che una CPU fisica dedica all emulazione di una CPU virtuale il default 11 100 ovvero nessun limite ma un impostazione ad esempio del 50 significherebbe che ciascuna CPU virtuale ha a disposizione il 50 dei cicli macchina di una CPU
108. sco virtuale di un altra VM da cui si debbono copiare dei dati Proprio 1 dischi virtuali che possiamo connettere ai rispettivi controller di una VM meritano un piccolo approfondimento come abbiamo visto cfr paragrafo 5 2 2 questi sono tipicamente file immagine fisicamente posti sul disco dell host o su un disco di rete e possono avere dimensione fissa o dinamicamente variabile man mano che si riempiono Quello di cui vogliamo occuparci adesso riguarda la modalit di scrittura definibile per ciascuna immagine di hard disk virtuale ovvero il modo in cui vi si riflettono le operazioni di scrittura da parte di una VM nonch le operazioni di creazione ripristino delle istantanee o snapshots Ci sono fino a sei modalit diverse definibili per l immagine di un disco e precisamente 1 Modalit Normale l impostazione di default e con essa non ci sono 12 restrizioni sul modo in cui il guest puo leggere da o scrivere sul disco Quando si effettua una istantanea della VM cfr paragrafo 5 2 5 lo stato di un disco in modalit normale viene salvato insieme all istantanea stessa ed pertanto completamente ripristinato con la situazione di tutti 1 file e cartelle che contiene nel momento in cui venga ripristinata l istantanea della VM Anche se possibile montare la stessa immagine disco di tipo normale su pi macchine virtuali differenti soltanto una di queste pu essere eseguita simultaneamente altrimenti si verif
109. sponibilit ad alti livelli Allocazione Il VMM deve assegnare con metodo le risorse della piattaforma alle macchine virtuali che gestisce Risorse di elaborazione memoria rete e unit di storage devono essere bilanciati per ottimizzare le prestazioni e allineare 1 livelli di servizio con 1 requisiti di business Attraverso l allocazione il VMM soddisfa la propriet del controllo delle risorse e in parte anche la propriet di efficienza Incapsulamento L incapsulamento anche se non specificato nei requisiti Popek e Goldberg permette ad ogni pila di software di essere altamente portabile in grado di essere copiata o spostata da una piattaforma che esegue il VMM ad un altra In alcuni casi possibile migrare a caldo le macchine virtuali cio spostarle da un supporto ad un altro senza doverle spegnere cio mantenendole in esecuzione L incapsulamento deve contenere le informazioni di stato per mantenere l integrit della macchina virtuale trasferita Prendendo in considerazione l architettura pi diffusa la IA 32 x86 tutto il software viene eseguito necessariamente in uno dei quattro Ring di privilegio Il sistema operativo di norma viene eseguito nel Ring 0 che offre un accesso privilegiato alla pi ampia gamma di risorse del processore e della piattaforma Le singole applicazioni solitamente vengono eseguite nel Ring 3 che limita alcune funzioni come la mappatura della memoria che potrebbero disturbare alt
110. sto nuovo contesto anche la virtualizzazione ha cambiato la propria declinazione superando 1 confini originari del time sharing che la relegavano a mero stratagemma per l utilizzo contemporaneo da parte di pi operatori o processi di un unica macchina costosa ed arricchendosi di tutti 1 significati cui si accennava nell introduzione e che ne fanno oggi uno dei principali strumenti per la semplificazione la condivisione ed il consolidamento dei data center 22 Considerazioni Finali La situazione molto diversa rispetto a trent anni fa sono diversi gli ambiti di utilizzo 1 costi le tecnologie ed anche 1 motivi che hanno spinto le aziende a questo ritorno ma guardando la situazione dall esterno ci si rende conto che la decentralizzazione un capitolo che a poco a poco si sta chiudendo In conclusione del nostro breve excursus possiamo definire la virtualizzazione come una struttura informatica in cui si pratica un metodo di divisione delle risorse hardware in ambienti multipli di esecuzione applicando uno o pi concetti o tecnologie quali il partizionamento hardware e software il time sharing la simulazione parziale o totale della macchina l emulazione la qualit del servizio e molti altri Proprio come si fece durante la fine degli anni 60 e gli inizi degli anni 70 con 1 primi VM 370 di IBM la moderna virtualizzazione consente a pi istanze del sistema operativo di essere eseguite simultaneamente su un singolo co
111. strate oppure createvm o ancora startvm rispettivamente per creare o avviare una macchina virtuale il secondo punto che la maggior parte dei sottocomandi richiede inoltre il passaggio di tutta una serie di parametri ad esempio il nome della VM su cui agire per definire 11 dettaglio delle operazioni o regolazioni da effettuare Em C Windows system32 cmd exe oe gr C gt UBoxManage startum YTHS 61 WinkP HDi Waiting for UM THS 1 WinkP HDi to power on UM THS 6 1 WinkKP HDi has been successfully started CoN Fig 5 22 Utilizzo di VBoxManage da shell di comando del S O Host Ad esempio il comando VBoxManage startvm THS 01 WinXP HDi determina l avvio della VM di nome 7HS 01 WinXPHDi esattamente come se avessimo aperto il Gestore di VirtualBox ed avessimo scelto ed avviato nella lista delle VM la medesima macchina virtuale cfr Fig 5 2 paragrafo 5 2 1 80 Un esempio di comando nel quale si passa piu di un parametro VBoxManage modifyvm THS 01 WinXP HDi memory 512MB vram 128MB con il quale si imposta per la VM di nome THS 0 WinXP HDi un quantitativo di RAM di 512 MB e una memoria video da presentare al S O guest come presente a bordo della scheda video virtuale di 128 MB Un modo semplice per ottenere l elenco di tutti 1 possibili sottocomandi e parametri utilizzabili con VBoxManage quello di impartire tale comando nella shell del S O Host sen
112. te le altre VM con analoga impostazione di rete Rete Interna questa modalit pu essere usata per creare una rete virtuale slegata da qualsiasi interfaccia di rete fisica dell host visibile soltanto a VM selezionate ma non alle applicazioni in esecuzione sul server host n tanto meno al mondo esterno Scheda Solo Host questa modalit permette di creare una rete comprendente l host ed un set di macchine virtuali selezionate senza la necessit di impegnare un interfaccia di rete fisica dell host ma creando piuttosto su di esso un interfaccia di rete virtuale che fornisca connettivit T1 fra le VM e l host stesso a Driver Generico questa modalit usata raramente e realizza una generica interfaccia di rete virtuale lasciando all utente il compito di selezionare un driver apposito eventualmente distribuito come aggiunta di VirtualBox pi che altro un opzione aperta per future applicazioni e riservata agli sviluppatori 5 3 7 Sezione Porte Seriali e sezione USB Le sezioni Porte Seriali e USB della finestra Impostazioni permettono di abilitare rispettivamente il supporto per dispositivi seriali ed USB fisicamente connessi al server host in modo che risultino virtualmente presentati alla macchina virtuale Da notare che non appena il guest inizia ad utilizzare un certo dispositivo USB questo risulta immediatamente inutilizzabile per l host In particolare il supporto USB di VirtualBox assai sofisticato permett
113. tempi di inattivit non programmati riducendo al minimo se non addirittura evitando qualsiasi interruzione Cos facendo per 1 costi aumentano a dismisura Le tecnologie di virtualizzazione invece sono gi intrinsecamente predisposte ad affrontare questa situazione fornendo un forte isolamento tra le macchine virtuali in esecuzione Un errore di sistema in una macchina virtuale o in una partizione non pregiudicher l esecuzione delle altre partizioni in esecuzione sulla stessa piattaforma hardware Per contro un eventuale guasto all hardware sul quale fisicamente si appoggia l esecuzione di una macchina virtuale provocher a prescindere dalla sua gravita un fermo limitato al tempo strettamente necessario a far ripartire la VM stessa su un hardware diverso Questo isolamento logico protegge le macchine virtuali a livello pi basso rendendole inconsapevoli e quindi non influenzabili da errori o guasti al di fuori delle loro assegnazioni Un altro elemento che in un contesto puramente fisico fa lievitare 1 costi l implementazione ed il mantenimento in funzione di server di standby o di fault tolerance necessari anche per mantenere il sistema disponibile durante 1 periodi di interruzioni pianificate e non Spesso tali server sono sostanzialmente 29 Sicurezza identici come dotazione hardware a quelli di produzione che devono sostituire in caso di guasti e o fermi tecnici ma salvo durante queste rare interruzioni genera
114. ti istanze del S O host con un proprio file system librerie applicazioni ed un proprio utente di root Essendo 1 sistemi operativi delle macchine guest equivalenti a quello della macchina host le istanze guest non richiederanno un kernel privato ma utilizzeranno lo stesso con un conseguente minor utilizzo di memoria fisica VANTAGGI tende ad essere leggera ed efficace viene eseguita a velocit normale senza rallentamenti e supporta tutto l hardware nativo e le caratteristiche del sistema operativo per cui la macchina host configurata SVANTAGGI non supporta l hosting di sistemi operativi misti come Windows e Linux contemporaneamente e proprio per la condivisione del kernel le istanze guest non sono cos isolate e sicure come lo sono negli altri tipi di 43 virtualizzazione cosicch un problema di stabilita o di performance di un solo guest puo influire negativamente sugli altri D Virtualizzazione Hardware Assisted o Nativa La virtualizzazione hardware assistita o ibrida la pi recente tecnologia di virtualizzazione per architetture x86 Ring 3 Direct Execution f User Non root Ring 2 z Mode una Requests Privilege Ring 1 Levels Ring 0 Messages OS Requests Trap to VMM Root Mode without Binary Privilege Translation or Levels Paravirtualization Host Computer System Hardware Fig 4 7 HARDWARE ASSISTED VIRTUALIZATION I miglioramenti di prima generazione includ
115. tiva situazione su Server Host CE VRTFLSRVO1 192 168 2 52 Co CA VCLIDI 192 168 2 71 Connessi p o mo C Users Nico la Desktop S Oracle UM VirtualBox Head face 4 Oracle UM VirtualBox Headless Interface 4 1 8 CC 2608 2611 Oracle Corporation 11 right eee All right k 3 URDE serui Oracle UM dli lt C 2008 All right 4 As CP 2AAR 9A11 Nya my CM ae Internet Explorel m CM ge C VCLIO2 192 168 2 72 Connessi Joe Manage gt UBoxHeadless 8 ee lt s IC Users Nico la DesktoPeoertpe U BoxManage UBoxHeadle Haute stRow Haadlacce Intaufa vation Oracle UM VirtualBox Headless Interface 4 1 8 Wee 2009 2014 Numancia Caunnust iar startum URTSQLOI1 Ng Oracle VM VirtualBox Ge o amp Nuova Impostazioni FS Gestione atta Winans ST Gestione attivit Windows k CE VRTSQLO1 192 168 2 51 Conn File Applicazioni Processi Servizi Prestazioni Rete Utenti Opzioni Visualizza ss startum UCLI 1 WinkpPro Oracle UM VirtualBox Headless Interface 4 1 8 x UBoxManage gt VBoxHeadless startum UCLI 3 WinkpPro i o UBoxManage UBoxHeadless startum UCLI 4 WinkpPro Oracle UM VirtualBox Headless Interface 4 1 8 CC 2608 2611 Oracle Corporation All rights reserved URDE server is listening on port 5624 i T E 5 Vae an VBo
116. to della VM relativo a tale istantanea Si noti che poich in realt per ciascuna istantanea VirtualBox memorizza non l intero stato del disco ma soltanto le differenze dall istantanea immediatamente precedente nell albero delle istantanee stesse l operazione di cancellazione potrebbe risultare di fatto pi lunga e complessa di quelle di creazione e ripristino potendo richiedere a seconda dell istantanea che si vuole eliminare anche un consistente lavoro di copia di file ed informazioni di stato da un istantanea all altra A partire dalla versione 3 2 di VirtualBox le operazioni di cancellazione di una Istantanea possono generalmente essere eseguite anche durante il funzionamento della macchina virtuale interessata per quanto appena detto tuttavia possono 60 verificarsi casi per 1 quali la cancellazione di un istantanea non gestibile a VM funzionante in tali situazioni un opportuno messaggio ci avviser che la cancellazione dell istantanea selezionata potr avvenire solo a macchina virtuale spenta 5 2 6 Cancellazione di una VM Per cancellare un VM precedentemente creata con VirtualBox sufficiente cliccarvi con il bottone destro del mouse nella lista delle VM che compare sulla destra della finestra del VirtualBox manager scegliendo poi Rimuovi nel men contestuale che appare In questo modo compare una finestra di conferma che permette inoltre di sceglie se rimuovere solo la VM o cancellare anche definitivame
117. tti nella medesima chiamata 95 1 2 3 4 5 6 7 8 9 Bibliografia e Link Sistemi Operativi Concetti Ed Esempi A Silberschatz P B Galvin G Gagne 2001 capp 1 2 Storia della Virtualizzazione A Bawcom P Kenealy W Noonan C Schiller F Shore A Turriff C Willems D Williams Virtualization for Security Syngress 2009 capp 1 2 http www scribd com doc 75366925 Syngress virtualization for Security dec Time Line della Virtualizzazione http en wikipedia org wiki Timeline_of_virtualization_ development Atlas Computer http en wikipedia org wiki Atlas_ computer IBM 44 44x http en wikipedia org wiki M44 44x Compatible Time Sharing System http en wikipedia org wiki Compatible_Time_Sharing_System VM 370 R J Creasy The origin of the VM 370 time sharing system IBM Journal of Research amp Development Vol 25 No 5 September 1981 Cray Time Sharing System http en wikipedia org wiki Cray_Time_Sharing System Requisiti Formali Architetture Virtualizzabili Popek G amp Goldberg R 1974 Formal Requirements for Virtualizable Third Generation Architectures Association for Computing Machinery Inc http www dc uba ar materias so 2010 verano descargas articulos VM requirements pdf 96 10 Tecnologie di Virtualizzazione Tipi e Differenze CNAPONLINE Advanced Professional Training http www cnaponline
118. uest a host o viceversa Tale regolazione per quanto comoda per passare dati con un semplice copia e incolla da host a VM ovvero da una VM all altra riduce come si capisce l isolamento fra le singole VM e fra queste ed il server host a Descrizione In questa scheda possibile inserire una descrizione della macchina virtuale 5 3 2 Sezione Sistema Nella sezione Sistema cfr Fig 5 3 trovano posto varie impostazioni relative all hardware di base presentato alla VM anche qui abbiamo tre schede 5 THO1 WinSRV2003 Impostazior Generale Sistema i Sistema i bic Scheda madre Processore Accelerazione Archiviazione Memoria di base POTER a IZ 2048 MB Audio 4MB 8192 MB P Rete Ordine di avvio vl A Floppy go V CD DVD ROM D Porte seriali DI Disco fisso amp USB E GP Rete Cartelle condivise Chipset PIIX3 X Funzionalit estese Abilita IO APIC Fig 5 13 Impostazioni di Sistema Scheda Madre a Scheda Madre Qui possibile settare l ammontare di memoria RAM presentata alla VM l Ordine di avvio delle periferiche di boot esattamente 66 come faremmo nel BIOS di una macchina reale oltre al Chipset emulato selezionabile fra il pi consolidato PIIX3 ed il pi moderno ICH9 supportato da alcuni S O pi moderni come ad es il Mac OS X server o ad una serie di Funzionalit Estese tra le quali l I O APIC Advanced Programmable Interrupt Controller
119. upporto di memoria di massa questo port due fondamentali novit La prima fu che le operazioni di input e di output invece che avvenire con tempi dettati dai lettori di schede e dalle stampanti potevano adesso usare 1l disco assai pi veloce come una sorta di buffer per i dati Questo tipo di gestione chiamato spooling acronimo di simultaneous peripheral operation on line permetteva di fatto di sovrapporre temporalmente le operazioni di un job sulle periferiche fisiche di I O lettori di schede e stampanti con l esecuzione di altri job che interagivano in prima battuta con il disco determinando cos una significativa diminuzione del tempo di inattivit della CPU La seconda fu che 1 job non dovevano pi essere letti sequenzialmente tramite le schede perforate o 1 nastri magnetici ma potevano essere tutti prememorizzati su disco costituendo quello che si definisce un pool di job ed il S 0 operativo poteva eseguire il cosiddetto scheduling dei job decidendo eventualmente l ordine di accesso agli stessi in modo da minimizzare 1 tempi morti di attesa tipicamente di processi lenti quali quelli di I O riducendo cos ulteriormente i tempi di inattivit della CPU Con tali capacit aggiuntive spooling e soprattutto scheduling dei job si arriva al cosiddetti S O batch multiprogrammati questi sono i primi S O che devono prendere decisioni per l utente potendo scegliere l ordine dei job e quindi la priorit di
120. uzione 5 2 4 Spegnimento e Salvataggio dello Stato di una VM Una qualsiasi VM in esecuzione su di un Sistema host dovrebbe venir spenta secondo le modalit raccomandate dal particolare S O guest che vi stato installato nel caso di sistemi Windows ma il discorso analogo anche per la maggior parte delle distribuzioni Linux ed in generale per molti S O il corretto spegnimento del sistema passa attraverso l apposita procedura di shutdown prevista dal S O stesso seguendo tale procedura la VM inizia le operazioni di spegnimento che possiamo direttamente seguire all interno della finestra che ne contiene l output in modo del tutto simile a quanto avviene per una macchina reale fino al vero e proprio spegnimento che nel caso della VM coincide con la chiusura della finestra nella quale era in esecuzione oltre che nel rilascio delle risorse tipo RAM e processore che tornano cos pienamente disponibili per il sistema host Tuttavia rispetto al caso di macchine reali le VM che nel caso di VirtualBox sono sostanzialmente delle applicazioni in esecuzione sul server Host possono venire arrestate anche in altri modi ad esempio cliccando banalmente sul bottone Chiudi posizionato come sempre nell angolo in alto a destra della loro finestra in questo caso VirtualBox ci presenter tre possibili opzioni per la VM in questione mostrate in Fig 5 7 Lal i Vuoi 2003 Salvare lo stato della macchina O Invia il segnale
121. x ovviamente pi complessa da utilizzare in quanto richiede l apprendimento di una precisa sintassi dei comandi ma permette di gestire aspetti delle VM altrimenti non controllabili dall interfaccia grafica Un elenco dei di VBoxManage contenuto nell Appendice A VBoxSDL un semplice front end di tipo grafico alternativo al pi completo Gestore volutamente semplificato e limitato dal punto di vista delle caratteristiche e delle possibilit di controllo delle VM il suo scopo unicamente quello di fornire un sistema decisamente meno pesante del Gestore completo per mostrare le VM controllate nel dettaglio mediante VBoxManage VBoxHeadless un altro front end che non produce alcun output visibile sull Host ma si comporta semplicemente come server VRDP rendendo disponibile l accesso remoto via rete alle varie VM e quattro 1 tipi di front end sopra citati possono essere usati indifferentemente in alternativa o anche in combinazione per regolare e gestire le varie VM 63 Tipicamente le interfacce grafiche sono pi indicate in una fase di studio preliminare e di creazione dei prototipi delle macchine virtuali e in generale dell ambiente virtuale che si vuole costruire in virt della loro immediatezza che semplifica l iniziale gestione delle varie VM Per contro si capisce che front end pi spartani e con meno fronzoli grafici saranno inevitabilmente pi prestanti e tipicamente pi indicati per un utilizzo a re
122. za nessuna ulteriore specificazione l output che si ottiene in tal caso appunto una lista che costituisce una sorta di help del front end VBoxManage cfr Appendice A 5 5 MACCHINE VIRTUALI REMOTE VirtualBox permette di mostrare in remoto le VM in esecuzione sul server Host questo significa che una VM pu essere in esecuzione su un server ma essere tuttavia mostrata su un altro computer collegato in rete e controllata da l esattamente come se fosse in esecuzione su di esso Pi in particolare VirtualBox con l installazione di un apposito pacchetto di estensioni rilasciato da Oracle offre pieno supporto per il cosiddetto VRDP VirtualBox Remote Display Protocol una sorta di estensione comunque retrocompatibile del protocollo di accesso remoto di Microsoft RDP in sostanza quando un client si connette come si usa dire in RDP ovvero per mezzo di un software visualizzatore che sfrutta 11 protocollo RDP ad una VM si ha che gli aggiornamenti del video e l audio sono inviati dalla macchina remota al client mentre per contro gli input di mouse e tastiera sono trasferiti dal client alla VM stessa Il server VRDP che permette la gestione remota di una VM tipicamente disabilitato per default sulle macchine virtuali esso pu essere facilmente abilitato SI per una data VM o dall interfaccia grafica del Gestore di VirtualBox dalla sezione Schermo della finestra Impostazioni della macchina virtuale stessa ctr

Download Pdf Manuals

image

Related Search

Related Contents

Copyright © All rights reserved.
Failed to retrieve file