Introduzione a Proxmox Ve Ivan Zini ivanzini.wordpress.com ERLUG 1
pve.proxmox.com Proxmox Virtual Environment Progetto Open Source sviluppato e mantenuto dell'austriaca Proxmox Server Solutions GmbH con il patrocinio della Internet foundation Austria (IPA) rilasciato sotto licenza GNU GPL 3. Soluzione basata su Debian 6 Squeeze a 64bit, che debitamente pacchettizzata, permette di realizzare un ambiente di virtualizzazione di tipo bare metal basato su tecnologie OpenVZ e KVM. Versione attuale 2.2 rilasciata il 24 Ottobre 2012 spinta dal kernel 2.6.32 completamente gestibile tramite una semplice interfaccia web. Richiede CPU 64 Bit, con estensioni Intel-VT o AMD-V, supportando una vasta quantità di hardware. 2
Virtualizzazione: concetti 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 ovvero 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. 3
Virtualizzazione: concetti Tramite la virtualizzazione quindi è possibile eseguire contemporaneamente più istanze o macchine virtuali, detti guest, nello stesso server fisico, detto host. Lo strato di software che permette la virtualizzazione viene chiamato hypervisor e nel caso di proxmox ve parliamo di virtualizzazione di tipo bare metal cioè installato direttamente sul hardware. GUEST PROXMOX VE HOST 4
Virtualizzazione: concetti La virtualizzazione travalica i confini dei potenti computer x86 odierni, originariamente progettati per eseguire un singolo sistema operativo e una singola applicazione, e consente di eseguire più sistemi operativi e applicazioni contemporaneamente nello stessa macchina fisica, aumentando in tal modo l'utilizzo e la flessibilità dell'hardware. Più macchine virtuali condividono le risorse hardware senza interferire tra loro. Per tale motivo, è possibile eseguire contemporaneamente diversi sistemi operativi e applicazioni in un singolo computer o meglio server. 5
Infrastruttura Virtuale Un'infrastruttura virtuale è in sostanza l'associazione dinamica di risorse fisiche. Mentre una macchina virtuale rappresenta le risorse fisiche di un singolo computer, un'infrastruttura virtuale rappresenta le risorse fisiche dell'intero ambiente IT aggregando i computer e i sistemi di reti e storage associati in un pool unificato di risorse IT. Quindi scollegando l'intero ambiente software dalla sottostante infrastruttura hardware, le risorse possono essere allocate in modo dinamico, sicuro e affidabile in base alle applicazioni alle esigenze aziendali. 6
Virtualizzazione: Perché?? La necessità sempre maggiore di servizi IT per esigenze aziendali, inevitabilmente produce un aumento dei server fisici che erogano tali applicazioni, e un aumento della criticità dei servizi stessi e della disponibilità dei dati. Terminal Doc Man. LDAP ERP CRM Email File server Proxy AV/Spam Syslog Web/FTP Radius 7
Virtualizzazione: P2V Clonezilla Live CD Conversione da fisico a raw disk tramite SSH Fsarchiver tramite ubuntu livecd Tramite SelfImage direttamente su proxmox ve Tramite Windows Backup direttamente su proxmox ve Da Vmware a KVM tramite vmware converter Sgooglando! 8
Virtualizzazione: Vantaggi Consolidamento Server: Riduzione e consolidamento dei server fisici con relativa diminuzione dei costi hardware. Esecuzione di più sistemi operativi sullo stesso server (Linux, Windows, etc). Ottimizzazione delle Risorse Riduzione dei consumi di alimentazione elettrica Riduzione dei consumi elettrici di condizionamento. Minore spazio occupato. Minore manutenzione hardware. Maggiore efficienza, flessibilità e scalabilità. Maggiore Disponibilità delle Risorse Minori tempi di inattività business continuity (downtime). Semplificazione del Disaster Recovery (Backup VM). Alta Disponibilità dei dati (Cluster). 9
Caratteristiche Proxmox VE è progettato per sfruttare pienamente la potenza e le performance dell'hardware, improntato ad un utilizzo e carichi di lavoro aziendali, ed è versione dopo versione sempre più rivolto a realtà enterprise. Basato su Debian 6 a 64bit Ampio supporto hardware Linux e Windows servers Sistemi operativi 32 e 64 bit Supporto agli ultimi chipset Intel e AMD Ottimizzazione per il bare-metal per i reali carichi di lavoro Layer di gestione con con tutte le funzionalità necessarie per creare e gestire una infrastruttura virtuale. Gestione tramite interfaccia web senza la necessità di utilizzare un qualsiasi software client. Combinazione di due tecnologie di virtualizzazione KVM e OpenVZ 10
Tecnologia : OpenVZ E' una tecnologia di virtualizzazione basata sul kernel linux; permette di creare e isolare istanze (containers) multiple dello stesso sistema operativo (linux). Ogni container, anche se condivide il kernel dell'host, si comporta esattamente come un server autonomo; può essere riavviato indipendentemente e avere un proprio utente root, utenti, indirizzi IP, memoria, processi, applicazioni, librerie di sistema e file di configurazione. E' una tecnologia molto usata dai provider internet che utilizzano istanze linux per server web, database o sistemi di posta elettronica. Windows non può essere eseguito su OpenVZ. Proxmox utilizza questa tecnologia dall'inizio del progetto, più di 5 anni di esperienza. 11
Tecnologia : KVM Kernel-based Virtual Machine è una tecnologia di virtualizzazione composta da un modulo (kvm.ko) integrato nel kernel linux (dalla release 2.6.20) che permette di sfruttare le estensioni per la virtualizzazione dei processori (Intel VT e AMD-V). Al contrario di OpenVZ, kvm permette di creare più macchine virtuali indipendenti dal kernel dell'host, su cui far girare versioni non modificate di Linux, Windows o Open/Free BSD e Solaris. KVM di per se non esegue nessuna emulazione, ma consente la gestione della virtualizzazione dell'hardware, esponendo le sue capacità ad un secondo componente Qemu che si occupa dell'emulazione delle macchine virtuali. KVM fa quindi da tramite tra le richieste fatte da Qemu ed il kernel. 12
Live Migration & Cluster HA Proxmox VE può essere eseguito come Cluster HA (Hight Available) ovvero in una modalità con una configurazione che si basa su un nodo primario, detto master, e gli altri nodi che sono detti slave.. Questi nodi sono connessi insieme in modo da formare, da un punto di vista logico, un unico grande calcolatore. Con l'implementazione di un cluster, si è in grado di bilanciare il carico di lavoro su diversi host, aumentando la disponibilità delle macchine virtuali. Inoltre si è in grado di eseguire migrazione in tempo reale (live) delle macchine virtuali, anche se non si dispone di storage condiviso. In caso di manutenzione hardware, è possibile spostare "al volo" le macchine virtuali su un altro nodo, senza tempi di inattività (o downtime limitato). In parole semplici, se una macchina virtuale o contenitore (VM o CT) è configurato come HA e un host fisico va in failure la VM viene riavviata automaticamente su uno dei nodi che compone il cluster. 13
Live Migration & Cluster HA Con la funzionalità Live Migration possiamo quindi sostare i server virtuali in esecuzione da un host fisico ad un altro senza tempi di inattività. KVM Il passaggio di una macchina virtuale, in esecuzione da un host fisico ad un altro, avviene senza alcuna interruzione. Per poter utilizzare la migrazione in tempo reale, tutti i dischi virtuali devono risiedere su storage condiviso, tra gli host, come una SAN o NAS OpenVZ La migrazione dei contenitori senza tempi di inattività, avviene anche utilizzando l'archiviazione locale, non è necessario storage condiviso. (No San o Nas) 14
Backup e Restore Lo strumento di backup integrato (vzdump) crea istantanee (snapshot) di guest virtuali OpenVZ e KVM. In pratica viene creato un archivio tar dei dati VM o CT che comprende i dischi virtuali e i dati di configurazione. Caratteristiche principali: Completa integrazioni GUI, ma funziona anche via CLI Live Backups via LVM snapshot Schedulazione di job di backup Backup Now tramite GUI Restore via GUI Tutti i job possono essere monitorati tramite GUI 15
Networking Proxmox VE utilizza un modello di rete detto bridge. Tutte le macchine virtuali possono condividere un bridge, come se i cavi di rete virtuali di tutte le guest machine siano collegati allo stesso switch. Per il collegamento di macchine virtuali con il mondo esterno, i bridge sono collegati alle schede di rete fisiche dei server host a cui sono assegnate configurazioni di rete. Per una maggiore flessibilità, sono supportate VLAN (IEEE 802.1Q) e bonding e network aggregations. In questo modo è possibile costruire complesse reti virtuali flessibili per i gli hosts, sfruttando tutta la potenza dello stack di rete Linux. 16
Storage Proxmox VE utilizza un modello di storage molto flessibile. Le immagini delle macchine virtuali possono essere memorizzati nello storage locale oppure su storage condiviso come NFS e SAN (ad esempio utilizzando iscsi o FC).E' supportato l'utilizzo di DRBD per le vm KVM. Tecnologie di storage supportate: Archiviazione locale (obbligatorio) iscsi FC NFS In pratica possono essere utilizzate tutte le tecnologie di storage disponibili e supportate da Debian Linux 17
Management Proxmox VE è semplice da usare. Non vi è alcuna necessità di installare uno strumento separato per la gestione, o di altri nodi supplementari di management né di database esterni. NO SPOF (Single Point of Failure) Se si utilizza già un cluster, è possibile collegarsi a qualsiasi nodo che lo compone, per gestire l'intero cluster. La gestione avviene tramite una console Web, basata su framework javascript, e consente all'amministratore di controllare tutte le funzionalità. Interfaccia di ricerca rapida, in grado di gestire migliaia di VM Console VNC sicura, supporto SSL Procedura guidata per la creazione di server virtuali e contenitori Perfetta integrazione e gestione con cluster VE Proxmox 2.0 Gestione delle support subscription Gestione dei permessi sugli tutti gli oggetti (VM, CT, Storage, etc) Supporto multiplo alle fonti di autenticazione (locali, AD MS, LDAP) Tecnologie AJAX per gli aggiornamenti dinamici delle risorse Basato sul framework Ext JS 4.x JavaScript. 18
System Requirements Recommended Dual or Quad Socket Server (Quad/Six/Hexa Core CPUs ) CPU: 64bit (Intel EMT64 or AMD64) Intel VT/AMD-V capable CPU/Mainboard (for KVM Full Virtualization support) 8 GB RAM is good, more is better Hardware RAID with batteries protected write cache (BBU) or flash protection Fast hard drives, best results with 15k rpm SAS, Raid10 Two Gbit NIC (for bonding), additional NIC s depending on the preferred storage technology and cluster setup Fencing hardware (only needed for HA) Minimum (for testing) CPU: 64bit (Intel EMT64 or AMD64) Intel VT/AMD-V capable CPU/Mainboard (for KVM Full Virt.) Minimum 1 GB RAM Hard drive One NIC Testing Proxmox VE come VM VE Proxmox può essere installato cme ospite in tutte le soluzioni desktop comuni utilizzati per la virtualizzazione. Ma la funzione KVM non funziona in quasi tutti i casi il vostro software di virtualizzazione permette nidificato (funzione sperimentale 19
Open Source & Support "Liberate your servers and move to Virtualization Platform - Go Open Source!" an Open VE Proxmox è rilasciato sotto una licenza Open Source. Questo garantisce l'accesso completo a tutte le funzionalità per tutti e questo incrementa maggior sicurezza e l'affidabilità. Licensed under GNU version 3 Public code repository (GIT) Bugtracker Community Forum Wiki for documention and HowTo s Ultimo ma non meno l'open Source contribuisce a mantenere bassi i costi e rende la vostra infrastruttura di base indipendente da un unico fornitore. Proxmox VE Subscription Service Plans La sottoscrizione VE Proxmox ha una validità di 12 mesi (12 mesi dalla data di acquisto). Il supporto base è via web ed email 20
Confronto Guest operating system support Proxmox VE VMware vsphere Windows Hyper-V Citrix Xen Server Windows and Linux (KVM) Windows, Linux, UNIX Modern Windows OS, Linux support is limited Most Windows OS, Linux support is limited Other operating systems are known to work and are community supported (OpenVZ supports Linux only) Open Source Yes No No No OpenVZ container (known as OS Virtualization) Yes No No No Single-view for Mangagement (centralized control) Yes Yes, but requires dedicated management server (or VM) Yes, but requires dedicated management server (or VM) Yes Only one subscription pricing, all features enabled No No No High Availability Yes Yes Requires Microsoft Failover clustering, limited guest OS support Yes Live VM snapshots: Backup a running VM Yes Yes Limited Yes Bare metal hypervisor Yes Yes Yes Yes Virtual machine live migration Yes Yes Yes Yes 160 CPU/2 TB Ram 160 CPU/2 TB Ram 64 CPU/1 TB Ram? Simple Licensing Structure Max. Ram and CPU per Host 21
Installazione 1/2 1 2 3 22
Installazione 2/2 1 2 3 23
Boot & Login 1 2 24
Summary 25
Services & Network Services Network 26
Syslog & Task History Syslog Task History 27
Storage 28
Create OpenVZ CT 1 4 5 2 3 6 29
Create OpenVZ CT 30
Create KVM VM 1 5 2 6 3 7 4 8 31
Create KVM VM 32
Manage VM 33
Backup OpenVZ CT 1 3 2 4 34
Backup KVM 4 1 2 3 35
CLUSTER HA Setup Per creare un Cluster HA occorre, sul nodo primario, definire il nome della risorsa Cluster da console con il comando: pvecm create YOUR-CLUSTER-NAME Controllare lo status con il comando: pvecm status Loggarsi sulla console del nodo secondario e lanciare il comando: pvecm add IP-ADDRESS-CLUSTER nel nostro caso (192.168.100.50) Mentre per vedere i membri del cluster usare il comando: pvecm nodes 36
HA setup per KVM 1 2 3 4 37
HA in azione! 1 3 2 4 38
Risorse & Webbografia http://www.proxmox.com/ http://pve.proxmox.com/wiki/ http://forum.proxmox.com/forum.php http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-user http://www.proxmox.com/products/proxmox-ve/subscription-service-plans http://www.youtube.com/proxmoxve http://pve.proxmox.com/wiki/migration_of_servers_to_proxmox_ve http://pve.proxmox.com/wiki/high_availability_cluster http://c-nergy.be/blog/?cat=40 http://www.howdididothat.info/2011/05/11/migrate-vmware-image-to-proxmox-ve/ http://www.linux-kvm.org/page/main_page http://wiki.openvz.org/main_page 39
GRAZIE PER L'ATTENZIONE!! Ringraziamenti Al team di Proxmox Ve Al mondo e alle comunità Open Source Ad ERLUG Le slides e le riprese audio/video dell'intervento saranno disponibili su: http://erlug.linux.it/linuxday/2012/ 40