Hogyan lehet a Citrix Xen VM-eket ingyenesen menteni a Xen-pocalypse (Bash)

Tartalomjegyzék:

Hogyan lehet a Citrix Xen VM-eket ingyenesen menteni a Xen-pocalypse (Bash)
Hogyan lehet a Citrix Xen VM-eket ingyenesen menteni a Xen-pocalypse (Bash)
Anonim
Szüksége volt a Citrix Xen virtuális gépek (VM) mentésére, de nem akarta megtörni a bankot? A HTG-nek csak a bash szkriptje van a Xen-pocalypse-val.
Szüksége volt a Citrix Xen virtuális gépek (VM) mentésére, de nem akarta megtörni a bankot? A HTG-nek csak a bash szkriptje van a Xen-pocalypse-val.

Kép h.koppdelaney, Stuck in Custom és Hotfortech.

Az egyik kedves dolog a Citrix Xen-ben, hogy sok funkciója ingyenes a díjat. 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. Még akkor is csak a lemez szintű biztonsági másolatokat kell fizetnie, amelyek nem elegendők sokféle munkaterheléshez, például az Active Directory, az Adatbázisok stb. Számára. Ennek leküzdéséhez előfordulhat, hogy az "Élő memória pillanatfelvétele és visszaállítása" gépállapot, beleértve a RAM tartalmát is. Azonban ez a funkció az "Enterprise" és a "Platinum" kiadások része, amelyek még drágábbak. Nem arról van szó, hogy a HTG elutasítja egy valódi biztonsági szoftver értékét, de ha szűkös költségvetésen dolgozik, és nem bánja a biztonsági mentés működésének néhány állásidőt, akkor a Xen-pocalypse tökéletes megoldás lehet mielőtt megteszi a költségvetési kötelezettségvállalást.

Áttekintés

A "felhasználási eset": Van pár VM-je, amely biztonsági másolatot igényel. A jobb egérkattintással működő "Xen Center" kikapcsolása és exportálása fájlként működik, de azt szeretné, hogy ez a folyamat automatikusan és ütemezés szerint megtö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 mentési folyamat:

  • Kapcsolja ki a cél VM-et.
  • Exportálja a VM-et fájlként a mentési helyre.
  • Ha a VM be van kapcsolva, a biztonsági mentés megkezdése előtt újra bekapcsol.

Letagadjon:)

Szerezd meg a szkriptet

A Xen-pocalypse szabadon beszerezhető 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-pocalypse/archive/master.zip unzip master

Bár a fentiek működni fognak, tanácsos a GIT módszert használni, hogy a jövőbeni frissítések is élvezhessenek.

Küldje el a SendEmail (opcionális)

A SendEmail perl programról írtunk a múltban, így itt nincs szükség újból 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 nem kötelező, nagyon ajánlott, mert a szkript képes lesz:

  • Tájékoztassa Önt, amikor elkezdődött és befejeződött.
  • Figyelmeztesse azokat a hibákat, amelyeket észlelhet és kezelhet.
  • Tájékozódjon a biztonsági kihagyásokról a térkérdések miatt. (Ezt a viselkedést letilthatja, ha nem kívánja)

Töltse le a Xen kiszolgálóra és vegye ki.

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

Vegye figyelembe a helyet, ahonnan kinyomtatta. Szüksége lesz a beállítási fájlra.

Címkék definiálása

A Citrix Xen lehetővé teszi az "Egyéni mezők" beállítását a szűrési képességekhez. Készítjük a mezőket, majd feltöltjük őket a Xen-pocalypse által használt információkkal. A Xen-pocalypse elismeri a 3 ellenőrző TAG-ot, amelyek a biztonsági mentés címkéjét és a szülő-gyermek kapcsolatokat jelölik. Ha nem szándékozik a fájlbeviteli módszer használatát, akkor legalább a biztonsági mentés címke nevét kell létrehoznia.

Ehhez nyissa meg a kiszolgáló vagy a VM tulajdonságait. A navigációs ablaktáblában válassza az "Egyedi mezők" lehetőséget.

Ha ez az első alkalom, hogy egy kapcsolatot definiál (mint a fenti példában), akkor nincsenek mezők az adatok bevitelére, ezért létre kell hoznia azokat. Ehhez kattintson az "Egyéni mezők szerkesztése" gombra a megjelenő párbeszédablakban, kattintson a "Hozzáadás …" gombra
Ha ez az első alkalom, hogy egy kapcsolatot definiál (mint a fenti példában), akkor nincsenek mezők az adatok bevitelére, ezért létre kell hoznia azokat. Ehhez kattintson az "Egyéni mezők szerkesztése" gombra a megjelenő párbeszédablakban, kattintson a "Hozzáadás …" gombra
Image
Image

Hozzon létre három (3) "Szöveg" típusú mezőt. Az egyiket a "BackupTAG" és a többi "Szülő" és a "Gyermekek" fogják nevezni.

Jegyzet: Az egyéni mezők nevei "kemény kódolásúak" a szkriptben, ezért nem szabad eltérni a fenti helyesírási módtól, hacsak nem módosítja a vonatkozó kódot sem.

