13Jul

Πώς να επαναφέρετε τα VMs Citrix-Xen δωρεάν με το Xen-Phoenix( Bash)

Είχατε ποτέ την ανάγκη μαζικής αποκατάστασης των VM του Citrix-Xen για μια λύση αποκατάστασης μετά από καταστροφή( DR) ή απλώς για να ελέγξετε ότι τα αντίγραφα ασφαλείας σας λειτουργούν;Το HTG εξηγεί πώς να χρησιμοποιήσετε το Xen-Phoenix, ένα δωρεάν script bash, για την επαναφορά του VM.

Photo Credit: Ryan McCurdy μέσω του Compfight cc

Όπως έχουμε αναφέρει στο "Πώς να δημιουργήσετε Backup Citrix Xen VMs δωρεάν με Xen-pocalypse", ένα από τα ωραία πράγματα στο Citrix Xen είναι ότι πολλά από τα χαρακτηριστικά του είναι free χρέωση.Με αυτό είπε, αν θέλετε τη λειτουργία "Αυτοματοποιημένη προστασία και ανάκτηση VM", θα πρέπει να αρχίσετε να πληρώνετε για την άδεια "Advance".Και πάλι, δεν είναι ότι εμείς στο HTG απορρίπτουμε την αξία μιας πραγματικής λύσης δημιουργίας αντιγράφων ασφαλείας, αλλά αν είστε σε έναν σφιχτό προϋπολογισμό, έχετε ήδη βγάλει τις εικόνες VM από τον hypervisor και χρειάζεστε έναν τρόπο για να αυτοματοποιήσετε το "δοκιμαστική αποκατάσταση "/" DR ανανέωση "διαδικασίες, ίσως βρείτε Xen-Phoenix να είναι μια απολύτως λογική λύση προτού να κάνετε τη δέσμευση του προϋπολογισμού.

Επισκόπηση

Η "περίπτωση χρήσης": Έχετε δύο VM που απαιτούν επαναφορά.Η εισαγωγή στο "Xen Center" με δεξί κλικ λειτουργεί καλά, αλλά θέλετε αυτή η διαδικασία να γίνει αυτόματα και με χρονοδιάγραμμα.Αυτό το σενάριο Bash χρησιμοποιεί την εντολή "XE" για την εκτέλεση των καθηκόντων του.Το XE είναι η διεπαφή γραμμής εντολών Xen( CLI), αυτόματη ισοδύναμη για την έκδοση των "δεξιών κλικ" στο "Xen Center".Θα καλέσουμε το σενάριο από το Cron το οποίο θα παράσχει το τμήμα "προγραμματισμού".Στην απλούστερη μορφή της, η ροή επαναφοράς είναι:

  • Διαγραφή όλων των * προηγουμένως υπαρχόντων VM στον διακομιστή
  • Εισαγωγή VM από αρχεία στη θέση δημιουργίας αντιγράφων ασφαλείας.
  • Βεβαιωθείτε ότι όλα τα VM λειτουργούν ενεργοποιώντας τα ένα προς ένα και αναζητώντας τα πλήκτρα καρδιάς των επισκεπτών.
  • Απενεργοποιήστε τα VMs όταν έχει εντοπιστεί ένας καρδιακός παλμός ή έχει φτάσει ένα χρονικό όριο.

* Η συμπεριφορά διαγραφής όλων των VM μπορεί να απενεργοποιηθεί πλήρως και να υποστηρίζει εξαιρέσεις( βλ. Παρακάτω).

Ας πάρουμε ρωγμές:)

Απόκτηση του σεναρίου

Το Xen-phoenix μπορεί να ληφθεί ελεύθερα από το github, χρησιμοποιώντας τις κανονικές μεθόδους git.Με αυτό είπε, αν δεν είστε versed σε git ακόμα, μπορείτε να πάρετε το αρχείο zip με αυτόν τον σύνδεσμο.Καθώς το σενάριο πρέπει να τρέχει σε έναν από τους διακομιστές σας Xen, θα πρέπει να το εξάγετε εκεί για να διατηρηθούν τα δικαιώματα εκτέλεσης.

wget https: //github.com/aviadra/ Xen-phoenix /archive/ master.zip
αποσυμπιέστε master

Ενώ τα παραπάνω θα λειτουργούσαν, σας συνιστούμε να χρησιμοποιήσετε τη μέθοδο GIT, ώστε να μπορείτε να επωφεληθείτε από μελλοντικές ενημερώσεις.

