orazio battaglia - corso tecnico di reti | blog di ... · software sviluppati per ambiente windows...

27
Virtualizzazione Orazio Battaglia

Upload: duongthuy

Post on 16-Feb-2019

230 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Orazio Battaglia - CORSO TECNICO DI RETI | Blog di ... · software sviluppati per ambiente Windows e software sviluppati per ambiente Linux, esecuzione ... principale lavoro è la

Virtualizzazione

Orazio Battaglia

Page 2: Orazio Battaglia - CORSO TECNICO DI RETI | Blog di ... · software sviluppati per ambiente Windows e software sviluppati per ambiente Linux, esecuzione ... principale lavoro è la

Definizione di 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 (Hard Disk, RAM, CPU, NIC) prende

il nome di macchina virtuale e su di esse può essere

installato il software come, appunto, i sistemi operativi

e relative applicazioni.

Definizione da Wikipedia (http://it.wikipedia.org/wiki/Virtualizzazione)

2 Tecnico di Reti Informatiche, modulo 2

Page 3: Orazio Battaglia - CORSO TECNICO DI RETI | Blog di ... · software sviluppati per ambiente Windows e software sviluppati per ambiente Linux, esecuzione ... principale lavoro è la

Concetti di virtualizzazione

La macchina fisica, che mette a disposizione l’hardware, viene chiamata Host

La macchina virtuale, che consuma le risorse di hardware virtuale, viene chiamata Guest

Il layer software che mette in atto la virtualizzazione delle risorse hardware può essere:

Un hypervisor nel caso della virtualizzazione Server

Un software applicativo nel caso della virtualizzazione Client

Tipi di virtualizzazione:

Client

Server

Desktop

Applicazioni

3 Tecnico di Reti Informatiche, modulo 2

Page 4: Orazio Battaglia - CORSO TECNICO DI RETI | Blog di ... · software sviluppati per ambiente Windows e software sviluppati per ambiente Linux, esecuzione ... principale lavoro è la

Tipi di virtualizzazione: Client (1/2)

Nella virtualizzazione Client su un sistema operativo (Windows, Linux, ecc) già installato sulla macchina fisica viene installata una applicazione di virtualizzazione. L’applicazione permette la creazione e l’uso di macchine virtuali che consumano le risorse hardware della macchina fisica.

Es. di software di virtualizzazione Client: VMware Player, Oracle VM Virtual Box.

Es. di uso: workstation in cui è necessario usare software sviluppati per ambiente Windows e software sviluppati per ambiente Linux, esecuzione di macchine di test

4 Tecnico di Reti Informatiche, modulo 2

Page 5: Orazio Battaglia - CORSO TECNICO DI RETI | Blog di ... · software sviluppati per ambiente Windows e software sviluppati per ambiente Linux, esecuzione ... principale lavoro è la

Tipi di virtualizzazione: Client (2/2)

Vantaggi

Possibilità di eseguire più sistemi operativi diversi

contemporaneamente

Semplicità dello spostamento di una macchina

virtuale, è sufficiente copiare o spostare i file che

costituiscono la macchina virtuale

Possibilità di creare degli ambienti di test ad hoc

Possibilità di eseguire software esistenti solo su

determinate piattaforme

Possibilità di spostare i dati dalla macchina fisica alla

macchina virtuale e viceversa

5 Tecnico di Reti Informatiche, modulo 2

Page 6: Orazio Battaglia - CORSO TECNICO DI RETI | Blog di ... · software sviluppati per ambiente Windows e software sviluppati per ambiente Linux, esecuzione ... principale lavoro è la

Tipi di virtualizzazione: Server (1/2) La virtualizzazione inserisce un livello (layer) tra l’hardware della macchina fisica e il

sistema operativo che viene eseguito sulla macchina fisica

Il livello inserito (nell’immagine Xen) astrae le risorse hardware della macchina fisica (Host) e le mette a disposizione dei sistemi operativi Guest

Il livello inserito altro non è che un piccolo sistema operativo (hypervisor) il cui principale lavoro è la gestione dell’accesso alla risorse da parte dei sistemi operativi Guest

Es. di uso: virtualizzazione dei server del Data Center

Riferimento immagine http://www.xen.org/files/Marketing/WhatisXen.pdf

6 Tecnico di Reti Informatiche, modulo 2

Page 7: Orazio Battaglia - CORSO TECNICO DI RETI | Blog di ... · software sviluppati per ambiente Windows e software sviluppati per ambiente Linux, esecuzione ... principale lavoro è la

Tipi di virtualizzazione: Server (2/2)

Vantaggi

Ottimizzazione dell’uso delle risorse hardware e minimizzazione gli sprechi

Risparmio energetico

Controllo centralizzato di tutta la sala server

Monitoraggio delle risorse in uso

Incremento della flessibilità: in un ambiente virtualizzato mettere a disposizione nuovi servizi è una operazione più rapida e più sicura in quanto non dipendente da un solo apparato hardware

Scalabilità della piattaforma: al crescere delle dimensioni è sufficiente aggiungere e non sostituire tutto

Ripristino dei servizi in caso di guasto più rapido: minimizzazione dei tempi di downtime in caso di malfunzionamenti hardware e/o software

7 Tecnico di Reti Informatiche, modulo 2

Page 8: Orazio Battaglia - CORSO TECNICO DI RETI | Blog di ... · software sviluppati per ambiente Windows e software sviluppati per ambiente Linux, esecuzione ... principale lavoro è la

Tipi di virtualizzazione: Desktop (1/2)

La virtualizzazione Desktop consiste nella creazione

di desktop virtuali da usare al posto dei desktop fisici

tradizionali

I desktop virtuali vengono eseguiti all’interno del

Data Center e l’accesso da parte degli utenti avviene

tramite un protocollo di accesso remoto (RDP di

Microsoft, ICA di Citrix, PCoIP di VMware)

Vengono usate delle tecnologie per la

deduplicazione dei dischi dei desktop virtuali e delle

tecnologie per gestire l’accesso da parte degli utenti

(tipicamente utenti di Active Directory)

8 Tecnico di Reti Informatiche, modulo 2

Page 9: Orazio Battaglia - CORSO TECNICO DI RETI | Blog di ... · software sviluppati per ambiente Windows e software sviluppati per ambiente Linux, esecuzione ... principale lavoro è la

Tipi di virtualizzazione: Desktop (2/2)

Vantaggi

Installazione di sistema operativo e software applicativo su una unica

immagine di disco, l’immagine viene «consegnata» ad un numero variabile

di utenti.

Aggiornare un software (sistema operativo, antivirus, software, windows

update, …) diventa una operazione che non richiede di andare su ogni

singola macchina: aggiorno l’immagine disco di base e la ridistribuisco.

I desktop virtuali sono eseguiti sui server del data center: i vecchi computer

possono essere riutilizzati come terminali e ai nuovi utenti possono essere

consegnati dei piccoli thin client per la connessione al desktop virtuale

remoto. Abbattimento sostanziale dei costi di gestione dell’hardware.

Flessibilità di accesso al proprio desktop: un utente con il proprio computer

(desktop tradizionale, portatile, thin client, dispositivo mobile) può collegarsi

al desktop virtuale remoto.

Centralizzazione del supporto all’utente finale. Una console permette di

vedere lo stato dei desktop in esecuzione e di intervenire remotamente.

9 Tecnico di Reti Informatiche, modulo 2

Page 10: Orazio Battaglia - CORSO TECNICO DI RETI | Blog di ... · software sviluppati per ambiente Windows e software sviluppati per ambiente Linux, esecuzione ... principale lavoro è la

Architetture dei principali Hypervisor (1/4)

10

Xen (www.xen.org)

L’hypervisor Xen installa il dominio «dom0» che si occupa della gestione delle risorse hardware. I sistemi operativi Guest (dom1 … domN) chiedono risorse all’hypervisor che si rivolge al «dom0»

Il «dom0» include anche le API (Application Programming Interface) di management

Tecnico di Reti Informatiche, modulo 2

Page 11: Orazio Battaglia - CORSO TECNICO DI RETI | Blog di ... · software sviluppati per ambiente Windows e software sviluppati per ambiente Linux, esecuzione ... principale lavoro è la

Architetture dei principali Hypervisor (1/4)

Tecnico di Reti Informatiche, modulo 2 11

L’hypervisor Xen supporta due tipi di Guest: PV (Paravirtualization) e HVM (Hardware Virtual Machine)

Xen Paravirtualization (PV): richiede un kernel che supporti la paravirtualizzazione di Xen. Il Guest non usa dell’hardware emulato ma direttamente quello fisico passando per il kernel abilitato al funzionamento su Xen. I kernel esistono per Linux, NetBSD, FreeBSD, OpenSolaris e Novell Netware.

Xen Full virtualization (HVM): richiede le estensioni per la virtualizzazione delle CPU (Intel VT, AMD-V). Xen usa QEMU per emulare tutto l’hardware del server. I Guest in questa modalità non necessitano di particolari kernel. Windows usa questa modalità.

La paravirtualizzazione, non richiedendo emulazione, è in generale più efficiente.

Page 14: Orazio Battaglia - CORSO TECNICO DI RETI | Blog di ... · software sviluppati per ambiente Windows e software sviluppati per ambiente Linux, esecuzione ... principale lavoro è la

Architetture dei principali Hypervisor (4/4)

14

KVM (http://www.linux-kvm.org/page/Main_Page)

La virtualizzazione viene attuata mediante moduli del kernel linux, kvm.ko e, in base alla architettura dei processori, i moduli kvm-intel.ko o kvm-amd.ko.

Usa inoltre QEMU (http://wiki.qemu.org/Main_Page) emulatore di macchina e virtualizzatore

La virtualizzazione assomigli a quella di tipo Client ma è più performante

Tecnico di Reti Informatiche, modulo 2

Page 15: Orazio Battaglia - CORSO TECNICO DI RETI | Blog di ... · software sviluppati per ambiente Windows e software sviluppati per ambiente Linux, esecuzione ... principale lavoro è la

Architetture di virtualizzazione Server

15

In una architettura di virtualizzazione Server svolge

un ruolo primario lo storage che ospiterà i file che

costituiscono le macchine virtuali

Tipicamente una architettura Server prevede la

presenza di almeno 2 macchine fisiche server e di

almeno uno storage

La condivisione dello storage tra le macchine fisiche

permette lo spostamento a caldo (durante

l’esecuzione) delle macchine virtuali

La presenza di almeno 2 macchine fisiche

garantische la tolleranza al guasto di una macchina

Tecnico di Reti Informatiche, modulo 2

Page 16: Orazio Battaglia - CORSO TECNICO DI RETI | Blog di ... · software sviluppati per ambiente Windows e software sviluppati per ambiente Linux, esecuzione ... principale lavoro è la

Architetture di virtualizzazione Server

16

I Server 1 e 2 condividono lo Storage che ospita i file che costituiscono le macchine virtuali.

Le linee rosse indicano la connessione allo storage senza specificarne il tipo.

Tecnico di Reti Informatiche, modulo 2

Page 17: Orazio Battaglia - CORSO TECNICO DI RETI | Blog di ... · software sviluppati per ambiente Windows e software sviluppati per ambiente Linux, esecuzione ... principale lavoro è la

Architetture di virtualizzazione Server

17

Tipi di storage:

DAS: Direct Attached Storage, è il sistema di storage

direttamente collegato alla macchina fisica. Il controller

dello storage (IDE, SATA, RAID IDE o SATA) è installato

sulla macchina fisica. Storage tradizionale

NAS: Network Attached Storage, tipicamente una

appliance fisica con diversi dischi collegati in RAID che

espone protocolli di condisione NFS o CIFS/SMB.

SAN (iSCSI, Fiber Channel): Storage Area Network,

tipicamente una appliance fisica con diversi dischi

collegati in RAID che permette l’accesso RAW ai dati

Tecnico di Reti Informatiche, modulo 2

Page 18: Orazio Battaglia - CORSO TECNICO DI RETI | Blog di ... · software sviluppati per ambiente Windows e software sviluppati per ambiente Linux, esecuzione ... principale lavoro è la

Architetture di virtualizzazione Server

18

NAS e SAN:

NAS e SAN sono storage condivisi via rete

I NAS permettono l’acceso ai dati a livello di file system: gestiscono l’accesso contemporaneo ai file ma le performance possono risentire della presenza del file system

Le SAN permettono l’accesso ai dati RAW cioè direttamente a blocchi fisici. Non è presente un file system che gestisca l’accesso contemporaneo ai dati che a questo punto è delegato al server che accede ai dati. Poiché l’accesso ai dati è a livello di blocchi le performance sono molto elevate

Tecnico di Reti Informatiche, modulo 2

Page 19: Orazio Battaglia - CORSO TECNICO DI RETI | Blog di ... · software sviluppati per ambiente Windows e software sviluppati per ambiente Linux, esecuzione ... principale lavoro è la

Architetture di virtualizzazione Server

19

Tipi di NAS e tipi di SAN:

I NAS in genere espongono i protocolli NFS o CIFS/SMB. Le macchine fisiche chiedono file tramite questi protocolli.

Le SAN sono tipicamente:

Fibre Channel: i blocchi dei dati viaggiano sulla fibra ottica. Necessitano di hardware di rete specifico (basato su fibra) e in genere molto costoso.

iSCSI: i blocchi dei dati viaggiano sulla infrastruttura di rete TCP/IP tradizionale. In pratica i comandi SCSI vengono inseriti all’interno di segmenti TCP/IP e quindi possono viaggiare su switch e attraversare I router. Soluzione in genere più abbordabile rispetto a Fibre Channel. iSCSI usa le porte TCP/IP 860 e 3260.

Tecnico di Reti Informatiche, modulo 2

Page 20: Orazio Battaglia - CORSO TECNICO DI RETI | Blog di ... · software sviluppati per ambiente Windows e software sviluppati per ambiente Linux, esecuzione ... principale lavoro è la

Architetture di virtualizzazione Server

20

Storage multipathing.

Con il termine multipath ci si riferisce alla possibilità di raggiungere una destinazione da diversi percorsi.

Lo storage multipathing prevede proprio la possibilità di definire percorsi alternativi verso lo storage.

Lo storage multipathing permette di ottenere:

Bilanciamento del carico di lavoro sui diversi path

Fault tolerance nel caso uno dei path diventi indisponibile

Lo storage multipathing è in genere una feature degli storage di livello enterprise che usano iSCSI o Fibre Channel e quindi si riferisce tipicamente a SAN.

Lo storage multipathing è in genere legato alla presenza di più controller di memorizzazione all’interno dello storage.

Tecnico di Reti Informatiche, modulo 2

Page 21: Orazio Battaglia - CORSO TECNICO DI RETI | Blog di ... · software sviluppati per ambiente Windows e software sviluppati per ambiente Linux, esecuzione ... principale lavoro è la

Architetture di virtualizzazione Server

21

Se da un lato la virtualizzazione Server presenta tutti i vantaggi visti in precedenza dall’altro è necessario pensare a ridondare tutte le componenti in modo da evitare il fermo dei servizi in caso di rotture hardware.

E’ utile tenere in considerazione la ridondanza a diversi livelli: Livello Server:

Hypervisor installato su almeno una coppia di dischi in RAID 1

Alimentatore ridondato

Livello Rete: Almeno 2 switch di collegamento

Meglio se ogni switch con doppio alimentatore

Livello Storage: Almeno 2 controller per l’accesso ai dati

Alimentatore ridondato

Tecnico di Reti Informatiche, modulo 2

Page 22: Orazio Battaglia - CORSO TECNICO DI RETI | Blog di ... · software sviluppati per ambiente Windows e software sviluppati per ambiente Linux, esecuzione ... principale lavoro è la

Architetture di virtualizzazione Server

22

Esempio di architettura di virtualizzazione Server con Storage iSCSI, 2 switch e 2 Server

Tecnico di Reti Informatiche, modulo 2

Page 23: Orazio Battaglia - CORSO TECNICO DI RETI | Blog di ... · software sviluppati per ambiente Windows e software sviluppati per ambiente Linux, esecuzione ... principale lavoro è la

Architetture di virtualizzazione Desktop

23

La virtualizzazione Desktop non è la virtualizzazione Server

La virtualizzazione Desktop non è la semplice somma di tutte le macchine virtuali che girano nell’ambiente di virtualizzazione Desktop, non sarebbe efficiente

Servono delle tecnologie per la deduplicazione del disco dei desktop virtuali e per la deduplicazione della memoria

Sono necessari dei server per garantire l’autenticazione, l’autorizzazione e l’accesso sicuro degli utenti ai desktop virtuali

Tecnico di Reti Informatiche, modulo 2

Page 24: Orazio Battaglia - CORSO TECNICO DI RETI | Blog di ... · software sviluppati per ambiente Windows e software sviluppati per ambiente Linux, esecuzione ... principale lavoro è la

Architetture di virtualizzazione Desktop

24

Un ambiente di virtualizzazione desktop tipicamente dispone di server ridondati per ogni servizio. Tutti i desktop virtuali vengono eseguiti nel Data Center ed è necessario che ogni componente sia Fault Tolerant per evitare l’arresto di tutti i servizi in caso di malfunzionamenti hardware e/o software

In un ambiente di virtualizzazione desktop tipicamente servono i seguenti server:

Server di accesso sicuro (VPN)

Server controller che servono per la creazione di gruppi di desktop, per l’assegnazione dei gruppi di desktop a gruppi di utenti, per la gestione del power management dei gruppi di desktop, per la gestione di policy applicate ai gruppi di desktop

Server di provisioning dei dischi

Tecnico di Reti Informatiche, modulo 2

Page 25: Orazio Battaglia - CORSO TECNICO DI RETI | Blog di ... · software sviluppati per ambiente Windows e software sviluppati per ambiente Linux, esecuzione ... principale lavoro è la

Architetture di virtualizzazione Desktop

25

Esempio di architettura VMware VIEW 5

Tecnico di Reti Informatiche, modulo 2

Page 26: Orazio Battaglia - CORSO TECNICO DI RETI | Blog di ... · software sviluppati per ambiente Windows e software sviluppati per ambiente Linux, esecuzione ... principale lavoro è la

Architetture di virtualizzazione Desktop

26

Esempio di architettura Citrix XenDesktop 5

Tecnico di Reti Informatiche, modulo 2

Page 27: Orazio Battaglia - CORSO TECNICO DI RETI | Blog di ... · software sviluppati per ambiente Windows e software sviluppati per ambiente Linux, esecuzione ... principale lavoro è la

Virtualizzazione delle Applicazioni

Tecnico di Reti Informatiche, modulo 2 27

La virtualizzazione delle applicazioni permette di gestire in modo centralizzato il software applicativo di una organizzazione. L’aggiornamento di un software applicativo richiede l’aggiornamento sul server di virtualizzazione e la ridistribuzione agli utenti.

I modelli di virtualizzazione delle applicazioni tipicamente sono 2:

1. Streaming dell’applicazione (offline use): l’utente richiede una applicazione al server il quale la spedisce al client (streaming) che la esegue localmente. Crea del traffico di streaming sulla rete ma non richiede capacità elaborativa particolare sul server.

2. Accesso remoto all’applicazione (online use): l’utente per eseguire del software applicativo si collega ad un server. Non viene generato molto traffico di rete ma richiede capacità elaborativa sul server che esegue l’applicazione.