DiReX è una piattaforma di virtualizzazione, ovvero un hypervisor di tipo bare metal, basata su Linux Debian 6 Squeeze a 64bit , che integra in un’unica soluzione diverse tecnologie di virtualizzazione come KVM e LXC.
L’ambiente permette di eseguire macchine ed appliance virtuali, il tutto gestibile tramite una interfaccia web.
Utilizzando piu nodi hardware è possibile configurare un’intera infrastruttura virtuale, costruendo un cluster di risorse ridondato per l’alta affibadilità, rendo DiReX un prodotto idoneo sia alle PMI ma anche al mondo Enterprise.
Le principali caratteristiche di DiReX

Basato su Debian a 64bit.
Ampio supporto hardware.
Linux e Windows virtual machine.
Sistemi operativi 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 con tutte le funzionalità necessarie per creare e gestire una infrastruttura virtuale.
Gestione tramite interfaccia web senza la necessità di utilizzare software installato su client.
Combinazione di due tecnologie di virtualizzazione KVM e LXC.

DiReX utilizza due tipologie di virtualizzazione:

Linux Containers (LXC)
LXC è un ambiente di virtualizzazione–a livello di sistema operativo per l’esecuzione di più sistemi Linux isolati su un singolo host di controllo
Linux. LXC funziona come un’interfaccia nello spazio utente per le funzionalità del kernel di Linux di contenimento. Gli utenti Linux possono
facilmente creare e gestire un sistema grazie a semplici strumenti.

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

Le principali funzionalità di DiReX

Live Migration & Cluster HA
DiReX può essere eseguito come Cluster HA (Hight Available), ovvero in una modalità che prevede una configurazione basata su un nodo primario, detto
master, e 2 o più altri nodi detti slave.
Questi nodi sono interconnessi in modo da formare, da un punto di vista logico, un unico grande elaboratore.
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 la migrazione in tempo reale (live migration) 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 comunque con un
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 si possono quindi spostare i server virtuali in esecuzione da un host fisico ad un altro senza tempi di inattività.
Nel caso di KVM il passaggio di una macchina virtuale, in esecuzione da un host fisico ad un altro, avviene senza alcuna interruzione.
Per potere utilizzare la migrazione in tempo reale, tutti i dischi virtuali devono risiedere su storage condiviso tra gli host, come una SAN o NAS.

Backup & Restore
Lo strumento di backup integrato (vzdump) crea istantanee (snapshot) di guest virtuali LXC e KVM.
In pratica viene creato un archivio tar dei dati VM o CT che comprende i dischi virtuali ed i dati di configurazione.

Funzionalità principali:
Completa integrazione 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
DiReX utilizza un modello di rete detto “bridge” e tutte le macchine virtuali possono condividere un bridge, come se i cavi di
rete virtuali di tutte le guest machine fossero collegati allo stesso switch.
Per il collegamento di macchine virtuali con il mondo esterno, i bridge sono a loro volta connessi alle schede di rete fisiche dei server host alle
quali vengono assegnate le configurazioni di rete.
Per una maggiore flessibilità, sono supportate VLAN (IEEE 802.1Q) funzionalità di 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.

Storage
DiReX 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) ed infine è 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.

Manegement
DiReX è semplice da usare e non vi è alcuna necessità di installare uno strumento separato per la gestione, o di altri nodi supplementari di
management né di database esterni adottando la filosofia 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.