Η θέση εξαγωγών

Πρέπει να διαμορφώσουμε από πού να πάρετε τις εξαγωγές VM από.

Ενώ ανακάλυψα τυχαία το Citrix Xen, έχω διαπιστώσει ότι τα Αποθηκευτικά Αποθηκευτικά( SRs) είναι διαθέσιμα για χρήση κάτω από το "/var/run/ sr-mount /% UUID%" όπου το UUID είναι το μοναδικό αναγνωριστικό του SR,GUI.

Αυτό σημαίνει ότι μπορούμε να χρησιμοποιήσουμε το κανονικό "Επόμενο - & gt;Επόμενο - & gt;Finish "για να δημιουργήσετε το" mount "στην επιθυμητή θέση δημιουργίας αντιγράφων ασφαλείας και, στη συνέχεια, χρησιμοποιήστε τη δέσμη ενεργειών για αυτό το μονοπάτι( ανάλογα με την περίπτωση που θέλετε να εγκαταστήσετε τη γραμμή εντολών εκτός του πεδίου εφαρμογής αυτού του οδηγού).

Για να δημιουργήσετε μια νέα "mount", κάντε δεξί κλικ στο όνομα του διακομιστή και επιλέξτε New SR.

Σε αυτό το παράδειγμα, θα δείξουμε το Xen σε ένα κοινόχρηστο στοιχείο των Windows, οπότε επιλέξτε "Κοινή χρήση αρχείων των Windows( CIFS)":

Συμπληρώστε την Επόμενη - & gt;Επόμενο - & gt;Φινίρισμα.

Λάβετε το UUID του SR SR

Για να αποκτήσετε ένα UUID του SR, απλά κάντε κλικ στο όνομα του στο Xen Center και μεταβείτε στην καρτέλα "Γενικά".

Για να αντιγράψετε το UUID, απλά κάντε δεξί κλικ και επιλέξτε "copy".

Με αυτές τις πληροφορίες, είστε έτοιμοι να επεξεργαστείτε το αρχείο ρυθμίσεων.

Ρύθμιση του αρχείου ρυθμίσεων

Το έργο Xen-phoenix συνοδεύεται από ένα πρότυπο αρχείου "settings".Αυτό το πρότυπο πρέπει να επεξεργαστεί ώστε να αντικατοπτρίζει την ρύθμισή σας και να μεταβιβαστεί ως το πρώτο όρισμα στο σενάριο.

Το αρχείο ρυθμίσεων ορίζει τα εξής:

  • Η θέση των εξαγωγών πηγής - Εάν έχετε ακολουθήσει τον οδηγό σε αυτό το σημείο, θα πρέπει να αντικαταστήσετε μόνο το% UUID% με τα SR's, όπως αυτά λήφθηκαν από παραπάνω.
  • Η θέση του SendEmail - Εάν έχετε επιλέξει να ενεργοποιήσετε το Email, θα πρέπει να εισαγάγετε εδώ, όπου έχετε εξαγάγει το εκτελέσιμο αρχείο perl εδώ.Έλεγχος
  • - Αυτό ελέγχει τη διαδικασία επαλήθευσης μετά την αποκατάσταση.Αυτό είναι ενεργοποιημένο από προεπιλογή, καθώς μια επιτυχής επαναφορά επιπέδου αρχείου δεν σημαίνει απαραίτητα ένα λειτουργικό VM.
  • Server_prep - Αυτό ελέγχει τη διαγραφή όλων των VMs στον διακομιστή DR πριν την επαναφορά .Αυτό είναι ενεργοποιημένο από προεπιλογή επειδή θεωρείται ότι ο διακομιστής DR είναι ένας αποκλειστικός διακομιστής για το σκοπό αυτό.Εάν χρειάζεστε ένα VM που εκτελείται σε αυτόν τον διακομιστή ώστε να μην διαγραφεί, ρυθμίστε το ώστε να αποκλείεται.Εάν αυτή η συμπεριφορά δεν είναι κατάλληλη για την περίπτωσή σας, απλά απενεργοποιήστε την πλήρως.
  • Στοιχεία ηλεκτρονικού ταχυδρομείου - Και πάλι, εάν έχετε ενεργοποιήσει το ηλεκτρονικό ταχυδρομείο, πρέπει να ορίσετε λεπτομέρειες όπως: To, From, Servername / IP &και τα λοιπα'.
  • Debugging - Η προεπιλογή είναι η απενεργοποίηση της εντοπισμού σφαλμάτων με την τιμή "0"( μηδέν).Δεν χρειάζεται να ενεργοποιήσετε αυτήν την ενέργεια, αλλά αν το κάνετε, περισσότερες πληροφορίες σημειώνονται στο τμήμα αντιμετώπισης προβλημάτων.Εκτέλεση

