Nov 012012
 

Grazie a Ivan Zini ed il Linux Day svoltosi a Bologna da ERLUG sabato scorso ho scoperto un nuovo interessante strumento per la gestione di macchine virtuali: Proxmox Ve.

La maggior parte delle immagini ed informazioni sono prese dalla presentazione di Ivan, che è disponibile online (in italiano) alla pagina del Linux Day organizzato da ERLUG.

Proxmox Ve è un 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.

E’ una soluzione basata su Debian 6 Squeeze a 64bit, che debitamente “personalizzata”, permette di realizzare un ambiente di virtualizzazione di tipo “bare metal” basato su tecnologie OpenVZ e KVM.




Proxmox VE è progettato nato 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 alla realtà enterprise.

Alcune delle sue caratteristiche sono:

  • Basato su Debian 6 a 64bit
  • Ampio supporto hardware
  • Supporto a host server Linux e Windows a 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 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

Ed ora alcuni dettagli sui software di virtualizzazione supportati:

OpenVZ

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.

KVM

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.

Alcune delle caratteristiche di Proxmox

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.

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)

Backup e Restore

Lo strumento di backup integrato (vzdump) crea 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

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 di GN/Linux.

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

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à.

Caratteristiche

  • 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.

Confronto

comparison

Conclusioni

Il motto di Proxmox VE è “Liberate i vostri server e spostatevi su una piattaforma di virtualizzazione – Andate sull’Open Source!” e sono assolutamente d’accordo con loro, la loro tecnologia sembra davvero interessante e di sicuro vale la pena di provarla, se avete bisogno di una piattaforma di virtualizzazione. E una volta ancora grazie ad Ivan Zini per la sua bella presentazione di questo software.

Popular Posts:

Flattr this!

  3 Responses to “Introduzione a Proxmox Ve”

  1. Proxmox is absolutely amazing, we have been using this software over last 3 years, without any problems. Server itself running on 4GB CF drive, hosting 8 servers. With some rsync and snapshots one can be quite sure data is safe whatever happens.

  2. Ciao,

    Grazie per la citazione e complementi per questo tuo sito! 🙂

    Ivan

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

*