13Jul
Szüksége volt rá, hogy tömeges visszaállítsa a Citrix-Xen VM-eket katasztrófa-helyreállítási( DR) megoldásra, vagy csak annak tesztelésére, hogy a mentések működnek? A HTG bemutatja, hogyan kell használni a Xen-Phoenix-t, egy ingyenes bash parancsfájlt, a VM visszaállításához.
Fotó-jóváírás: Ryan McCurdy a Compfight cc
-en keresztül Mint már említettük: "A Citrix Xen VMs ingyenesen menthető a Xen-pocalypse-val", a Citrix Xen egyik szép dolog az, hogy sok funkciója ingyenes díj. Ezzel azt mondja, hogy az "Automata VM védelem és helyreállítás" funkciót szeretné használni, meg kell kezdenie fizetnie az "Advance" licencért. Ismét nem az a tény, hogy a HTG elutasítja egy valódi biztonsági megoldás értékét, de ha szűkös költségvetés van, akkor már megszerezték a VM-képeket a hypervisorból, és szükségük van arra, hogy automatizálják a "teszt visszaállítása "/" DR refresh "eljárásokat, akkor a Xen-Phoenix-et tökéletesen ésszerű megoldássá teheti, mielőtt elkönyvelné a költségvetést.
Áttekintés
A "használati eset": Vannak olyan VM-ek, amelyek visszaállításra szorulnak. Az "Xen Center" jobb kattintásokkal történő importálása rendben működik, de azt szeretné, hogy ez a folyamat automatikusan és ütemezés szerint történjen. Ez a Bash parancsfájl a "XE" parancsot használja a feladatok elvégzésére. XE a Xen parancssori interfész( CLI), amely egyenértékű a "jobb kattintások" kiadásához a "Xen Center" -ben. Felhívjuk a Cron forgatókönyvet, amely az "ütemezés" részét fogja ellátni. A legegyszerűbb formában a visszaállítási folyamat:
- Törli az összes * korábban létező VM-et a kiszolgálón
- Importálja a VM-eket a mentési helyről származó fájlokból.
- Ellenőrizze, hogy az összes VM-ek működőképesek-e egyenként, és keresik a vendégeszközök szívverését.
- Kapcsolja ki a VM-eket, ha egy szívverést észleltek, vagy elérte az időtúllépést.
* Az összes VM viselkedésének törlése teljesen le lehet tiltani, és támogatja a kivételeket( lásd alább).
Létrehozza a repedést:)
Szerezd meg az
szkriptet Az Xen-phoenix szabadon elérhető a githubból a szokásos git módszerekkel. Ezzel azt mondta, ha még nem járt a git még, akkor megragad a zip fájlt ezzel a kapcsolattal. Mivel a szkriptnek az egyik Xen szerverén kell futnia, ott ki kell húznia, hogy a végrehajtási jogosultságok megmaradjanak.
wget https: //github.com/aviadra/ Xen-phoenix /archive/ master.zip
unzip master
Amíg a fentiek működni fognak, javasoljuk, hogy használja a GIT módszert annak érdekében, hogy a jövőbeni frissítések is élvezhessenek.
Az export helyszíne
Be kell állítanunk a VM exportálásának helyét.
A Citrix Xen véletlenszerűen megkerülve azt találtam, hogy a tárolási adattárak( SRs) az "/var/run/ sr-mount /% UUID%" alatt használhatók, ahol az UUID az SR egyedi azonosítója, amely aGUI.
Ez azt jelenti, hogy a rendszeres "Next - & gt;Következő - & gt;Finish "varázslóval, hogy létrehozza a" csatolást "a kívánt biztonsági mentési helyre, majd a parancsfájl segítségével használja ezt az elérési utat( a parancssori csatolással, amely túlmutat az útmutatóban).
Új "mount" létrehozásához kattintson jobb gombbal a kiszolgáló nevére, és válassza az Új SR elemet.
Ebben a példában a Xen egy Windows megosztásra irányul, ezért válassza a "Windows File Sharing( CIFS)" elemet:
Töltse ki a következőt - & gt;Következő - & gt;Befejez.
Az SR UUID
beszerzése Az SR UUID megszerzéséhez egyszerűen kattintson a névre a Xen Központban, és menjen az "Általános" fülre.
Az UUID másolásához egyszerűen kattintson rá a jobb egérgombbal, és válassza a "másolás" lehetőséget.
Ezzel az információval készen áll a beállítási fájl szerkesztésére.
Beállítandó fájl konfigurálása
A Xen-phoenix projekthez egy "beállítás" fájl sablon tartozik. Ezt a sablont szerkeszteni kell, hogy tükrözze a beállításokat, és az első argumentumként jelenjen meg a szkripthez.
A beállítási fájl a következőket jelöli:
- A forrás export helye - Ha követi az útmutatót erre a pontra, akkor csak a% UUID% értéket kell kicserélnie az SR-kkel, ahogy fentről kapott.
- A SendEmail helyszíne - Ha engedélyezte az e-mail engedélyezését, be kell írnia, hogy itt a kivonatolt perl-futtatható fájl van.
- hitelesítő - Ez vezérli az utólagos visszaállítás ellenőrzését. Ez alapértelmezés szerint engedélyezett, mivel a sikeres "fájlszint-visszaállítás" nem feltétlenül jelenti a funkcionális VM-et.
- Server_prep - Ez vezérli az összes VM-ek törlésének előtti visszaállítását a DR szerveren. Ez alapértelmezés szerint engedélyezett, mert feltételezzük, hogy a DR szerver erre a célra dedikált szerver. Ha nem kell törölni a kiszolgálón futó VM-et, állítsa be, hogy kizárjon. Ha ez a viselkedés nem felel meg a helyzetnek, egyszerűen tiltsa le teljesen.
- E-mail adatok - Ha engedélyezte az e-maileket, akkor meg kell határoznia az olyan adatokat, mint például: Címzett, Címzett, Szervername / IP &stb'.
- Az hibakeresése - Alapértelmezés szerint a hibakeresés ki van kapcsolva a "0"( nulla) értékkel. Nem kell ezt bekapcsolnia, de ha igen, akkor a hibaelhárítási szegmensben további információk találhatók.
Végrehajtás
Ez a szkript az első argumentumot és minden más argumentumot a "Chevrons" -nak keresve keresi( szóközzel elválasztva).A csirkék "húrok", amelyek olyan szabályos kifejezéseket támogatnak, amelyek legalább a VM-export kívánt fájlnevének egy részét képviselik.
A legegyszerűbb formában a Xen-phoenix hívása a következőképpen fog kinézni:
. /Xen-phoenix.sh settings.cfg DevTools
A fenti esetekben a könyvtárban található a szkript &a beállítási fájl és a "Chevron", amelyet a szkript keresni fog, a "DevTools".Ezzel az exportkönyvtár összes fájlját a nevükben lévő "DevTools" karakterlánc importálhatja.
Egy összetettebb példa a következőképpen néz ki:
. /Xen-phoenix.sh settings.cfg [Aa] [Dd] [Bb] [i] [Dd] ev [Tt] ools
A fenti példában a fájlokat,a "devtools" szó "D", "T" vagy nem tőke tőkével, valamint az "AD" és "A "BI" nagybetűvel vagy anélkül importálva lesz.
ütemezése
Ahogy fent említettük, a Cron-ot a végrehajtás ütemezésére használjuk. Mielőtt belekezdenénk a konfigurációba, az erősen ajánlott , hogy beállítja a már telepített SSMTP csomagot a Xen szerveren. Bár ez egy opcionális lépés, így egy "backwash" kollektorot ad. Az ilyen "visszavezető kollektor" figyelmeztetni fogja azokat a dolgokat, amelyekről a szkript nem képes.
Adja be a cron szerkesztési módját a következő módon:
crontab -e
Ha a fenti utasításokat követi, és tervezett mentést szeretne hozzáadni vasárnapra 01:31( 1:31), adja meg az alábbiakat:
31 01 * *Sun /root/ Xen-phoenix-master / Xen-phoenix.sh /root/ Xen-phoenix-master / settings.cfg [Aa] [Dd] DB [Bb] [i] [Dd] ev [Tt] ools
A fentia parancsfájl és a beállításfájl mind az "/root/ Xen-phoenix-master /" alatt található.
Küldje el a SendEmail-t( opcionális)
A SendEmail perl programról a múltban írtunk, ezért itt nem szükséges megismételni. Elég azt mondani, hogy ugyanúgy működik a Linuxon, mint a Windows rendszeren.
Bár az e-mail engedélyezése opcionális, nagyon ajánlott, mert a szkript képes lesz:
- értesíteni, mikor elkezdődött &befejezte a futást.
- Figyelmeztesse Önt minden olyan hibáról, amelyet képes észlelni és kezelni.
Töltsd le a Xen kiszolgálóra és húzd ki.
wget http: //caspian.dotconf.net/menu/Software/SendEmail/ sendEmail-v1.56.tar.gz
tar xvzhf sendEmail-v1.56.tar.gz
Vegye figyelembe a helyet, ahonnan kivette. Szüksége lesz a beállítási fájlra.
Az "Extrémkiegészítés törlése" meghatározása( opcionális)
A Xen-Phoenix az ő őse( Xen-Pocalypse) oldalát veszi fel, és lehetővé teszi, hogy a VM-et a rendszer egészére kiterjedő törlést kizárja egy vezérlő TAG segítségével. Ennek érdekében meg kell határoznia egy új "egyéni mezőt".
Ehhez nyissa meg a kiszolgáló vagy akár a VM tulajdonságait. A navigációs ablaktáblában válassza az "Egyedi mezők" lehetőséget.
Ha először definiál egy "egyéni mezőt"( mint a fenti példában), akkor nem lesz "Phoenix_keeper" mező adatainak bevitelére, ezért létre kell hoznia. Ehhez kattintson az "Egyéni mezők szerkesztése" gombra a megjelenő párbeszédpanelen, majd kattintson a "Hozzáadás. .." gombra
Hozzon létre egy "Szöveges" mezőt a "Phoenix_keeper" névvel.
Megjegyzés: Az egyéni mező neve "kemény kódolású" a szkriptben, ezért nem szabad eltérni a fenti helyesírástól, hacsak nem módosítja az adott kódot sem.
A mező létrehozása után meg kell jelennie:
Zárja be az ablakot. Most töltse ki a "Phoenix_keeper" mezőt, mint az alábbi képen.
Most mindössze annyit kell tennie, hogy ezt a mezőt egy megjegyzéssel tölti fel( bármilyen megjegyzést tesz), ami a Xen-phoenix-t kihagyja törlés közben.
Hibaelhárítás
Bár sok erőfeszítést tettek a forgatókönyv egyszerű használatára és a lehető legbizalmasabbá tételére, "a világ egy nagyobb labor".Az alábbi információ segíthet annak megállapításában, mi a gondjaid forrása.
Naplózás
Minden "naplózást" gyűjt be a szkripten futó Xen gazdagép a syslog mechanizmusban. Ez persze megtekinthető:
kevesebb + F /var/log/ üzenet
A "Xen-Phoenix" kulcsszóra keres.
Megjegyzés: A Citrix két( 2) napos megőrzési szabályt állított be a kiszolgálók syslogjához. Lehet, hogy ezt szem előtt tartani a posztmortemeknek.
Az
hibakeresése Amint azt a beállítási fájl szegmensben is megjegyeztük, van egy irányelv, amely lehetővé teszi a hibakeresést. A hibakeresés engedélyezésével a parancsfájl a verziók naplózását a konzolhoz továbbítja, és kasztrálhatja azt az e-mailek küldésétől és a behozatal tényleges elvégzésétől, hacsak a megfelelő zászlók sem vannak beállítva. A lehetséges zászlók a beállítási fájl sablonban kerülnek feltüntetésre, és lehetővé teszik, hogy részletesen definiálhassa a hibakeresést.
Remélem, hogy nincs szükség hibaelhárításra, és a munkám gyümölcseit szedik:)
Csak gondoljon a szegénységre, a gyűlöletre és a hazugságokra, és képzeld el mindazt, amit megvetsz. Lassan a hamutól fogva felbukkan a főnix. ..