Αυτό το σενάριο παίρνει το αρχείο ρυθμίσεων ως το πρώτο του όρισμα και οποιαδήποτε άλλα επιχειρήματα όπως "Chevrons" για αναζήτηση( διαχωρισμένα με κενά).Chevrons, είναι "χορδές", οι οποίες υποστηρίζουν κανονικές εκφράσεις που αντιπροσωπεύουν τουλάχιστον ένα μέρος του επιθυμητού ονόματος αρχείου της εξαγωγής VM.

Δηλαδή, στην απλούστερη μορφή της, η επίκληση του Xen-phoenix θα μοιάζει με:

. /Xen-phoenix.sh settings.cfg DevTools

Όπου στην παραπάνω περίπτωση είμαστε μέσα στον κατάλογο που κρατά το σενάριο &το αρχείο ρυθμίσεων και το "Chevron" το script θα αναζητήσει είναι "DevTools".Αυτό θα προκαλέσει την εισαγωγή όλων των αρχείων στον κατάλογο εξαγωγών με τη συμβολοσειρά "DevTools" στο όνομά τους.

Ένα πιο σύνθετο παράδειγμα μπορεί να είναι το εξής:

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

Όπου στο παραπάνω παράδειγμα,η λέξη "devtools" με κεφαλαία γράμματα "D" και "T" ή μη κεφαλαιακά, καθώς και "AD" &"BI" με ή χωρίς κεφαλαία, θα εισαχθεί.

Προγραμματισμός

Όπως σημειώθηκε παραπάνω, θα χρησιμοποιήσουμε το Cron για να προγραμματίσουμε την εκτέλεση.Πριν πάμε στη διαμόρφωση, είναι συνιστάται ιδιαίτερα που ρυθμίζετε το ήδη εγκατεστημένο πακέτο SSMTP στο διακομιστή σας Xen.Παρόλο που αυτό είναι ένα προαιρετικό βήμα, αυτό θα σας δώσει ένα συλλέκτη "backwash".Έχοντας έναν τέτοιο "συλλέκτη backwash" μπορεί να σας ειδοποιήσει για πράγματα που το σενάριο δεν είναι σε θέση να.

Εισαγάγετε στη λειτουργία επεξεργασίας του cron, εκδίδοντας:

crontab -e

Εάν έχετε ακολουθήσει τις παραπάνω οδηγίες και θέλετε να προσθέσετε προγραμματισμένο αντίγραφο ασφαλείας για την Κυριακή στις 01:31( 1:31 π.μ.), εισάγετε τα παρακάτω:

31 01 * *Sun [Db] DB [Bb] [iI] [Dd] ev [Tt] ools

Τα παραπάνω είναι σωστά υποθέτονταςτο αρχείο δέσμης ενεργειών και το αρχείο ρυθμίσεων βρίσκονται και στο "/root/ Xen-phoenix-master /".

Λάβετε SendEmail( προαιρετικό)

Έχουμε γράψει για το πρόγραμμα Perl SendEmail στο παρελθόν, οπότε δεν χρειάζεται να επαναλάβετε εδώ.Αρκεί να πούμε ότι λειτουργεί με τον ίδιο τρόπο στο Linux όπως και στα Windows.

Ενώ η ενεργοποίηση του μηνύματος ηλεκτρονικού ταχυδρομείου είναι προαιρετική, συστήνεται ιδιαίτερα επειδή τότε το σενάριο θα είναι σε θέση να:

  • Να σας ενημερώνει όταν ξεκίνησε &ολοκληρώθηκε η λειτουργία.
  • Σας ειδοποιεί για τυχόν λάθη που κατάφερε να εντοπίσει και να χειριστεί.

Κατεβάστε το στο διακομιστή Xen και εξαγάγετε.

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

Σημειώστε τη θέση στην οποία το εξάγατε.Θα το χρειαστείτε για το αρχείο ρυθμίσεων.

Καθορισμός της ετικέτας "Διαγραφή Εξαιρέσεων"( προαιρετικό)

