XenServer Pool Master Failure

5 10 2009

xenserver

 

Fortunatamente non è un evento che capita spesso, ma cosa accadrebbe se nell’ambito di un Resource Pool di XenServer la macchina con il ruolo di Master dovesse avere dei problemi?

 

 

Ovviamente ogni server Slave membro del Pool contiene al proprio interno la replica del DB con tutta la configurazione necessaria per prendere possesso del ruolo di Master nel caso gli venga richiesto.

 Quando il nodo Master fallisce avviene questo:

1. I membri si accorgono che la connessione con il master è stata persa e ritentano per 60 secondi di ristabilirla;

2. A questo punto se la connessione non viene ristabilita ogni server Slave entra in Emergency Mode, da questo momento non sarà possibile modificare nessun tipo di configurazione all’interno del Pool e delle singole macchine. Gli unici comandi che i server accetteranno sono quelli relativi alla modalità di emergenza (pool-emergency commands). XenCenter ovviamente non funziona.

Se il master dovesse tornare operativo in questo momento tutti i server membri del Pool lascerebbero la modalità di emergenza e tutto tornerebbe alla normalità.

Se invece il server con il ruolo di Master continua ad avere problemi si deve procedere con la procedura indicata di seguito.

E’ necessario nominare un nuovo Master per il Resource Pool. Scegliere uno dei server slave, raggiungerlo in console oppure tramite ssh, scrivere il seguente comando per farlo diventare il nuovo master:

           xe pool-emergency-transition-to-master

A questo punto sarà possibile contattare il nuovo Master anche con XenCenter. Se necessario bisognerà mandare un segnale a tutti gli altri slave comunicando che il Master è cambiato, il comando è il seguente:

            xe pool-recover-slaves

Avvisa tutti gli slave che il nuovo master è operativo.

Se uno o più slave non dovessero contattare il master, posizionarsi sulla macchina in questione ed eseguire il seguente comando:

 xe pool-emergency-reset-master master-address=<ip del nuovo master>

 Per approfondimenti è disponibile il seguente documento: XenServer System Recovery Guide

Adriano Criscuolo





Uno Xen Virtual Consolidated Backup Server artigianale.

22 09 2009

La virtualizzazione ci espone alla voglia di fare il backup per intero delle nostre VM e non a caso i diversi vendor di hypervisor si sono per la maggior parte attivati in tal senso.

XenServer da questo punti di vista ci ha sempre messo un po’ in difficoltà in tal senso per via del fatto che non si potevano fare fino a poco tempo fa gli snapshot delle VM a caldo a meno di avere storage quali NetApp o Equallogic (su iSCSI). Qualche miglioramento l’avevamo già visto con la versione 5.0 di  XenServer che ci permetteva di fare uno snapshot da CLI di una VM posta su uno storage NFS o locale formattato in ext3.

Per le macchine windows sin da allora
c’era la possibilità di effettuare lo snapshot in “quiesce mode” (che
richiede una macchina windows con il servizio Xen  VSS abilitato) o “normale”.

Ebbene quello che mi accingo a farvi
vedere è una serie di esempi di semplici batch che opportunamente riadattati e
inseriti in job opportunamente schedulati
vi permetteranno di mettere in piedi un server per fare backup delle
xenVM in maniera centralizzata: per tutto ciò è necessario lo xencenter,
opzionalmente  winscp, e un po’ di spazio
disco dove mettere i backup…magari una LUN iSCSI su Openfiler, piuttosto che
un semplice NAS CIFS sulla vostra rete.

Lo script lo posizioniamo nella
cartella di installazione dello xencenter e si compone dei seguenti steps:

1) facciamo lo snapshot della VM e
mettiamo in una variabile d’ambiente l’UUID dello snapshot

xe.exe -s <ip pool master> -u
root -pw <root pwd> vm-snapshot vm=”<name label della
VM>” new-name-label=”<name label dello snapshot>” >
snapuuid.txt

2) scriviamo il contenuto della
variabile in un file

set /P snapuuid=<snapuuid.txt

3) dato che l’output dello snapshot è
un template nascosto, convertiamo il template in una VM in modo da renderne più
immediato il restore

xe.exe -s <ip pool master> -u
root -pw <root pwd> template-param-set is-a-template=false
ha-always-run=false uuid=%snapuuid%

4) esportiamo la VM nel percorso a noi
gradito

xe.exe -s <ip pool master> -u
root -pw <root pwd> vm-export vm=%snapuuid% filename=path\<nome
backup>.xva

5) eliminiamo lo snapshot

xe.exe -s <ip pool master> -u
root -pw <root pwd> vm-uninstall uuid=%snapuuid% –force

6) cancelliamo il file di appoggio

del snapuuid.txt

NB: il comando “vm-snapshot”
del primo step può essere sostituito da “vm-snapshot-with-quiesce” a
patto che sulla VM abbiamo preventivamente abilitato lo  XenVssProvider che si attiva all’interno della
VM lanciando il comando
“install-XenProvider.cmd” collocato nella directory di
installazione degli Xentools  della VM

Questo script, così com’è, già sarebbe
sufficiente per creare degli script di backup ma ha un inconveniente: qualora
il master del pool cambi è necessario
modificare lo script. Per renderlo un po’ più flessibile sotto questo
punto di vista può essere utile estrapolare l’informazione del master del pool
a  runtime come primo step
dell’esecuzione dello script e all’uopo ci può tornare utile winscp puntando
all’ip di una qualunque macchina del pool e relativa hostkey rsa che si usa per
le connessioni SSH all’host (purtroppo o per fortuna il demone del telnet non
c’è su Xenserver).

L’unica cosa che dobbiamo conoscere a
monte è l’UUID del pool di XenServer:

“c:\program files
(x86)\winscp\winscp.exe” root:<root pwd>@<ip xenserver host>
/hostkey=”<hostkey rsa SSH>” /command “call xe pool-param-get
param- name=”master” uuid=<UUID XenServer Farm>  >> /uuidmaster.txt”

“c:\program files
(x86)\winscp\winscp.exe” root:<root pwd>@<ip xenserver host>
/hostkey=”<hostkey rsa SSH>” /command “call mkdir
/appoggio”

“c:\program files
(x86)\winscp\winscp.exe” root:<root pwd>@<ip xenserver host>
/hostkey=”<hostkey rsa SSH>” /command “call mount -t cifs
//<xencenter
machine>/<share$> -o username=<dominio>/<username>,password=<password>
/appoggio”

“c:\program files
(x86)\winscp\winscp.exe” root:<root pwd>@<ip xenserver host>
/hostkey=”<hostkey rsa SSH>” /command “call cp
/uuidmaster.txt /appoggio”

set /P uuidmaster=<uuidmaster.txt

“c:\program files
(x86)\winscp\winscp.exe” root:<root pwd>@<ip xenserver host>
/hostkey=”<hostkey rsa SSH>” /command “call xe host-param-get
param- name=”address” uuid=%uuidmaster%  >> /ipmaster.txt”

“c:\program files
(x86)\winscp\winscp.exe” root:<root pwd>@<ip xenserver host>
/hostkey=”<hostkey rsa SSH>” /command “call cp
/ipmaster.txt /appoggio”

set /P ipmaster=<ipmaster.txt

xe.exe -s %ipmaster% -u root -pw
<root pwd> vm-snapshot vm=”<name label della VM>”
new-name-label=”<name label dello snapshot>” > snapuuid.txt

set /P snapuuid=<snapuuid.txt

xe.exe -s %ipmaster% -u root -pw
<root pwd> template-param-set is-a-template=false ha-always-run=false
uuid=%snapuuid%

xe.exe -s %ipmaster% -u root -pw
<root pwd> vm-export vm=%snapuuid% filename=path\<nome backup>.xva

xe.exe -s %ipmaster% -u root -pw
<root pwd> vm-uninstall uuid=%snapuuid% –force

del snapuuid.txt

Se poi vogliamo essere sicuri del
risultato dello snapshot, non vogliamo/possiamo usare lo XenVssProvider, e
soprattutto ci possiamo permettere di avere offline la VM per circa un minuto
possiamo pensare di fare un suspend della VM prima dello snapshot per poi farne
subito un resume….come? Ecco fatto:

xe.exe -s %ipmaster% -u root -pw
<root pwd> vm-suspend vm=”<name label della VM>”

xe.exe -s %ipmaster% -u root -pw
<root pwd> vm-snapshot vm=”<name label della VM>”
new-name-label=”<name label dello snapshot>” > snapuuid.txt

xe.exe -s %ipmaster% -u root -pw
<root pwd> vm-resume vm=”<name label della VM>”

set /P snapuuid=<snapuuid.txt

xe.exe -s %ipmaster% -u root -pw
<root pwd> template-param-set is-a-template=false ha-always-run=false
uuid=%snapuuid%

xe.exe -s %ipmaster% -u root -pw
<root pwd> vm-export vm=%snapuuid% filename=path\<nome backup>.xva

xe.exe -s %ipmaster% -u root -pw
<root pwd> vm-uninstall uuid=%snapuuid% –force

del snapuuid.txt

Questo è quanto per ora…spero possa
tornare utile a molti di voi…

Alla prox,

Lorenzo Di Palma





XenServer 5

15 09 2008

Inizia il VMWorld…e Citrix annuncia XenServer 5….per info:

www.xenserver5.com

…aspetto dai Tecnici i dettagli e tutte le novità! 

Massimiliano Caviglia
IT Consultant





Citrix Delivey Center Live in corso…- AGGIORNATO

9 09 2008

E’ in corso il Citrix Delivery Center Live, con la presentazione ufficiale di XenApp 5 a livello mondiale. Uno strumento Web curato nei minimi dettagli. All’interno del Browser troviamo una Conference Hall con 7 sessioni e al momento in cui scrivo circa 500 on line users sono connessi con la possibilità di scambiarsi opinioni e fare domande agli speakers. Interessante l’area Expo Hall dove sono presenti dei virtual stands dedicati a XenApp, Netscaler, XenDesktop, XenServer e anche Microsoft, Intel e IBM. E’ possibile anche scaricare le ppt delle sessioni.

Citrix riesce sempre a stupire dal punto di vista organizzativo di Marketing. Sicuramente da ripetere in futuro.

AGGIORNAMENTO:

Superata la soglia dei 600 users connessi, l’evento volge al termine credo con la soddisfazione generale di chi ha partecipato. XenApp 5 la fa da padrone fino ad andare ad approfondire la sua integrazione con le altre tecnologie Citrix. Ora non resta altro che evangelizzare…

Massimiliano Caviglia
IT Consultant





VMs BACKUP on XENSERVER

4 09 2008

Salve a tutti,

vorrei descrivere uno dei modi per fare un backup delle macchine virtuali installate su XenServer. Vi faccio notare che sono già usciti prodotti professionali per i backup che si installano direttamente su Domain 0, quali Protection Suite di SteelEye, in grado di gestire il backup di tutte o singole macchine virtuali  e , insieme a XenCenter, è in grado di avviare le macchine in caso di fermo del sito principale; altri prodotti noti per i backup sono:  BrightStor ARCserve Backup , Symantec NetBackup e BackupExec.

In attesa che l’ufficio acquisti approvi una spesa di $2495 per server , utilizzo gli strumenti che Citrix mi mette a disposizione gratuitamente.

Personalmente ho usato gli script di Xen e precisamente il comando XE, che troviamo nel path principale di installazione dello XenCenter. Eccone un esempio concreto:

“C:\Program Files\Citrix\XenCenter\xe” vm-shutdown vm=”nome macchina VM “ –s master IP –u root –pw xenpassword

“C:\Program Files\Citrix\XenCenter\xe” vm-export –u root xenpassword –s master IP  vm=”nome macchina VM “ filename=percorso di salvataggio

“C:\Program Files\Citrix\XenCenter\xe” vm-start vm=”nome macchina VM” –u root –pw xenpassword –s master IP

Questa procedura spegne la macchina virtuale ,ne fa il backup e la riaccende.

C’è da notare che si può usare un tool di Mark Russinovich , SDELETE , scaricabile gratuitamente da http://technet.microsoft.com/en-us/sysinternals/bb897443.aspx , che con l’opzione –c scrive a 0 i settori non utilizzati di qualunque disco compresi quelli virtuali. In tal modo siamo sicuri che il backup della VM corrisponda allo spazio realmente usato . Infine , per chiudere il cerchio, nello script di backup ho anche inserito i comandi di WinRar per comprimere il file di backup .xva , diminuendo notevolmente lo spazio utilizzato.

ALESSANDRO RAFFAELE





L’iniziativa GescaLab

3 09 2008

Una interessante iniziativa partita nel mese di luglio è una serie di incontri tecnici dedicati alle aziende che mostrano l’interesse di vedere dal vivo le tecnologie di virtualizzazione Citrix integrate tra loro (XenServer+XenApp+XenDesktop). Ovviamente l’occasione è soprattutto di approfondimento tecnico con i nostri specialisti. GescaLab è quindi un laboratorio basato su sistema Blade IBM e macchine e servizi virtualizzati con Xen.

Oltre al BeckEnd, altra parte interessante è la END user Experience visto che nella sala sono in mostra delle Desktop Appliance di Wyse, Samsung e ChipPc per dare dimostrazione delle performance della soluzione VDI di Citrix, XenDesktop.

GescaLab è la dimostrazione pratica di un Green Computing all’opera.

Solitamente si tratta di incontri di mezza giornata con l’occasione di pranzare poi insieme nelle campagne formellesi.

Chiunque fosse interessato può mandare una richiesta al mio indirizzo massimiliano.caviglia@gesca.it

Vi saluto e Go Green!

Massimiliano Caviglia
Green IT Consultant 





Delivery Center Live – 9 settembre 2008

2 09 2008

Il 10 settembre esce Citrix XenApp 5.

Proprio per questo evento Citrix presenta il 9 settembre WorldWide a tutti gli addetti, previa registrazione al sito dedicato Citrix Delivery Center Live!, le caratteristiche e le novità inserite nella nuova Major Release e la sua completa integrazione tra la virtualizzazione Applicativa, del Desktop e Datacenter. Sarà una giornata piena di sessioni on line con questi temi principali:

Ecco i principali key topics: 

  • Deliver All Windows Applications To All Users
  • Introduction to XenApp 5
  • XenApp and Windows Server 2008
  • Combat Top IT Challenges with XenApp
  • Create the Best Desktop Virtualization Solution
  • Virtualize XenApp Servers
  • Deliver 100% Availability for XenApp Deployments with Citrix NetScaler.

Non mancate!

Massimiliano Caviglia
IT Consultant





Inaugurazione del Blog

1 09 2008

A Settembre si torna dalle vacanze sempre pieni di buone intenzioni.

Siamo la divisione tecnica di Gesca Technologies, che si occupa di virtualizzazione e delivery di infrastrutture IT.

La nostra prima buona intenzione è la realizzazione di questo blog, finalizzato a condividere le esperienze maturate nella realizzazione di progetti diretti al Green IT, ossia alla realizzazione di infrastrutture tecnologiche che possano contribuire alla riduzione dell’impatto sull’ambiente.

Da una ricerca condotta da IDC negli USA, nel 2007, si evidenzia che un terzo dei consumatori già considerano da “importante” a “molto importante” che gli IT Suppliers abbiano un’offerta GREEN. Quasi l’80% degli Executives dicono che il Green IT sta crescendo di importanza rispetto alle loro organizzazioni.
Inoltre, dalla ricerca si evince che il driver numero 1 che spinge all’adozione del Green IT sia la variabile economica (ridurre i costi operativi). IDC considera il Green IT uno dei temi più caldi del momento.

La virtualizzazione dei server, dei desktop e delle applicazioni sono sicuramente degli approcci tecnologici che possono contribuire notevolmente alla riduzione dei consumi energetici.

Buon Lavoro

Adriano Criscuolo
IT Architect