Xen Server - Hot Backup - Versione Template

April 19, 2016 0 Comments Xen Server

Ciao a tutti! Ecco una breve guida sulla realizzazione di un backup a caldo di macchine virtuali Xen Server.

I requisiti sono:

  • Avere un server Xen Server di cui fare il backup
  • Avere un Nas o una macchina con una share NFS

Prima di tutto la procedura riassunta è questa:

  1. Si selezionano le macchine virtuali di cui si vuole fare il backup
  2. Per ogni macchina virtuale viene creata una snapshot
  3. Da ogni snapshot viene creato un template che verrà salvato sulla share NFS
  4. Alla fine della procedura viene distrutta la snapshot usata per creare il template
  5. Fine!

Partiamo quindi dal punto 1: bisogna quindi fare login all’interno del server Xen (ssh) e lanciare il comando per vedere l’elenco delle macchine virtuali a disposizione

xe vm-list is-control-domain=false is-a-snapshot=false | grep name-label  

Si avrà un elenco simile a questo:

name-label ( RW): Macchina1 name-label ( RW): Macchina2  

Ipotizzando di aver già collegato a Xen Server una share NFS dovremmo avere una situazione simile a questa:

Schermata 2016-04-19 alle 09.32.37

Dove NAS sarà la nostra share NFS. Guardiamo nelle impostazioni della share qual’è l’id assegnato da Xen

Schermata 2016-04-19 alle 09.33.24

Prendiamo quindi l’UUID.

Il passo successivo è creare una cartella sul server che conterrà gli script di backup, per esempio /SCRIPT_HOT_BACKUP/ dove all’interno andremo a mettere due file:

  • name_macchine.txt
  • backup.sh

All’interno di name_macchine.txt andremo a mettere in ogni riga i nomi delle macchine selezionate in precedenza per il backup, nel nostro caso

Macchina1  
Macchina2  

E andremo a scrivere il seguente script:

#!/bin/bash

SRUID=90097326-80d0-4a1d-b42e-f97743987712

for fn in `cat /SCRIPT_HOT_BACKUP/name_macchine.txt`; do

echo $fn  
DATE=`date +"%Y-%m-%d %H:%M:%S"`  
SNAPUID=`xe vm-snapshot vm="$fn" new-name-label="$DATE backup $fn"`  
xe snapshot-copy new-name-label="$DATE backup $fn" new-name-description="backup di $fn di $DATE" uuid=$SNAPUID sr-uuid=$SRUID  
xe snapshot-uninstall force=true snapshot-uuid=$SNAPUID

echo "FINE $fn"

done  

Come potete vedere ci sono alcune variabili,  l’unica importante da impostare è SRUID che conterrà l’id della share NFS scelta in precedenza.

Questo script scorrerà ogni nome macchina inserito nel file name_macchine.txt ed eseguirà snapshot, salvataggio template snapshot, e distruzione snapshot.

Una volta completato il backup, avrete i template in vista all’interno di Xen Center! (il client GUI di gestione)

Da riga di comando si avrà un output simile a questo:

Macchina1  
f3b53574-fe45-f831-665e-ed7d8e59cf24  
The following items are about to be destroyed  
VM : b190bd5b-ca78-506c-571d-a6471eda7d04 (2016-04-15 21:38:42 backup Macchina1)  
VDI: a3fc1deb-4f73-4d6b-98e9-206a3441c2b0 (New virtual disk (14))  
All objects destroyed  
FINE Macchina1  

E così si conclude questa piccola guida per avere backup a caldo a costo 0!

🙂

Samuele Chiocca
Padova, italy Website