Το Xen-Phoenix παίρνει μια σελίδα από τον πρόγονο του( Xen-Pocalypse) και σας δίνει τη δυνατότητα να αποκλείσετε λεπτομερώς ένα VM από τη διαγραφή σε ολόκληρο το σύστημα χρησιμοποιώντας ένα TAG ελέγχου.Για να γίνει αυτό, πρέπει να ορίσετε ένα νέο "Προσαρμοσμένο πεδίο".

Για να το κάνετε αυτό, ανοίξτε τις ιδιότητες του διακομιστή ή ακόμα και του VM.Στο παράθυρο πλοήγησης, επιλέξτε "Προσαρμοσμένα πεδία".

Εάν αυτή είναι η πρώτη φορά που ορίζετε ένα "προσαρμοσμένο πεδίο"( όπως στο παραπάνω παράδειγμα), δεν θα έχετε το πεδίο "Phoenix_keeper" για να εισάγετε δεδομένα, επομένως θα πρέπει να το δημιουργήσετε.Για να το κάνετε αυτό, κάντε κλικ στο "Επεξεργασία προσαρμοσμένων πεδίων" στο παράθυρο διαλόγου που εμφανίζεται και κάντε κλικ στο "Προσθήκη. .."

Δημιουργήστε ένα πεδίο τύπου "Κείμενο" με το όνομα "Phoenix_keeper".

Σημείωση: Το Το όνομα του προσαρμοσμένου πεδίου έχει "σκληρό κωδικοποιημένο" στο σενάριο, οπότε δεν πρέπει να αποκλίνετε από την παραπάνω ορθογραφία, εκτός και αν αλλάξετε τον σχετικό κώδικα.

Μόλις δημιουργηθεί το πεδίο, πρέπει να δείτε:

Κλείστε το παράθυρο.Θα πρέπει τώρα να συμπληρώσετε το πεδίο "Phoenix_keeper", όπως φαίνεται στην παρακάτω εικόνα.

Τώρα, το μόνο που έχετε να κάνετε είναι να συμπληρώσετε αυτό το πεδίο με μια παρατήρηση( οποιαδήποτε παρατήρηση θα κάνει), γεγονός που θα προκαλέσει την παραβίαση του Xen-phoenix κατά τη διαγραφή.

Αντιμετώπιση προβλημάτων

Ενώ έχω καταβάλει μεγάλη προσπάθεια για να καταστήσει το σενάριο τόσο εύκολο στη χρήση και όσο πιο ξέγνοιαστο είναι δυνατόν, "ο κόσμος είναι ένα μεγαλύτερο εργαστήριο".Οι παρακάτω πληροφορίες μπορεί να σας βοηθήσουν να διαπιστώσετε ποια είναι η πηγή των προβλημάτων σας.

Καταγραφή

Όλες οι "καταγραφές" συλλέγονται από τον ξενιστή Xen που εκτελεί το σενάριο στον μηχανισμό syslog.Αυτό, βέβαια, μπορείτε να το δείτε με:

λιγότερο + F /var/log/ μηνύματα

Ψάχνετε για τη λέξη κλειδί "Xen-Phoenix".

Σημείωση: Η Citrix έχει θέσει μια πολιτική διατήρησης δύο( 2) ημερών για το syslog των διακομιστών της.Μπορεί να θέλετε να το έχετε υπόψη σας για μεταθανάτια.

Debugging

Όπως σημειώνεται στο τμήμα αρχείων ρυθμίσεων, υπάρχει μια οδηγία για την ενεργοποίηση εντοπισμού σφαλμάτων.Η ενεργοποίηση του εντοπισμού σφαλμάτων θα προκαλέσει τη δέσμη ενεργειών να παράγει λεπτομερή καταγραφή στην κονσόλα και να την εκτοξεύσει από την αποστολή μηνυμάτων ηλεκτρονικού ταχυδρομείου και την πραγματική εκτέλεση των εισαγωγών, εκτός εάν έχουν οριστεί οι σχετικές σημαίες.Οι πιθανές σημαίες σημειώνονται στο πρότυπο αρχείο ρυθμίσεων και σας δίνουν τη δυνατότητα να καθορίσετε λεπτομερώς τι θέλετε να διορθώσετε.

Ελπίζω ότι δεν χρειάζεστε κανένα σφάλμα και αποκομίζετε τους καρπούς της δουλειάς μου:)

Σκεφτείτε μόνο τη φτώχεια, το μίσος και τα ψέματα και φανταστείτε την καταστροφή όσων περιφρονείτε.Αργά από τις στάχτες, θα προκύψει το φοίνικα. ..