Miután létrehozta az összes mezőt, meg kell jelennie:

Zárja be az ablakot. Most már a "BackupTAG", a "Szülő" és a "Gyermek" mezők kitöltése szükséges, ahogyan az alábbi képen látható.
Zárja be az ablakot. Most már a "BackupTAG", a "Szülő" és a "Gyermek" mezők kitöltése szükséges, ahogyan az alábbi képen látható.
Image
Image

Most csak annyit kell tennie, hogy melyik VM-ek tartoznak a "BackupTAG" -hoz. Például abban a cégben, ahol a forgatókönyvet termesztettük, csütörtökön és pénteken hetente biztonsági másolatokat készítettünk, Atlassian termék VM-ekre és néhány olyan adatot, amelyet csak havonta kell támogatni. Tehát az áttekintésünk úgy néz ki, mint:

Ahol például a "heti-fri" volt a "BackupTAG" "Egyéni mező" beillesztett szöveg. Rendben?:)
Ahol például a "heti-fri" volt a "BackupTAG" "Egyéni mező" beillesztett szöveg. Rendben?:)

Szülők és gyermekek (választható)

A szkript valóságos szépsége az, hogy támogatja a "szülő" és a "gyermek" kapcsolatokat. Ez azt jelenti, hogy olyan "gyermek" VM-ek listáját állíthatjuk be, amelyeket kikapcsolni és biztonsági másolatot készíteni a szülő előtt, és hogy ezeket a gyerekeket csak akkor kapcsolják vissza, ha a szülő befejezte a biztonsági másolatot és visszafordult tovább.Ez akkor hasznos, ha a szülő VM kikapcsolásával a szolgáltatás a gyermekben nem lesz elérhető. Egy ilyen dolog azt jelentené, hogy a szolgáltatás a gyermeken VM kétszer nem érhető el, egyszer a gyermek biztonsági mentési folyamata és egyszer a szülők számára. Ennek a kapcsolatnak a létrehozása legyőzte ezt a problémát.

Például az összes Atlassian VM-nél egy adatbázis (DB) VM-t használtunk, amelyet szintén biztonsági másolat készítésére állítottak be. Tehát ha megjegyezzük, hogy a DB VM egy "anya" a többi VM-nek, biztosítani lehet a leállítás rendes sorrendjét -> backup -> indítást.

A jelen írás idején ez a funkció néhány figyelmeztetést tartalmaz:

  1. Az ilyen kapcsolatokkal rendelkező VM-k nevei nem tartalmazhatnak szóközöket. A VM nevekről el kell távolítanod a szóközöket, mert ezek az alábbi példában leírtak szerint lesznek elhatárolva.
  2. Csak egy szülő lehet. Egynél többet sem terveztek, nem is említve a tesztelteket.

A kapcsolat létrehozásához lépjen be a VM tulajdonságaiba. Ha ez egy "szülő", írja meg, ki a gyermeke, és ha ez egy "gyerek", írja meg, kinek a szülõje. Például:

Megjegyzés: Ha egy szülőt nem jelöl ki egy gyermeke számára, előfordulhat, hogy a gyermeket elindítja, mielőtt szülője készen állna, és kétszer is biztonsági másolatot készíthet.
Megjegyzés: Ha egy szülőt nem jelöl ki egy gyermeke számára, előfordulhat, hogy a gyermeket elindítja, mielőtt szülője készen állna, és kétszer is biztonsági másolatot készíthet.

A FÁJL módszer (opcionális)

A Xen-pocalypse történelmi okokból azt is támogatja, hogy a VM-ek listáját szövegfájlként készítse el. Bár a "kód" még mindig ott van, a funkcionalitás súlyosan rosszabb a TAG-módszernél, ezért nem ajánlott. Ezzel azt mondja, hogy ha valamilyen oknál fogva szeretne valamilyen listát használni, a következő korlátozások érvényesek:

  1. A VM-ek nevei nem tartalmazhatnak szóközöket vagy különleges karaktereket.
  2. Vonalonként csak egy VM név lehet.
  3. Üres vonalak nem megengedettek.

A lista létrehozásához vagy másolja a VM nevét a Xen központból, vagy végrehajtson egy Xen gépen:

xe vm-list | grep name-label | awk

'{ print $4 }' | sort

Másolja a fenti listát egy szokásos szövegfájlba.

A mentési hely

Míg a Citrix Xen véletlenszerűen megkerülve azt találtam, hogy a Storage Repository (SR) a "/ var / run / sr-mount /% UUID%" alatt használható, ahol az UUID az SR egyedi azonosítója a grafikus felhasználói felületről.

Ez azt jelenti, hogy a rendszeres "Next -> Next -> Finish" varázslóval létrehozhatjuk a csatolást a kívánt biztonsági mentési helyre, majd a szkriptet használhatjuk arra a célra, így túlmutat ezen ú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-t egy Windows megosztásra irányítjuk, ezért válaszd a "Windows File Sharing (CIFS)" elemet:
Ebben a példában a Xen-t egy Windows megosztásra irányítjuk, ezért válaszd a "Windows File Sharing (CIFS)" elemet:
Töltse ki a következőt -> Következő -> Befejezés.
Töltse ki a következőt -> Következő -> Befejezés.

Szerezd meg az SR UUID-jét

Egy SR UUID megszerzéséhez egyszerűen kattintson a nevére a Xen Központban, és menjen az "Általános" fülre.

Az UUID másolásához egyszerűen kattintson a jobb oldali egérgombbal, és válassza a "másolás" lehetőséget.
Az UUID másolásához egyszerűen kattintson a jobb oldali egérgombbal, és válassza a "másolás" lehetőséget.
Ezekkel az információkkal készen áll a beállítási fájl szerkesztésére.
Ezekkel az információkkal készen áll a beállítási fájl szerkesztésére.

Állítsa be a Beállítások fájlt.

A Xen-pocalypse projekt egy "beállítási" sablonba kerül. 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 módszer a biztonsági másolatok készítéséhez - az alapértelmezett módszer a TAG-ok. Ezt a FÁJLra módosíthatja, de ez nem ajánlott.

A hely - Ha az útmutatót erre a pontra követtük, akkor csak a% UUID% értéket kell kicserélnünk az SR-kkel, ahogy fentről kaptuk.

A SendEmail helye - Ha engedélyezte az e-mail engedélyezését, be kell írnia, ahol itt töltötte le a perl-végrehajtható fájlt.

E-mail adatok -Ismételten, ha engedélyezte az e-mailt, meg kell adnia az olyan részleteket, mint például: Címzett, Címzett, Servername / IP stb.

összenyomás - Ez alapértelmezés szerint "Nem" értékre van állítva, mert ha engedélyezi, hogy kisebb mentési fájlt hoz létre, akkor a biztonsági mentési eljárás is jelentősen hosszabb ideig fog futni.

Ellenőrizze a szabad helyet a rendeltetési helyre - Ezzel a szkript ellenőrzi, hogy a VM biztonsági mentése nem okozza a mentési hely szabad helyének 10 GB alatti leesését. Ez azért van így, hogy a legtöbb VM-eket csak egy nagyon nagy VM helyett támogassa. A számítás a VM-hez társított összes HD-k bruttó lemezméretével történik.

hibakeresés - Az 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.

Kivitelezés / Ütemezés

A legegyszerűbb formában a Xen-pocalypse felszólítása a következőképpen néz ki:

./Xen-backup.sh settings.cfg weekly-fri

A fenti esetekben a parancsfájl és a beállítási fájl könyvtárában találhatóunk. A "Címke", amelyet a szkript keresni fog, "heti-nap".

Amint azt fent említettük, a Cron-ot a végrehajtás ütemezésére használjuk. Mielőtt bemegyünk a konfigurációba, az az Nagyon ajánlott hogy beállítja a már telepített SSMTP csomagot a Xen kiszolgálón. Míg ez egy opcionális lépés, ezt egy backwash kollektorral látja el. Az ilyen "visszavezető kollektor" figyelmeztetni fogja azokat a dolgokat, amelyekről a szkript nem képes.

Adjon meg többet a cron szerkesztésébe:

crontab -e

Ha követi a fenti utasításokat, és ütemezett mentést szeretne hozzáadni péntekig 18:01 (18:01), adja meg az alábbiakat:

01 18 * * fri /root/Xen-pocalypse-master/Xen_Backup.sh /root/Xen-pocalypse-master/settings.cfg weekly-fri

A fentiek helyesek, feltéve, hogy a parancsfájl és a beállítási fájl a "/ root / Xen-pocalypse-master /" alatt található.

Hibaelhárítás

Míg sok erőfeszítést megtettem, hogy a forgatókönyvet egyszerűen használhassam és a lehető legbiztonságosabbá tegyem, "A világ egy nagyobb labor". Az alábbi információ segíthet annak megállapításában, mi a gondjaid forrása.

Haladás

Lehet, hogy ezt az egyik bélést használni szeretné, hogy gyorsan "nézze" az összes folyamatban lévõ feladatot, hogy lássa, valójában egyáltalán halad-e, vagy ténylegesen ragadt-e.

while [ -e /dev/null ]; do for VM in '$( xe task-list | grep uuid | awk '{print $5}' )'; do xe task-param-get param-name=progress uuid=$VM;sleep 1; done; done

Ha meg akarja fejezni a figyelmet, használja a Ctrl + C billentyűkombinációt a "while loop" fékezéséhez.

Fakitermelés

Minden "naplózást" gyűjt be a szkripten futó Xen gazdagép a syslog mechanizmusban. Ez persze megtekinthető a következőkkel:

less +F /var/log/messages

A "Xen-pocalypse" 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.

hibakeresés

Amint azt a beállítási fájl szegmensben 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 az export kivitelezésétől, kivéve, ha az adott zászlók is meg vannak adva. A lehetséges zászlók a beállítási fájlsablonban szerepelnek, é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 élvezed:)

Támadás, emberem, az első számú decepticon leszel …

Ajánlott: