Xen è un hypervisor, come VMware ESXi/Hypervisor, ovvero un software che permette di eseguire contemporaneamente più macchine virtuali – con sistemi operativi anche diversi – sullo stesso hardware, condividendone le risorse al fine di ottimizzare i costi e la gestione della infrastruttura IT. Data la sua natura è spesso paragonato alle piattaforme concorrenti di Microsoft (Hyper-V) e Vmware (vSphere/ESXi), tuttavia in questo articolo andremo ad analizzarne le peculiarità caratteristiche.

Un po' di storia

Il progetto di virtualizzazione Xen nasce a scopo di ricerca presso l’università di Cambridge nel 2003. A distanza di poco tempo viene fondata una azienda apposita, la XenSource, che viene successivamente acquistata nel 2007 da Citrix la quale mantiene la versione gratuita, ma inizia parallelamente a svilupparne una commerciale a pagamento. Allo sviluppo del progetto contribuiscono inoltre grandi player del settore del calibro di Intel, AMD, Cisco, Amazon, Google, Oracle, Samsung e Verizon.

Nel 2013 Xen viene accolto sotto l’egida della Linux Foundation e contestualmente Citrix adotta un modello totalmente opensource per il proprio prodotto XenServer, ormai giunto alla release 6.2. Viene comunque mantenuta una versione a pagamento che include servizi di supporto e manutenzione aggiuntivi.

3952

