Come ripristinare Citrix-Xen VM gratuitamente con Xen-Phoenix (Bash)

Sommario:

Come ripristinare Citrix-Xen VM gratuitamente con Xen-Phoenix (Bash)
Come ripristinare Citrix-Xen VM gratuitamente con Xen-Phoenix (Bash)

Video: Come ripristinare Citrix-Xen VM gratuitamente con Xen-Phoenix (Bash)

Video: Come ripristinare Citrix-Xen VM gratuitamente con Xen-Phoenix (Bash)
Video: Perché bisognerebbe SEMPRE evitare le telecamere wifi - YouTube 2024, Maggio
Anonim
Avete mai avuto la necessità di eseguire il ripristino di massa delle vostre macchine virtuali Citrix-Xen per una soluzione di disaster recovery (DR) o semplicemente per verificare che i backup funzionino? HTG spiega come utilizzare Xen-Phoenix, uno script di bash gratuito, per il ripristino di VM.
Avete mai avuto la necessità di eseguire il ripristino di massa delle vostre macchine virtuali Citrix-Xen per una soluzione di disaster recovery (DR) o semplicemente per verificare che i backup funzionino? HTG spiega come utilizzare Xen-Phoenix, uno script di bash gratuito, per il ripristino di VM.

Credito fotografico: Ryan McCurdy tramite Compfight cc

Come abbiamo accennato in "Come eseguire il backup di Citrix Xen VMs gratuitamente con Xen-pocalypse", una delle cose belle di Citrix Xen è che molte delle sue funzionalità sonogratuito di carica. Detto questo, se si desidera la funzionalità "Protezione e recupero automatizzati VM", è necessario iniziare a pagare la licenza "Advance". Ancora una volta, non è che HTG stia liquidando il valore di una vera soluzione di backup, ma se hai un budget limitato, hai già ottenuto le immagini della VM dall'hypervisor e hai bisogno di un modo per automatizzare la tua " procedure di ripristino test "/" DR refresh ", è possibile trovare Xen-Phoenix come soluzione perfettamente ragionevole prima di eseguire l'impegno di budget.

Panoramica

Il "caso d'uso": hai un paio di macchine virtuali che richiedono un ripristino. L'importazione in "Xen Center" utilizzando i clic con il tasto destro funziona correttamente, ma si desidera che questo processo avvenga automaticamente e in base a una pianificazione. Questo script Bash utilizza il comando "XE" per eseguire i suoi compiti. XE è l'interfaccia della riga di comando Xen (CLI), equivalente automatico per l'emissione dei "clic destro" in "Xen Center". Chiameremo la sceneggiatura di Cron che fornirà la parte "scheduling". Nella sua forma più semplice, il flusso di ripristino è:

  • Elimina tutte * VM preesistenti sul server
  • Importa VM da file nella posizione di backup.
  • Verifica che tutte le VM siano operative attivandole una alla volta e cercando gli heartbeat degli strumenti guest.
  • Spegni le VM quando è stato scoperto un heartbeat o è stato raggiunto un timeout.

* Il comportamento di eliminazione di tutte le VM può essere disabilitato completamente e supporta eccezioni (vedi sotto).

Consente di ottenere cracking:)

Ottieni la sceneggiatura

Xen-phoenix può essere liberamente ottenuta da github, usando i normali metodi git. Detto questo, se non sei ancora esperto in git, puoi prendere il file zip con questo link. Poiché lo script deve essere eseguito su uno dei tuoi server Xen, devi estrarlo lì in modo che le autorizzazioni di esecuzione vengano mantenute.

wget https://github.com/aviadra/Xen-phoenix/archive/master.zip unzip master

Mentre quanto sopra funzionerebbe, si consiglia di utilizzare il metodo GIT in modo da poter beneficiare degli aggiornamenti futuri.

La posizione delle esportazioni

Dobbiamo configurare da dove prelevare le esportazioni VM.

Mentre percorrendo a caso in Citrix Xen, ho trovato che i Repository di archiviazione (SR) sono disponibili per l'uso in "/ var / run / sr-mount /% UUID%" dove UUID è l'identificativo univoco della SR, che può essere ottenuto dalla GUI.

Questo significa che possiamo usare la normale procedura guidata "Avanti -> Avanti -> Fine" per creare il "montaggio" nella posizione di backup desiderata, e poi fare in modo che lo script usi quel percorso (come richiesto per il montaggio con la riga di comando che è oltre lo scopo di questa guida).

Per creare una nuova "montatura", fare clic con il pulsante destro del mouse sul nome del server e selezionare Nuovo SR.

In questo esempio, punteremo Xen su una condivisione Windows, quindi scegli "Condivisione file Windows (CIFS)":
In questo esempio, punteremo Xen su una condivisione Windows, quindi scegli "Condivisione file Windows (CIFS)":
Completa il prossimo -> Successivo -> Fine.
Completa il prossimo -> Successivo -> Fine.

Ottieni l'UUID della SR

Per ottenere l'UUID di SR, è sufficiente fare clic sul suo nome in Xen Center e andare alla scheda "Generale".

Per copiare l'UUID, è sufficiente fare clic con il pulsante destro del mouse e scegliere "copia".
Per copiare l'UUID, è sufficiente fare clic con il pulsante destro del mouse e scegliere "copia".
Con queste informazioni a portata di mano, sei pronto per modificare il file delle impostazioni.
Con queste informazioni a portata di mano, sei pronto per modificare il file delle impostazioni.

Configura il file delle impostazioni

Il progetto Xen-phoenix viene fornito in bundle con un modello di file "impostazioni". Questo modello deve essere modificato per riflettere la configurazione e passato come primo argomento allo script.

Il file delle impostazioni designa quanto segue:

  • La posizione delle esportazioni di origine: se hai seguito la guida fino a questo punto, devi solo sostituire% UUID% con gli SR come è stato ottenuto da sopra.
  • La posizione di SendEmail - Se hai scelto di abilitare Email, devi inserire dove hai estratto qui l'eseguibile perl.
  • Verificatore: controlla la procedura di verifica post ripristino. Questo è abilitato di default, poiché un "ripristino a livello di file" di successo non significa necessariamente una VM funzionale.
  • Server_prep - Controlla il pre-ripristino cancellazione di tutte le VM sul server DR. Questo è abilitato di default perché si presume che il server DR sia un server dedicato per questo scopo. Se è necessario che una macchina virtuale in esecuzione su questo server non venga eliminata, configurarla per escluderla. Se questo comportamento non è adatto alla tua situazione, disabilitalo completamente.
  • Dettagli email -Di nuovo, se hai abilitato la posta elettronica, devi definire dettagli come: A, Da, Nomeserver / IP & etc '.
  • Debug - L'impostazione predefinita prevede che il debug sia disattivato con il valore "0" (zero). Non dovresti aver bisogno di accenderlo, ma se lo fai, maggiori informazioni sono indicate nel segmento di risoluzione dei problemi.

Esecuzione

Questo script prende il file delle impostazioni come primo argomento e tutti gli altri argomenti come "Chevrons" da cercare (separati da spazi). Chevrons, sono "stringhe", che supportano espressioni regolari che rappresentano almeno parte del nome file desiderato dell'esportazione VM.

Cioè, nella sua forma più semplice, l'invocazione di Xen-phoenix sarebbe simile a:

./Xen-phoenix.sh settings.cfg DevTools

Dove nel caso precedente, siamo all'interno della directory che contiene lo script e il file delle impostazioni e la "Chevron" che lo script cercherà è "DevTools". Ciò causerà l'importazione di tutti i file nella directory exports con la stringa "DevTools" nel loro nome.

Un esempio più complesso può essere simile a:

./Xen-phoenix.sh settings.cfg [Aa][Dd] [Bb][iI] [Dd]ev[Tt]ools

Nell'esempio sopra riportato, verranno importati i file contenenti la parola "devtools" con maiuscole "D" e "T" o non di maiuscole, nonché "ANNUNCIO" e "BI" con o senza maiuscole.

programmazione

Come indicato sopra, utilizzeremo Cron per pianificare l'esecuzione. Prima di entrare nella configurazione, lo èaltamente raccomandato che si configura il pacchetto SSMTP già installato sul server Xen. Anche se questo è un passaggio facoltativo, così facendo si otterrà un collettore "backwash". Avere un tale "collettore di risucchio" può avvisarti di cose che lo script non è in grado di fare.

Entra nella modalità di modifica di cron emettendo:

crontab -e

Se hai seguito le istruzioni sopra e vuoi aggiungere un backup programmato per domenica alle 01:31 (1:31 AM), inserisci quanto segue:

31 01 * * sun /root/Xen-phoenix-master/Xen-phoenix.sh /root/Xen-phoenix-master/settings.cfg [Aa][Dd] DB [Bb][iI] [Dd]ev[Tt]ools

Quanto sopra è corretto assumendo che lo script e il file delle impostazioni siano entrambi in "/ root / Xen-phoenix-master /".

Ottieni SendEmail (opzionale)

Abbiamo scritto sul programma perl SendEmail in passato, quindi non c'è bisogno di reiterare qui. Basti dire che funziona allo stesso modo su Linux come su Windows.

Sebbene l'abilitazione della posta elettronica sia facoltativa, è altamente raccomandata in quanto lo script sarà in grado di:

  • Informati quando è iniziato e finito in esecuzione.
  • Avvisa di eventuali errori che è stato in grado di rilevare e gestire.

Scaricalo sul server Xen ed estrai.

wget https://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz tar xvzhf sendEmail-v1.56.tar.gz

Annota la posizione in cui l'hai estratto. Ne avrai bisogno per il file delle impostazioni.

Definizione del tag "Delete Exception" (opzionale)

Xen-Phoenix prende una pagina dal suo antenato (Xen-Pocalypse) e ti dà la possibilità di escludere granulosamente una VM dall'eliminazione a livello di sistema usando un TAG di controllo. Per fare ciò, è necessario definire un nuovo "campo personalizzato".

Per fare ciò, apri le proprietà del server o anche di una VM. Nel riquadro di navigazione, selezionare "Campi personalizzati".

Se è la prima volta che definisci un "campo personalizzato" (come nell'esempio sopra), non avrai il campo "Phoenix keeper" in cui inserire i dati, quindi devi crearlo. Per fare ciò, fai clic su "Modifica campi personalizzati" nella finestra di dialogo che si apre, quindi fai clic su "Aggiungi …"
Se è la prima volta che definisci un "campo personalizzato" (come nell'esempio sopra), non avrai il campo "Phoenix keeper" in cui inserire i dati, quindi devi crearlo. Per fare ciò, fai clic su "Modifica campi personalizzati" nella finestra di dialogo che si apre, quindi fai clic su "Aggiungi …"
Crea un campo di testo "Testo" con il nome "Phoenix keeper".
Crea un campo di testo "Testo" con il nome "Phoenix keeper".

Nota: Il nome del campo personalizzato è stato "hard coded" nello script, quindi NON DEVI allontanarti dallo spelling in alto, a meno che tu non modifichi anche il codice rilevante.

Una volta creato il campo, dovresti vedere:

Chiudi la finestra. Ora dovresti riempire il campo "Phoenix keeper", come nella figura qui sotto.
Chiudi la finestra. Ora dovresti riempire il campo "Phoenix keeper", come nella figura qui sotto.
Ora, tutto ciò che devi fare è compilare questo campo con un'osservazione (qualsiasi commento lo farà), il che farà sì che Xen-phoenix salti durante l'eliminazione.
Ora, tutto ciò che devi fare è compilare questo campo con un'osservazione (qualsiasi commento lo farà), il che farà sì che Xen-phoenix salti durante l'eliminazione.

Risoluzione dei problemi

Mentre ho fatto un sacco di sforzi per rendere lo script facile da usare e il più infallibile possibile, "il mondo è un laboratorio più grande". Le seguenti informazioni possono aiutarti a capire qual è la fonte dei tuoi problemi.

Registrazione

Tutta la "registrazione" viene raccolta dall'host Xen che esegue lo script nel meccanismo syslog. Questo, ovviamente, può essere visto con:

less +F /var/log/messages

Stai cercando la parola chiave "Xen-Phoenix".

Nota: Citrix ha impostato un criterio di conservazione di due (2) giorni per syslog dei suoi server. Potresti volerlo tenere a mente per i post mortem.

Debug

Come indicato nel segmento dei file delle impostazioni, esiste una direttiva per abilitare il debug. L'abilitazione del debug causerà lo script di eseguire la registrazione dettagliata alla console e castrarla dall'invio di e-mail e l'effettiva esecuzione delle importazioni, a meno che non siano impostati anche i flag rilevanti. I possibili flag sono indicati nel modello di file delle impostazioni e consentono di definire in modo granulare ciò che si desidera eseguire il debug.

Spero che tu non abbia avuto bisogno di debugging e stai raccogliendo i frutti del mio lavoro:)

Pensa a tutta la povertà, l'odio e le bugie, e immagina la distruzione di tutto ciò che disprezzi. Lentamente dalle ceneri, sorgerà la fenice …

Consigliato: