Virtualizzazione desktop e server Daniele Piccoli (daniele.piccoli@riseup.net) https://www.linuxtrent.it
Cos’è la virtualizzazione In informatica il termine virtualizzazione si riferisce alla possibilità di astrarre le componenti hardware, cioè fisiche, degli elaboratori al fine di renderle disponibili al software in forma di risorsa virtuale. Tramite questo processo è quindi possibile installare sistemi operativi su hardware virtuale; l'insieme delle componenti hardware virtuali (Disco fisso, RAM, CPU, Scheda di rete) prende il nome di macchina virtuale e su di esse può essere installato il software come, appunto, i sistemi operativi e relative applicazioni. Tale tecnica è applicabile sia su sistemi desktop che su sistemi server. fonte: Wikipedia (https://it.wikipedia.org/wiki/Virtualizzazione) Martedì 9 gennaio 2018 - Virtualizzazione desktop e server - Daniele Piccoli (LinuxTrent)
Vantaggi della virtualizzazione Miglior utilizzo delle risorse hardware a disposizione e riduzione dei consumi/spazio Isolamento dei vari sistemi Possibilità di utilizzare sistemi operativi diversi sullo stesso hardware Possibilità di implementare ambienti di test/deploy Miglior gestione delle immagini di sistema Miglior portabilità dei sistemi virtualizzati Maggior scalabilità Martedì 9 gennaio 2018 - Virtualizzazione desktop e server - Daniele Piccoli (LinuxTrent)
Concetti principali della virtualizzazione Sistema host: è la macchina fisica su cui gira il sistema operativo principale e che poi ospiterà le macchine virtuali Sistema guest (macchina virtuale): è l’insieme delle risorse hardware e il sistema operativo che viene eseguito “sopra” il sistema host Hypervisor o Virtual machine monitor: è il componente software che crea e manda in esecuzione le VM; ha il compito di astrarre e rendere disponibili le risorse hardware virtualizzate; svolge compiti di monitoraggio/sicurezza e viene usato ai fini di debug Type 1 o nativi: Qemu/KVM, Xen, Vmware ESX, Hyper-V Type 2 o hosted: VirtualBox, VirtuaPC, Vmware player, ecc Martedì 9 gennaio 2018 - Virtualizzazione desktop e server - Daniele Piccoli (LinuxTrent)
Tipologie di virtualizzazione Emulazione: viene simulato l’intero hardware set che viene presentato al sistema guest, indipendentemente dall’hardware fisico sottostante. I sistemi guest vengono eseguiti senza alcuna modifica. Full Virtualization o Native Virtualization: viene presentato un hardware set parziale compatibile con l’architettura hardware sottostante. I sistemi guest vengono eseguiti senza alcuna modifica, ma devono essere compatibili con l’architettura hardware fisica Martedì 9 gennaio 2018 - Virtualizzazione desktop e server - Daniele Piccoli (LinuxTrent)
Tipologie di virtualizzazione Paravirtualizzazione: viene presentato un hardware set modificato, mantenendo la medesima architettura hardware sottostante. I sistemi guest vengono eseguiti dopo essere stati modificati Operating system virtualization: non viene utlizzato un hypervisor, ma vengono create copie (strutture) all’interno del kernel del sistema host. I sistemi guest sono instanze del sistema operativo host, con un proprio filesystem, rete e applicazioni Martedì 9 gennaio 2018 - Virtualizzazione desktop e server - Daniele Piccoli (LinuxTrent)
Requisiti per la virtualizzazione Sistema host a 64bit Minimo 4Gb di RAM per i desktop, minimo 8Gb di RAM per i server Spazio disco per ospitare i sistemi operativi guest CPU con supporto alle estensioni per la virtualizzazione in hardware Intel VT AMD-V Martedì 9 gennaio 2018 - Virtualizzazione desktop e server - Daniele Piccoli (LinuxTrent)
Virtualizzazione desktop Viene realizzata mediante l’utilizzo di particolari software, e permette di eseguire altri sistemi operativi “sopra” il sistema operativo host Utili per provare sistemi al volo, o per far funzionare un dispositivo non compatibile con l’s.o. dell’host Vengono utilizzati hypervisor che vengono classificati come Type2 (hosted-hypervisor) Martedì 9 gennaio 2018 - Virtualizzazione desktop e server - Daniele Piccoli (LinuxTrent)
Principali prodotti (software) VirtualBox (open source e multipiattaforma) Qemu/KVM + libvirt + virt-manager (open source, Linux) VirtualPC (closed-source, Windows) Vmware player (cloesed-source, Windows, MacOsX) Martedì 9 gennaio 2018 - Virtualizzazione desktop e server - Daniele Piccoli (LinuxTrent)
VirtualBox È un software opensource che può funzionare su Linux, Windows, Mac e Solaris É un software di full-virtualization Utilizza le estensioni per la virtualizzazione hardware fornire dai processori Sito web di riferimento:https://www.virtualbox.org/ Sistemi operativi ufficialmente supportati: http://www.oracle.com/technetwork/server-storage/virtualbox/support/index.html Martedì 9 gennaio 2018 - Virtualizzazione desktop e server - Daniele Piccoli (LinuxTrent)
VirtualBox: estensioni Extension pack: implementano funzionalità che non sono presenti nella versioni base di VirtualBox Supporto all’usb 2.0 e 3.0 Boot PXE VirtuaBox RDP Disk encryption Sono rilasciati con una licenza diversa dalla GPL (PUEL) Devono corrispondere alla stessa versione di Virtualbox Vanno installati sul sistema operativo host Martedì 9 gennaio 2018 - Virtualizzazione desktop e server - Daniele Piccoli (LinuxTrent)
VirtualBox: estensioni Guest addition: implementano driver e applicazioni che migliorano le performance e l’usabilità del sistema operativo guest Mouse pointer integration Shared folders Better video support Shared clipboard Vengono fornite con l’installazione di VirualBox, come file immagine (VboxGuestAdditions.iso) Vanno installate all’interno del sistema operativo guest Martedì 9 gennaio 2018 - Virtualizzazione desktop e server - Daniele Piccoli (LinuxTrent)
Virtualizzazione server Viene realizzata mediante l’utilizzo di sistemi operativi dedicati, e permette di eseguire altri sistemi operativi “sopra” il sistema operativo host Viene utilizzata per virtualizzare i server, a partire dall’ambiente SOHO fino ad arrivare ad ambienti enterprise e datacenter Può essere utilizzata per virtualizzare sistemi operativi desktop, che poi vengono utilizzati dagli utenti attraverso sessioni remote Vengono utilizzati hypervisor che vengono classificati come Type1 (bare-metal) Martedì 9 gennaio 2018 - Virtualizzazione desktop e server - Daniele Piccoli (LinuxTrent)
Principali prodotti (S.O. + software) Proxmox: open source, basato su Debian Hyper-V: closed source, basato su Windows Server VmWare ESX/ESXi: closed source, basato su RedHat Xen: open source, basato su *NIX Martedì 9 gennaio 2018 - Virtualizzazione desktop e server - Daniele Piccoli (LinuxTrent)
Proxmox Sito web di riferimento: https://www.proxmox.com/en/ Basata su debian, utilizza un kernel linux modificato Implementa due tipi di virtualizzazione, in unica soluzione KVM: full virtualization Containers (LXC): system level virtualization Interfaccia web di gestione Implementa funzionalità di backup, disaster recovery, HA, clustering, firewall, live migration, ecc. Supporto enterprise a pagamento Martedì 9 gennaio 2018 - Virtualizzazione desktop e server - Daniele Piccoli (LinuxTrent)
Riferimenti https://it.wikiversity.org/wiki/Tecnologie_di_virtualizzazione http://www.cs.unibo.it/~sangio/SO_currentAA/Luc_SO/Virtualizza zione_Lombardi.pdf http://www.pluto.it/files/journal/pj0905/eev.html https://en.wikipedia.org/wiki/Hypervisor https://www.proxmox.com/en/proxmox-ve/features Martedì 9 gennaio 2018 - Virtualizzazione desktop e server - Daniele Piccoli (LinuxTrent)