Attualmente Citrix XenServer è arrivato alla versione 7.1 (corrispondente alla versione 4.7.1 dell’originale xen hypervisor) e viene utilizzato per fornire server privati virtuali (VPS) su piattaforme come Amazon EC2, IBM Softlayer, Linode e Rackspace Cloud. È importante distinguere tra il progetto opensource XenServer (che fa capo al sito http://xenserver.org) e la distribuzione Citrix XenServer (disponibile nelle versioni “standard” ed “enterprise”) che in entrambe le versioni richiede l’installazione di una licenza per accedere ad assistenza e manutenzione. La versione “premium” fornisce inoltre funzionalità aggiuntive come SMB storage, il workload balancing dinamico, la virtualizzazione GPU con NVIDIA GRID e Intel GVT-g, tool di conversione da e per Vmware vSphere. Nella versione opensource, invece, il supporto viene dalla community di utenti e sviluppatori, nei forum e mailing list alle quali spesso partecipano anche gli stessi sviluppatori Citrix.

Caratteristiche

Uno dei concetti fondamentali in Xen è quello dei domini: il “Dominio 0” (brevemente Dom0) è la porzione di software che parte all’avvio del server: ovvero un sistema operativo privilegiato con accesso diretto all’hardware e che fornisce i servizi alle macchine ospite e una interfaccia di gestione amministrativa. In sostanza, Dom0 è una versione “specializzata” di linux che non solo funziona da hypervisor, ma resta accessibile anche per le operazioni di management.Tutte le macchine virtuali ospite sono invece attive dentro un DomU (unprivileged) e per accedere alle risorse hardware devono dunque inviare una richiesta al Dom0, che si occuperà di “tradurre” o di emulare tale richiesta a seconda dei casi. 

Xen supporta vari tipi di virtualizzazione: il più performante è quello di tipo HVM (hardware virtual machine) e consiste in una vera e propria full emulation di un PC completo: comprensivo di processore, scheda video, controller dischi, interfacce di rete e così via. La virtualizzazione HVM è indubbiamente la tecnica più flessibile, ma anche quella che penalizza maggiormente le prestazioni delle macchine virtuali, in quanto ogni operazione deve essere simulata via sofware. In alternativa troviamo la tecnologia Paravirtualization (PV), introdotta per prima proprio da Xen e successivamente adottata anche da altre piattaforme come KVM. PV fornisce maggiori prestazioni, ma necessita della cooperazione tra hypervisor e macchina ospite, nella forma di kernel modificati uniti a speciali driver (XenTools) che permettono di tradurre le richieste di I/O direttamente senza dover ricorrere a nessuno strato di emulazione.

Xen Arch Diagram

Come soluzione ibrida tra HVM e PV esistono virtualizzazioni alternative, come la modalità HVM with PV drivers, che richiede la virtualizzazione assistita dall’hardware (le istruzioni intel VT-x o AMD-V) per gestire CPU e memoria, mentre accessi a rete e storage continuano a lavorare in modalità emulata. Con i processori moderni, spesso questa è la scelta vincente, perché permette di ottenere maggior flessibilità con un degrado di performance I/O quasi impercettibile, dell’ordine del 5-10% rispetto alla paravirtualization.

Uno dei punti di forza di Xen sta nella possibilità di sfruttare il cosiddetto GPU Pass-trough, che abilita l’accelerazione grafica hardware dentro le virtual machine virtualizzando l’accesso al sottosistema grafico. Citrix si propone infatti come piattaforma di eccellenza per quanto riguarda la virtualizzazione di desktop grafici, VDI e sistemi CAD/CAM, anche grazie all’integrazione con tecnologie come XenApp e XenDesktop.

Come le altre piattaforma di virtualizzazione, Xen offre la possibilità di migrare macchine virtuali, sia a caldo (cioè a macchina accesa) che a freddo: questa tecnica prende il nome di XenMotion oppure di Storage XenMotion, a seconda se i due box fisici sorgente e destinazione risiedano o meno nello stesso pool di risorse. Questo tipo di operazione richiede dei prerequisiti, tra cui disporre di storage condiviso (che può essere sia iSCSI che fibre channel), di una rete almeno gigabit e – nel caso di migrazione live – che le due piattaforme hardware siano più simili possibile (soprattutto a livello di CPU, sia come marca che come famiglia). Da prove di laboratorio, il disagio a livello di utilizzo utente durante la migrazione live di una macchina virtuale si traduce semplicemente in pochissimi secondi di latenza nei tempi di risposta del servizio erogato (ad esempio nel caso di un VDI).

Come diretta conseguenza della live migration, Xen permette di implementare l’alta affidabilità grazie al servizio denominato Host Failure Protection: in caso di guasti hardware, la macchina virtuale viene automaticamente migrata su un altro host fisico dello stesso pool. In maniera simile, nella versione enterprise, Xen permette di bilanciare automaticamente il carico degli host fisici migrando le macchine virtuali al superamento di determinate soglie (l’equivalente del DRS di VMware). Inoltre è possibile impostare una politica di risparmio energetico minimizzando il numero di macchine accese al variare delle condizioni di lavoro. Sempre nella versione commerciale è disponibile XenServer Conversion Manager, un tool per automatizzare l’import di intere farm vSphere.

xencenter add server

Anche XenServer, al pari dei suoi concorrenti, è in grado di effettuare snapshot e cloni delle macchine virtuali in maniera veloce e intuitiva. Inoltre Citrix fornisce un completo SDK con librerie per vari linguaggi (C, C#, Python, Powershell), un Driver Development Kit e un tool a linea di comando (accessibile dal Dom0 con il comando xe) con il quale si può automatizzare qualsiasi operazione: dalla creazione di vm, al backup, alla configurazione di un nuovo SR (Storage Repository).

Citrix fornisce su ogni release di XenServer 5 anni di supporto commerciale e tecnico; l’attuale 7.1 sarà dunque supportata fino a maggio del 2022.

Nel prossimo numero proseguiremo il nostro approfondimento relativo a Xen, con una guida pratica su come installarlo ed iniziare a utilizzarlo.

L'autore

Andrea Manzini

Vive e lavora a Verona nel settore IT; nel 1999 è tra i fondatori del primo LUG (Linux User Group).
Autore di articoli pubblicati su riviste del settore come Linux&C, ha moderato la comunità python-it.org;
sviluppatore e amministratore di sistemi Linux con oltre 20 anni di esperienza, e' certificato RedHat Cerfied Engineer (RHCE).
Sostiene la filosofia open source e la condivisione della conoscenza. Attualmente si occupa di automazione, cloud, scripting e system integration.

Altri articoli dello stesso autore

banner5

fb icon evo twitter icon evo

Parola del giorno

L'acronimo SoC  (System on a Chip) nasce per descrivere quei circuiti integrati che, all'interno di un singolo chip fisico, contengono un...

>

YAML è un formato utilizzato per serializzare (ovvero salvare oggetti su supporti di memoria ad accesso seriale) dati, in modo...

>

Il termine Edge Computing descrive, all'interno di infrastrutture cloud-based, l'insieme di dispositivi e di tecnologie che permettono l'elaborazione dei dati ai...

>

L'acronimo FPGA  (Field Programmable Gate Array), descrive quei dispositivi hardware formati da un circuito integrato e con funzionalità programmabili tramite...

>

Il termine Agentless (computing) descrive operazioni dove non è necessaria la presenza e l'esecuzione di un servizio software (demone o...

>
Leggi anche le altre...

Download del giorno

Fiddler

Fiddler è un server proxy che può girare in locale per consentire il debug delle applicazioni e il...

>

Adapter Watch

Adapter Watch è uno strumento che permette di visualizzare un riepilogo completo e dettagliato delle informazioni riguardanti una determinata...

>

DNS DataView

DNS Lookup  è un tool a interfaccia grafica per effettuare il lookup DNS dal proprio PC, sfruttando i...

>

SolarWinds Traceroute NG

SolarWinds Traceroute NG è un tool a linea di comando per effettuare traceroute avanzati in ambiente Windows...

>

Network Inventory Advisor

Network Inventory Advisor  è uno strumento che permette di scansionare la rete e acquisire informazioni riguardanti tutti i...

>
Tutti i Download del giorno...

Archivio numeri

  • GURU advisor: numero 21 - maggio 2019

    GURU advisor: numero 21 - maggio 2019

  • GURU advisor: numero 20 - dicembre 2018

    GURU advisor: numero 20 - dicembre 2018

  • GURU advisor: numero 19 - luglio 2018

    GURU advisor: numero 19 - luglio 2018

  • GURU advisor: numero 18 - aprile 2018

    GURU advisor: numero 18 - aprile 2018

  • GURU advisor: numero 17 - gennaio 2018

    GURU advisor: numero 17 - gennaio 2018

  • GURU advisor: numero 16 - ottobre 2017

    GURU advisor: numero 16 - ottobre 2017

  • GURU advisor: numero 15 - luglio 2017

    GURU advisor: numero 15 - luglio 2017

  • GURU advisor: numero 14 - maggio 2017

    GURU advisor: numero 14 - maggio 2017

  • 1
  • 2
  • 3
  • Teslacrypt: rilasciata la chiave

    Gli sviluppatori del temuto ransomware TeslaCrypt hanno deciso di terminare il progetto di diffusione e sviluppo e consegnare al pubblico la chiave universale per decifrare i file. Read More
  • Proxmox 4.1 sfida vSphere

    Proxmox VE (da qui in avanti semplicemente Proxmox) è basato sul sistema operativo Debian e porta con sé vantaggi e svantaggi di questa nota distribuzione Linux: un sistema operativo stabile, sicuro, diffuso e ben collaudato. Read More
  • Malware: risvolti legali

    tutti i virus e in particolare i più recenti Ransomware, che rubano i vostri dati e vi chiedono un riscatto, violano la legge. Vediamo insieme come comportarsi, per capire anche se e quando bisogna sporgere denuncia. Read More
  • 1