Sistemi di virtualizzazione in ambiente Linux

80
Introduzione OpenVZ KVM Proxmox Sistemi di virtualizzazione su Linux Tecnologie di virtualizzazione e consolidamento Simone Piccardi Truelite Srl Via Monferrato, 6 Firenze www.truelite.it 13 Maggio 2014 Simone Piccardi Sistemi di virtualizzazione su Linux

Transcript of Sistemi di virtualizzazione in ambiente Linux

Page 1: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Sistemi di virtualizzazione su LinuxTecnologie di virtualizzazione e consolidamento

Simone Piccardi

Truelite SrlVia Monferrato, 6 Firenze

www.truelite.it

13 Maggio 2014

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 2: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Di cosa parlero

1 IntroduzionePanoramica sui concettiPanoramica tecnologie

2 OpenVZArchitetturaGestione delle macchine virtualiGestione delle risorse

3 KVMArchitetturaFunzionalita di baseGestione delle risorse

4 Proxmox

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 3: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Panoramica sui concettiPanoramica tecnologie

Perche la virtualizzazione

I server attuali sono spesso sotto-utilizzati:

multiprocessori con carichi poco significativi

grandi quantita di memoria, usata come cache

dischi di dimensioni sempre maggiori

e possibile tenere su una macchina fisica quello che prima stava sumolte

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 4: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Panoramica sui concettiPanoramica tecnologie

Vantaggi della virtualizzazione

La virtualizzazione consente di creare piu macchine virtuali su unasola macchina reale:

si possono consolidare su una sola macchina diversi server

si possono utilizzare diversi sistemi operativi su una solamacchina

si possono fornire risorse in maniera dinamica secondo leesigenze

si risparmia energia elettrica usando meglio le risorse hardware

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 5: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Panoramica sui concettiPanoramica tecnologie

Vantaggi della virtualizzazione

La virtualizzazione consente di separare la manutenzione dihardware e software:

si possono separare macchine virtuali con diversi livelli disicurezza, dividendo i rischi

si possono mantenere per compatibilita su hardware recentevecchie versioni di sistema operativo

si puo gestire l’aggiornamento delle macchine fisicheseparatamente da quello delle macchine virtuali

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 6: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Panoramica sui concettiPanoramica tecnologie

Svantaggi della virtualizzazione

Gli svantaggi in realta sono molto pochi:

perdita di prestazioni, ma poco significativa nella maggiorparte dei casi, e sempre minore grazie al supporto hardware

minore sicurezza, in caso di compromissione del sistema divirtualizzazione si puo prendere il controllo di molte macchine

lo svantaggio piu significativo e quello relativo alla sicurezza

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 7: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Panoramica sui concettiPanoramica tecnologie

Tipi di virtualizzazione

Le tecnologie di virtualizzazione si possono divideresommariamente in tre categorie:

container si usa il kernel per creare un contenitore in cui fargirare un sistema operativo ospite all’interno di un ambientevirtuale.

software virtualization si emula in software un interocomputer fornendo un hardware virtuale su cui fare unainstallazione del tutto identica a quella di una macchina fisica

hardware virtualization si sfrutta il supporto hardware deimoderni processori per emulare in maniera efficiente interocomputer

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 8: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Panoramica sui concettiPanoramica tecnologie

Container: Vantaggi e svantaggi

Vantaggi:

prestazioni, lo stesso kernel esegue tutti i programmi di tuttele macchine virtuali

ottimizzazione delle risorse, la memoria ed il disco sonosfruttati integralmente senza rigide allocazioni

Svantaggi:

non si possono virtualizzare sistemi operativi diversi

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 9: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Panoramica sui concettiPanoramica tecnologie

Software virtualization: Vantaggi e svantaggi

Vantaggi:

si possono utilizzare anche altri sistemi operativi

non necessita di processori recenti con supporto hardware

in certi casi si puo utilizzare anche su architetture hardwarediverse

Svantaggi:

prestazioni ridotte di esecuzione, si esegue un emulatore su cuigira un sistema operativo che esegue altri programmi

prestazioni ridotte di I/O, si devono emulare le periferiche

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 10: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Panoramica sui concettiPanoramica tecnologie

Hardware virtualization: Vantaggi e svantaggi

Vantaggi:

si possono utilizzare anche altri sistemi operativi

alta velocita per l’esecuzione nativa del sistema ospite

Svantaggi:

necessita di processori recenti con il supporto hardware

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 11: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Panoramica sui concettiPanoramica tecnologie

Tecnologie disponibili: container

Le tecnologie di virtualizzazione basate sulla realizzazione dicontainer sono:

LXC

linux-vserver

OpenVZ

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 12: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Panoramica sui concettiPanoramica tecnologie

linux-vserver

Una delle soluzioni presenti da maggior tempo:

usa kernel modificato per la separazione dei server virtuali

