Αρχική σελίδα » πως να » Πώς να επαναφέρετε τα VMs Citrix-Xen δωρεάν με το Xen-Phoenix (Bash)

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

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

    Φωτογραφία Πίστωσης: Ryan McCurdy μέσω Compfight cc

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

    ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ

    Η "περίπτωση χρήσης": Έχετε δύο VM που απαιτούν επαναφορά. Η εισαγωγή στο "Κέντρο Xen" με δεξί κλικ λειτουργεί καλά, αλλά θέλετε αυτή η διαδικασία να γίνει αυτόματα και με χρονοδιάγραμμα. Αυτό το σενάριο 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
    unzip master

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

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

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

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

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

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

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

    Ολοκληρώστε το Επόμενο -> Επόμενο -> Τέλος.

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

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

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

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

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

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

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

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

    Εκτέλεση

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

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

    ./Xen-phoenix.sh settings.cfg DevTools

    Σε περίπτωση που στην παραπάνω περίπτωση είμαστε μέσα στον κατάλογο που περιέχει το σενάριο & το αρχείο ρυθμίσεων και το "Chevron" που θα αναζητήσει το σενάριο είναι το "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 AM), εισάγετε τα παρακάτω:

    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

    Τα παραπάνω είναι σωστά υποθέτοντας ότι το σενάριο και το αρχείο ρυθμίσεων βρίσκονται και στο "/ 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

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

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


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