non richiede supporto dal processore

accesso diretto all’hardware tramite il kernel in esecuzione

qualche problema per la separazione della rete

non supportato nel kernel ufficiale (e sviluppo quasi fermo)

molto veloce, funzionalita ridotte, sviluppo fermo.

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 13: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Panoramica sui concettiPanoramica tecnologie

LXC

L’ultimo arrivato (iniziato con il kernel 2.6.19, usabile dal 2.6.26):

usa le funzionalita gia presenti nel kernel

separa parzialmente i server virtuali con l’uso dei namespace

non richiede supporto dal processore

accesso diretto all’hardware tramite il kernel in esecuzione

procede di pari passo con lo sviluppo del kernel ufficiale

molto veloce ed efficiente, funzionalita ridotte, sviluppo costante.

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 14: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Panoramica sui concettiPanoramica tecnologie

OpenVZ

Nasce come applicazione proprietaria, rilasciato poi come GPL:

usa un kernel modificato per la separazione dei server virtuali

sfrutta dove possibile le funzionalita gia presenti nel kernel

accesso diretto all’hardware tramite il kernel in esecuzione

non richiede supporto dal processore

supporta diversi modelli di rete e live migration

molto veloce ed efficiente, molte funzionalita, sviluppo costante.

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 15: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Panoramica sui concettiPanoramica tecnologie

Tecnologie disponibili: software virtualization

Le tecnologie di virtualizzazione basate sulla virtualizzazionesoftware sono:

qemu

kqemu

Virtualbox

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 16: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Panoramica sui concettiPanoramica tecnologie

qemu

E’ stata una delle prime macchine virtuali create su Linux:

emula completamente un PC, comprese alcune periferiche, visi puo installare qualunque sistema operativo

eseguito come programma dal sistema ospite, non richiedemodifiche al kernel, ne supporto da parte del processore

usa come sistema ospite Linux, FreeBSD, Solaris, MacOS eWindows

gira su diverse piattaforme ospite (x86, PPC) e emula diversepiattaforme hardware (x86, PPC, ARM, SPARC, MIPS)

relativamente semplice da usare, molto lento, utilizza moltamemoria, efficiente nell’uso dello spazio disco.

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 17: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Panoramica sui concettiPanoramica tecnologie

kqemu

La versione originale di qemu e molto lenta, kqemu:

usa modulo del kernel per accelerare l’esecuzione dei sistemaospitato

il sistema operativo e le applicazioni ospiti sono eseguitidirettamente dal processore

funziona solo per emulazioni di piattaforma x86 su x86

disponibile solo sotto Linux, non puo essere usato perinstallare Windows

non supportato dal kernel ufficiale, sviluppo fermo

relativamente semplice da usare, meno lento, utilizza moltamemoria, efficiente nell’uso dello spazio disco, sviluppo fermo.

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 18: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Panoramica sui concettiPanoramica tecnologie

VirtualBox

Era una applicazione proprietaria, rilasciata poi sotto GPL:

approccio analogo a kqemu, accelerazione tramite moduli delkernel

multi-piattaforma, puo essere eseguita su Linux, Windows,Solaris, MacOSX

puo eseguire come sistema ospite qualunque sistema operativo

non supportato nel kernel ufficiale ma ben sviluppato

estremamente semplice, ottima interfaccia di gestione,moderatemente veloce, richiede parecchie risorse (memoria espazio disco), alcune funzionalita restano proprietarie.

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 19: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Panoramica sui concettiPanoramica tecnologie

Tecnologie disponibili: hardware virtualization

Le tecnologie di virtualizzazione basate sulla virtualizzazioneassistita dall’hardware sono:

Xen paravirtualization

Xen full virtualization

KVM

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 20: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Panoramica sui concettiPanoramica tecnologie

Xen paravirtualization

La prima versione, basata sul concetto di hypervisor, consente dieseguire piu sistemi operativi:

uno strato di controllo, l’hypervisor, esegue un kernelprincipale (dom0) che esegue le restanti istanze virtuali (domU).

senza supporto hardware occorrono delle modifiche al sistemaoperativo eseguito (disponibili per Linux e BSD)

funzionalita avanzate come live-migration, interfacce virtuali,accesso a disco veloce con LVM.

richiede modifiche non supportate dal kernel ufficiale

complesso da usare, molto veloce, ottime funzionalita, necessita diparecchie risorse (in memoria e spazio disco).

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 21: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Panoramica sui concettiPanoramica tecnologie

Xen full virtualization

Versione che usa il supporto hardware:

viene usato ancora l’hypervisor ma puo emulare una macchinafisica senza modifiche al sistema operativo eseguito

l’accesso alle periferiche reali e piu lento in quanto simulatoappoggiandosi a qemu o moduli dedicati

mantiene le funzionalita avanzate di live-migration, interfaccevirtuali, dischi su LVM.

quasi completamente supportato con le ultime versioni delkernel ufficiale

complesso da usare, molto veloce, ottime funzionalita, necessita diparecchie risorse (memoria e spazio disco).

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 22: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Panoramica sui concettiPanoramica tecnologie

KVM

E’ la tecnologia di virtualizzazione nativa su Linux:

infrastruttura generica per la creazione di macchine virtuali

parte del kernel ufficiale a partire dalla versione 2.6.20

usa una versione modificata di qemu per fornire il supportodelle periferiche

funzionalita avanzate di live-migration, interfacce virtuali,dischi su LVM

complesso da usare, molto veloce, necessita di parecchie risorse.

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 23: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Panoramica sui concettiPanoramica tecnologie

Cosa usare

Ci concentreremo su KVM e OpenVZ per i seguenti motivi:

disponibilita di un buon supporto

prodotti di punta nel rispettivo settore

fortemente sviluppati

disponibilita di Proxmox, un’interfaccia di gestione via webcombinata di entrambi

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 24: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaGestione delle macchine virtualiGestione delle risorse

OpenVZ

ogni istanza (virtual environment o VE) e completamenteseparata dalle altre (riguardo file, processi, rete e IPC)

ogni VE si comporta come un sistema ordinario, si puoinstallare e configurare qualunque servizio

il sistema consente un controllo molto dettagliato delle risorseassociate a ciascun VE

la rete e virtualizzata e la si puo anche far gestirecompletamente dall’interno di ciascun VE

sono supportate funzionalita avanzate come la sospensione deiprocessi e la live-migration

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 25: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaGestione delle macchine virtualiGestione delle risorse

OpenVZ

Alcune funzionalita di notevole interesse:

supporto per la realizzazione di “template” che rendonoimmediata l’installazione di macchine simili

supporto per il backup completo di una istanza senza doverfermare la stessa (snapshot con LVM) o con downtimeminimale

spostamento dei dati da un VE all’altro con una semplicecopia di file dalla macchina ospite

e una piattaforma ideale da usare per consolidare server linux,anche con distribuzioni diverse

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 26: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaGestione delle macchine virtualiGestione delle risorse

Directory

Le configurazioni di OpenVZ sono mantenute sotto /etc/vz informa di assegnazione di variabili di shell, ogni VE e identificato daun numero (CTID o container ID):

la configurazione generale del sistema e mantenuta sotto/etc/vz/vz.conf

le configurazioni di ogni VE sono mantenute in/etc/vz/conf/CTID.conf

i file di ogni VE sono mantenuti in/var/lib/vz/private/CTID.conf

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 27: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaGestione delle macchine virtualiGestione delle risorse

Architettura

OpenVZ e un’estensione del kernel per il gia presente supporto peri container:

I VE vengono attivati sul sistema ospitante, i relativiprogrammi girano come processi ordinari:

all’interno di un VE viene eseguito l’userspace di unadistribuzione (a partire da init)

un VE utilizza i pacchetti ordinari, eccetto quelli relativi alkernel ed alla gestione dell’hardware

il sistema ospitante vede tutti i processi e tutti i file dei VE

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 28: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaGestione delle macchine virtualiGestione delle risorse

Architettura

Ciascun VE vede un ambiente virtuale proprio, separato da quellodegli altri VE e del sistema ospitante:

ogni VE vede soltanto i processi lanciati al suo interno

non possono essere montati filesystem (ma si possonopredisporre bind mount dal sistema ospitante)

non e disponibile l’accesso diretto all’hardware (con qualcheeccezione)

ci sono due modelli per la gestione della rete, routing (venet)e bridging (veth)

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 29: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaGestione delle macchine virtualiGestione delle risorse

Architettura

Tutti i file dei VE vengono mantenuti direttamente sul filesystemdel sistema ospitante, non sono necessarie allocazionipredeterminate dello spazio disco:

la radice di un VE corrisponde alla directory dove sonoinstallati i relativi file (/var/lib/vz/private/CTID )

ogni VE vede la suddetta directory come propria radice su undisco virtuale (/dev/simfs)

la dimensione del disco visto da un VE e impostata econtrollata dal sistema ospitante

il sistema ospitante e in grado di spostare/copiare i file di unVE come fa con qualunque altro file

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 30: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaGestione delle macchine virtualiGestione delle risorse

Installazione

OpenVZ richiede un kernel modificato ed alcuni programmi digestione in userspace:

pacchettizzato da Debian fino a Squeeze (kernel -openvz)

pacchettizzato da Proxmox (pve-kernel) con supporto alungo termine

un pacchetto omonimo per il programma di gestione vzctl etutta la relativa infrastruttura

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 31: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaGestione delle macchine virtualiGestione delle risorse

Introduzione

Un kernel con il supporto per OpenVZ fornisce le infrastrutture digestione necessarie:

il programma vzlist consente di elencare i VE attivi (e lapresenza del supporto per openvz)

nel file /proc/user beancounters sono elencate leimpostazioni relative alle risorse assegnati, i contatori per l’usoe per l’eventuale superamento dei limiti

ulteriori informazioni sono disponibili sotto /proc/vz/

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 32: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaGestione delle macchine virtualiGestione delle risorse

Il programma vzctl

La gestione di OpenVZ viene effettuata principalmente attraverso ilprogramma vzctl che consente di:

installare e rimuovere i VE

avviare, fermare, sospendere, spostare i VE

impostare le caratteristiche, i limiti e le risorse dei VE

entrare in un VE o eseguire un programma al suo interno

il comando richiede sempre l’indicazione del VE su cui operaretramite il suo CTID.

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 33: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaGestione delle macchine virtualiGestione delle risorse

La creazione di un VE

La creazione di un VE viene eseguita con il comando vzctl

create CTID , dove CTID non sia gia stato utilizzato:

il comando crea il VE partendo da un template contenentetutti i file necessari al nuovo sistema

il programma usa di default il template indicato dal parametroDEF OSTEMPLATE di /etc/vz/vz.conf a meno di unaindicazione esplicita con --ostemplate

il nome del template indica il corrispondente file conestensione .tar.gz sotto /var/lib/vz/template/cache/

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 34: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaGestione delle macchine virtualiGestione delle risorse

La creazione di un VE

Ad un nuovo VE vengono assegnate da vzctl create un insiemedi risorse a partire da un default:

caratteristiche e risorse vengono ottenute dal file indicato dalparametro CONFIGFILE di vz.conf o dall’opzione --config

al nome indicato deve corrispondere un file nella forma/etc/vz/conf/ve-nome.conf-sample

tutte le risorse possono essere assegnate esplicitamente con lecorrispondenti opzioni a riga di comando

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 35: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaGestione delle macchine virtualiGestione delle risorse

Cancellazione di un VE

Un VE puo essere rimosso con vzctl destroy CTID :

tutti i file presenti sotto /var/lib/vz/private/CTID

verranno eliminati

tutti i file di configurazione relativi al template (sotto/etc/vz/conf verranno eliminati

attenzione: il comando non chiede conferma, la cancellazionee definitiva e non si puo tornare indietro

per disabilitare temporaneamente l’uso di un VE si usi invecevzctl set --disabled yes CTID

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 36: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaGestione delle macchine virtualiGestione delle risorse

Lancio di un VE

Una volta creato un VE deve essere esplicitamente avviato vzctl

start CTID :

il comando ritorna immediatamente, se si vuole attendere chele operazioni di avvio siano completate si usi l’opzione --wait

il comando non avvia un VE disabilitato, se si vuole forzarel’avvio occorre utilizzare l’opzione --force

per automatizzare l’avvio di un VE al riavvio della macchinaospite occorrera impostarlo con vzctl set --onboot yes

CTID

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 37: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaGestione delle macchine virtualiGestione delle risorse

Fermata e riavvio di un VE

Un VE attivo puo essere fermato con il comando vzctl stop

CTID :

il comando esegue halt all’interno del container, con unoshutdown pulito dello stesso

con l’opzione --fast viene usata direttamente la system callreboot con terminazione immediata dei processi

con vzctl restart CTID si effettua il riavvio

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 38: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaGestione delle macchine virtualiGestione delle risorse

Ulteriori comandi

Oltre ai precedenti vzctl consente di eseguire alcune operazionidirettamente su un VE attivo:

con vzctl enter CTID si ottiene una shell di root all’internodel VE (eseguibile solo da root del sistema ospitante)

con vzctl exec CTID comando si esegue un comandoall’intero del VE

con vzctl status CTID si ottiene lo stato di un VE

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 39: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaGestione delle macchine virtualiGestione delle risorse

Gestione della rete

Per la gestione della rete esistono due modalita alternative:

routing, in cui il VE dispone di una interfaccia virtualepunto-punto verso una corrisponde nel sistema ospitante sucui viene inviato il traffico, questo viene instradato poi dalsistema ospitate.

bridging, in cui il VE dispone di una interfaccia ethernetvirtuale con una corrispondente nel sistema ospitante che deveessere configurata in bridge con una interfaccia reale dellostesso

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 40: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaGestione delle macchine virtualiGestione delle risorse

Gestione della rete con il routing

La gestione della rete con il routing viene effettuata esclusivamentedal sistema ospitante:

dal sistema ospitante si assegna un indirizzo IP al VE convzctl set --ipadd IP CTID

nel VE viene creata una interfaccia punto-punto venet0 conassegnato in aliasing l’indirizzo indicato

nel sistema ospitante viene creata una interfaccia venet0

corrispondente alla analoga presente nel VE

nel sistema ospitante viene creata una rotta statica per iltraffico diretto all’indirizzo IP del VE verso l’interfacciavenet0

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 41: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaGestione delle macchine virtualiGestione delle risorse

Gestione della rete con il routing

Nella gestione della rete con il routing oltre agli indirizzi di retedevono essere impostati dal sistema ospitante:

l’hostname del VE con vzctl set --hostname NOME

i DNS con vzctl set --nameserver IP DNS

il dominio con vzctl set --searchdomain DOMINO

infine un indirizzo deve essere rimosso con vzctl set --ipdel

IP e si possono assegnare piu indirizzi ripetendo il comando vzctl

set --ipadd IP

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 42: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaGestione delle macchine virtualiGestione delle risorse

Gestione della rete con il bridging

Nella gestione della rete con il bridging si crea una interfacciaethernet virtuale nel VE e questo ne puo gestire l’impostazione:

l’interfaccia deve essere creata con il comando vzctl set

--netif add nome (il default e eth0)

la si puo rimuovere con vzctl set --netif del nome

se ne indica il MAC-address con vzctl set --mac XX:..

l’interfaccia cosı creata corrispondera ad una equivalenteinterfaccia virtuale vethCTID.N nel sistema ospitante che dovraessere messa in bridge con una interfaccia reale

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 43: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaGestione delle macchine virtualiGestione delle risorse

Gestione della rete con il bridging

Una volta creata l’interfaccia ethernet nel VE il sistema ospitantedovra gestire il traffico:

si indica il MAC-address dell’interfaccia nel sistema ospitantecon vzctl set --host mac XX:..

si indica il bridge di cui andra a far parte con vzctl set

--bridge nome

si dovra predisporre un bridge (chiamato nome) con membrol’interfaccia reale su cui si vuole vengano fatti uscire ipacchetti

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 44: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaGestione delle macchine virtualiGestione delle risorse

Gestione della rete con il bridging

Per il funzionamento di questa configurazione:

il VE deve configurare la sua rete con le modalita ordinariepreviste dalla distribuzione installata

all’avvio del VE la corrispondente interfaccia veth nel sistemaospite viene inserita nel bridge indicato

l’interfaccia accetta solo pacchetti ethernet diretti al MACaddress indicato (a meno di non disabilitare il filtro con--mac filter)

dall’interno del VE non e possibile cambiare il MAC addressdell’interfaccia

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 45: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaGestione delle macchine virtualiGestione delle risorse

Le risorse di OpenVZ

OpenVZ consente un controllo molto dettagliato delle risorseassociate ad un VE, ciascuna delle quali e identificata da un nome:

il consumo delle risorse puo essere controllato nel file/proc/user beancounters

le risorse si impostano con il comando vzctl set CTID

passando una opzione nella forma --nomerisorsa=BAR:LIM

per ogni risorsa si possono indicare una barriera (BAR) ed unlimite (LIM), indicando un solo valore questo viene usato perentrambi

si puo usare unlimited per indicare un valore illimitato ed il valoredel limite deve essere maggiore o uguale di quello della barriera

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 46: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaGestione delle macchine virtualiGestione delle risorse

Limiti e garanzie

Il significato di una risorsa di OpenVZ varia a seconda della risorsastessa:

le risorse contenenti la stringa guard indicano una garanzia,cioe un valore minimo garantito per la stessa e non unalimitazione

per le garanzie la barriera indica il valore fino a cui l’uso dellarisorsa e garantito, non essendoci restrizioni il limite deveessere unlimited

per le altre risorse il significato e l’eventuale differenza frabarriera e limite viene documentato nella descrizione dellapagina di manuale

in genere si usano i default e non si modificano a meno di nonriscontrare superamenti dei limiti in /proc/user beancounter

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 47: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaGestione delle macchine virtualiGestione delle risorse

Gestione della memoria

Nelle versioni piu recenti di OpenVZ la gestione della ripartizionedella memoria e stata notevolmente semplificata:

con vzctl set --ram bytes si imposta la quantita di RAMassegnata ad un VE, la barriera viene ignorata, vale solo ilvalore del limite

con vzctl set --swap si imposta la quantita di area diswap assegnata ad un VE, la barriera viene ignorata, vale soloil valore del limite

l’uso di queste funzionalita richiede la presenza di/proc/vz/vswap.

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 48: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaGestione delle macchine virtualiGestione delle risorse

Gestione del disco

Oltre alle impostazioni sull’uso delle risorse vzctl set consente dicontrollare l’utilizzo del disco:

con vzctl set --diskspace si imposta la dimensione deldisco come vista dal VE in forma di quote disco, la barriera fada soft limit il limite da hard limit

con vzctl set --quotatime si imposta il periodo di graziaper lo sforamento del limite imposto dalla barriera

con vzctl set --ioprio si imposta il valore di ionice delVE (il default e 4)

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 49: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaFunzionalita di baseGestione delle risorse

Caratteristiche generali di KVM

il sistema di ogni istanza viene eseguito a velocita nativagrazie al supporto hardware dei processori moderni

e disponibile su piattaforma x86, con porting in corso perARM e PPC

puo utilizzare come disco virtuale sia file che volumi logici

emulazione dell’hardware con qemu, ma per disco e rete sonodisponibili dispositivi virtuali per un accesso ad alta velocita

uso piu efficace della memoria: supporto per il memoryballooning e l’unione di pagine identiche (KSM)

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 50: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaFunzionalita di baseGestione delle risorse

Caratteristiche generali di KVM

Le funzionalita di maggiore interesse di KVM:

la virtualizzazione completa consente l’installazione diqualunque sistema operativo

supporta accesso diretto (con hotplug) di una istanza aidispositivi PCI della macchina ospite

supporta l’accesso ai dispositivi USB dalla macchina ospite

live-migration delle istanze in presenza di storage consupporto dell’accesso condiviso

adatto all’installazione di altri sistemi operativi o macchine virtualiche necessitano accesso all’hardware della macchina ospite

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 51: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaFunzionalita di baseGestione delle risorse

Installazione di KVM

Il supporto per KVM e presente nel kernel ufficiale da molti anni ingenere necessario solo installare la parte in userspace:

occorre il supporto da parte del processore, indicato dallapresenza delle estensioni svm o vmx in /proc/cpuinfo

su Debian i programmi in user space sono forniti dalpacchetto qemu-kvm

devono essere caricati i moduli kvm e, a seconda delprocessore, kvm-intel o kvm-amd

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 52: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaFunzionalita di baseGestione delle risorse

Esecuzione di una macchina virtuale

L’esecuzione di una macchina virtuale con KVM viene effettuataattraverso il programma kvm:

ogni macchina virtuale viene gestita da una istanza di kvm chegira come singolo processo

il programma avvia la macchina virtuale eseguendo un biosemulato e presenta un hardware virtualizzato completo

i dischi vengono visti a seconda dell’emulazione come IDE,SCSI o VIRTIO (quest’ultimi nella forma /dev/vdX)

le caratteristiche della macchina virtuale sono impostate daspecifiche opzioni a riga di comando

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 53: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaFunzionalita di baseGestione delle risorse

Opzioni generiche di kvm

Una prima serie di opzioni consentono di definire il comportamentodel programma:

-daemonize indica di lanciare il programma come demonedistaccandosi dal terminale

-name nome assegna un identificativo alla macchina

-boot order=XXX indica l’ordine di avvio (a floppy, c harddisk, d CDROM, n rete)

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 54: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaFunzionalita di baseGestione delle risorse

Opzioni di accesso alla console

Per l’avvio e l’accesso alla console della macchina virtuale sonodisponibili le opzioni:

-vga tipo indica il modello di scheda VGA da emulare (ex.cirrus, ecc.)

-vnc display indica di associare la VGA emulata ad undisplay VNC che puo essere indicato nella formaip-o-hostname:N o unix:/socket/path/name/

-spice opzioni abilita il protocollo di desktop remotoSPICE (piu efficiente, ma richiede un client apposito)

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 55: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaFunzionalita di baseGestione delle risorse

Installazione macchine virtuali

Si ricordi che KVM e un sistema di virtualizzazione completa,pertanto e sempre necessario procedere ad una installazione nellamacchina virtuale:

si deve disporre di un dispositivo di installazione per il propriosistema operativo (in genere un CD o una sua immagine .iso)

si deve far partire una macchina virtuale associandovi il CD(kvm -cdrom file.iso o kvm -cdrom /dev/cdrom)

si deve procedere all’installazione ordinaria sulla macchinavirtuale usando una console sulla stessa

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 56: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaFunzionalita di baseGestione delle risorse

La gestione di CPU e memoria

Il numero di CPU e la memoria da assegnare ad una macchinavirtuale vengono indicate attraverso delle opportune opzioni:

-cpu tipo indica il modello di CPU da emulare

-m N imposta la dimensione della memoria assegnata allamacchina virtuale in megabytes

-smp n indica il numero di processori da emulare

si possono indicare i processori per socket e cores usando unvalore nella forma sockets=n,cores=m

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 57: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaFunzionalita di baseGestione delle risorse

La gestione delle risorse hardware

La gestione delle altre risorse hardware e controllata da altrettanteopzioni:

-drive consente di gestire i dischi virtuali

-netdev consente di gestire le interfacce di rete virtuali

-device imposta un dispositivo virtuale

queste prendono i loro argomenti nella forma di serie diassegnazioni chiave=valore o valori singoli, separati da virgole

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 58: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaFunzionalita di baseGestione delle risorse

La gestione delle risorse hardware

Con -device si imposta un dispositivo emulato nella macchinavirtuale, il primo argomento e il tipo di dispositivo, ad esempio:

virtio-blk-pci per un disco virtuale VIRTIO

virtio-net-pci per una interfaccia di rete virtuale VIRTIO

ide-cd per il cdrom

l’elenco di di quelli disponibili si ottiene con kvm -device help

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 59: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaFunzionalita di baseGestione delle risorse

La gestione delle risorse hardware

Gli ulteriori parametri di -device indicano come mappare ildispositivo e dipendono dal tipo dello stesso, ad esempio:

drive=nome indica il nome con cui fare riferimento aldispositivo nell’opzione -drive nel caso di un disco

netdev=nome indica un nome con cui fare riferimento aldispositivo nell’opzione -netdev nel caso di interfaccia di rete

bootindex=NNN imposta un indice di priorita per l’avvio

parametri piu specifici consentono di impostare le caratteristiche diun dispositivo (ad esempio mac imposta il MAC address)

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 60: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaFunzionalita di baseGestione delle risorse

La gestione dei dischi

La gestione dei dischi lato ospite viene effettuata con l’opzione--drive, i principali parametri sono:

file=/path indica il file dove mantenere i dati del disco (puoessere un file di dispositivo)

media=tipo indica il tipo di supporto (valori possibili disk ocdrom)

id=dev indica il nome associato al dispositivo specificato nelparametro drive di -device

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 61: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaFunzionalita di baseGestione delle risorse

La gestione dei dischi

Le prestazioni nell’uso dei dischi dipendono strettamente dallamodalita di gestione, in particolare se:

se nella macchina virtuale e necessario o meno emulare uncontroller (IDE o SCSI) o si puo usare direttamente VIRTIO

se nella macchina ospitante i dati vengono salvati su un fileoppure si da accesso diretto ad un dispositivo (o volumelogico)

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 62: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaFunzionalita di baseGestione delle risorse

La gestione della rete

La gestione delle interfacce di lato ospite viene effettuata conl’opzione --netdev, i principali parametri sono:

type=tipo tipo dell’interfaccia, che si puo indicaredirettamente come primo argomento (ex. user, tap)

id=dev indica il nome associato al dispositivo specificato nelparametro netdev di -device

ifname=nome indica il nome dell’interfaccia di rete nelsistema ospitante

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 63: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

ArchitetturaFunzionalita di baseGestione delle risorse

La gestione della rete

Come per i dischi l’efficienza della rete dipende dalle modalita concui la si gestisce:

si possono emulare nella macchina virtuale varie schede direte, ma qualora disponibile per essa il driver per il VIRTIO siottengono migliori prestazioni

e sempre opportuno utilizzare un dispositivo di tipo tap permappare l’interfaccia di rete della macchina virtuale su unainterfaccia di rete nella macchina ospite ed usare il bridging

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 64: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Proxmox

Proxmox e una distribuzione Debian-based che integra OpenVZ eKVM con una interfaccia di gestione via web:

interfaccia di gestione via web, compresa console e graficaaccessibile in remoto via VNC nel browser

supporto per configurazioni cluster, storage su iSCSI, LVM,directory locali e NFS

supporto per il backup ed il ripristino delle macchine virtuali

supporto per lo spostamento a caldo delle macchine virtualida un nodo all’altro del cluster.

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 65: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Installazione

Per l’installazione di Proxmox si possono seguire due approcci:

si puo installare la piattaforma direttamente su una macchinausando il CD di installazione fornito dal progetto(http://www.proxmox.com/downloads/proxmox-ve)

si puo installare Debian Stable ed installare la piattaforma inun secondo tempo dai pacchetti, ad esempio seguendo laprocedura illustrata su https://labs.truelite.it/

projects/truedoc/wiki/ProxmoxOnSqueeze

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 66: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Interfaccia di gestione

Una volta installata la piattaforma l’interfaccia di gestione edisponibile in HTTPs sulla porta 8006, da questa si possono:

creare macchine virtuali con KVM e VE con OpenVZ

gestire i supporti per lo spazio disco

gestire i nodi di un eventuale cluster

avviare, fermare, accedere in console alle macchine virtuali

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 67: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Architettura

Proxmox utilizza direttamente KVM ed OpenVZ, mantenendo unaorganizzazione coerente delle macchine virtuali:

tutte le configurazioni delle macchine virtuali sono riportatesotto /etc/pve, montata su un filesystem in cluster

tutte le macchine virtuali (KVM o OpenVZ) sono identificatecon un numero univoco (il VMID)

per OpenVZ /etc/vz/conf diventa semplicemente un linksimbolico a /etc/pve/openvz

per KVM le definizioni delle macchine virtuali vengonomantenute sotto /etc/pve/qemu-server/ e viene fornito ilcomando qm come analogo di vzctl

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 68: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Gestione dello storage

Proxmox consente di gestire lo storage su cui vengono mantenuti idati delle macchine virtuali:

ogni storage viene identificato con un nome

si puo indicare se lo storage e condiviso (iSCSI, FC, NFS)

si possono selezionare i tipi di dati stoccabili: immagini,template, dump, immagini ISO

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 69: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Gestione dello storage

Proxmox di usare diversi supporti come storage:

dispositivi remoti iSCSI

Volume Group di LVM (anche in versione cluster)

directory locali

dischi di rete con NFS

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 70: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Gestione semplificata di KVM

Proxmox consente una gestione semplificata delle macchine virtualicon KVM:

macchine virtuali e relative caratteriste sono mantenute inaltrettanti file VMID.conf sotto /etc/pve/qemu-server/

il comando qm consente di gestire avvio, creazione, modifica emigrazione delle macchine virtuali

il comando consente anche di gestire lo storage,ridimensionare i dischi e la creazione di snapshot

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 71: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Sintassi di base di qm

Il comando qm prevede sempre almeno due argomenti, unaoperazione ed il VMID cui questa si applica nella forma qm oper

VMID , le principali operazioni sono:

start avvia la macchina virtuale

stop spegne la macchina virtuale (spegnimento fisico)

shutdown ferma la macchina (esegue un halt)

reboot riavvia la macchina virtuale (esegue reboot)

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 72: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Sintassi di base di qm

Ulteriori operazioni effettuabili con qm sono:

create crea una macchina virtuale (le proprieta devono essereimpostate con ulteriori opzioni)

destroy elimina una macchina virtuale (attenzione,operazione non recuperabile)

migrate migra la macchina virtuale verso un altro nodo

resize ridimensiona i dischi della macchina virtuale

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 73: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Sintassi di base di qm

Ulteriori operazioni effettuabili con qm sono:

snapshot crea uno snapshot della macchina virtuale

delsnapshot cancella uno snapshot della macchina virtuale

rollback riporta la macchina virtuale allo stato salvato suuno snapshot

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 74: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

La gestione dei dump

Una delle funzionalita piu importanti di Proxmox e fornita dalcomando vzdump che consente di effettuare dei dump dellemacchine virtuali:

il comando funziona sia con OpenVZ che con KVM, e salvasia i dati che le configurazioni

il comando crea dei .tar con contenente l’intero albero deifile per OpenVZ e le immagini dei dischi per KVM

i comandi vzrestore e qmrestore consentono di ripristinareun dump indicando semplicemente il file ed il VMID sui cuicreare il ripristino

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 75: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Il comando vzdump

Il comando richiede si indichi il VMID di cui operare il dump, ecrea i file sotto /var/lib/vz/dump:

con -destdir si indica una directory alternativa per ilsalvataggio dei dump

con -ionice si imposta un priorita di I/O

con -maxfiles si imposta il numero massimo di copieconservate

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 76: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Il comando vzdump

L’opzione principale di vzdump e pero -mode che controlla lamodalita di esecuzione del dump, da indicare con uno fra:

stop ferma la macchina virtuale ed effettua la copia dei file,con un downtime molto lungo

suspend per OpenVZ esegue un primo rsync, poi sospende ilVE, riesegue un rsync finale e riattiva il VE, con undowntime minimo, per KVM e analogo a stop

snapshot crea uno snapshot con LVM, ed esegue la copia sudi esso senza downtime, ma richiede che i dati siano su LVM eche ci sia spazio sufficiente per lo snapshot

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 77: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Il comando vzrestore

Il comando richiede si indichi file del dump e VMID su cuiripristinarlo nella forma vzrestore /path/name NNN :

con -storage si indica lo storage su cui ripristinare i datidella macchina virtuale

con -force si sovrascrive una macchina virtuale preesistente

con - al posto di /path/name legge dallo standard input

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 78: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Il comando qmrestore

Il comando richiede si indichi file del dump e VMID su cuiripristinarlo nella forma qmrestore /path/name NNN :

con -storage si indica lo storage su cui ripristinare i datidella macchina virtuale

con -force si sovrascrive una macchina virtuale preesistente

con -unique assegna alla macchina virtuale ripristinata unaltro MAC-address univoco

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 79: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Riferimenti Generali

http://labs.truelite.it

http://www.openvz.org

http://www.linux-kvm.org

http://pve.proxmox.com

Simone Piccardi Sistemi di virtualizzazione su Linux

Page 80: Sistemi di virtualizzazione in ambiente Linux

IntroduzioneOpenVZ

KVMProxmox

Riferimenti Specifici

Documentazione OpenVZ: http://openvz.org/Main_Page

Documentazione qemu/KVM:http://wiki.qemu.org/Manual

Documentazione KVM:http://www.linux-kvm.org/page/Documents

Documentazione Proxmox:http://pve.proxmox.com/wiki/Main_Page

Simone Piccardi Sistemi di virtualizzazione su Linux