„Citrix Xen VM“ atsarginių kopijų kūrimas nemokamai su „Xen-pocalypse“ („Bash“)
Ar kada nors reikėjo atsarginės kopijos „Citrix Xen“ virtualiosioms mašinoms (VM), bet nenorėjote nutraukti bankų, kurie tai daro? HTG turi tik „bash“ scenarijų su „Xen-pocalypse“.
Vaizdas: h.koppdelaney, Stuck in Custom ir Hotfortech.
Vienas iš gražiausių dalykų „Citrix Xen“ yra tai, kad daugelis jos savybių yra Laisvas nemokamai. Tuomet, jei norite „Automatizuotos VM apsaugos ir atkūrimo“ funkcijos, turėsite pradėti mokėti už „Advance“ licenciją. Net ir tada mokate tik už diskų atsargines kopijas, kurių nepakanka daugeliui darbo krūvių, pvz., Aktyvus katalogas, Duomenų bazės ir kt., Norint tai įveikti, galbūt norėsite „Tiesioginės atminties momentinė nuotrauka ir grįžti“, kuri gali išgelbėti visą mašinos būklę, įskaitant RAM turinį. Tačiau ši funkcija yra „Enterprise“ ir „Platinum“ leidinių, kurie yra dar brangesni, dalis. Ne tai, kad mes HTG atmetame tikrosios atsarginės programinės įrangos vertę, bet jei esate ribotas biudžetas ir nenorite pamiršti atsarginių operacijų prastovos, galite rasti „Xen-pocalypse“ kaip visiškai priimtiną sprendimą prieš atlikdami biudžetinį įsipareigojimą.
Apžvalga
„Naudojimo atvejis“: turite keletą VM, kuriems reikia atsarginės kopijos. „Xen Center“ „VM išjungimas ir eksportavimas kaip failas“, naudojant dešiniuosius paspaudimus, veikia gerai, bet norite, kad šis procesas vyktų automatiškai ir pagal tvarkaraštį. Šis „Bash“ scenarijus naudoja „XE“ komandą savo užduotims atlikti. XE yra „Xen“ komandinės eilutės sąsaja (CLI), automatinė lygiavertiška „dešiniųjų paspaudimų“ išdavimui „Xen centre“. Skambinsime scenarijų iš „Cron“, kuris pateiks „planavimo“ dalį. Paprasčiausia forma yra atsarginis srautas:
- Išjunkite tikslinį VM.
- Eksportuokite VM kaip failą į atsarginę vietą.
- Jei VM buvo įjungtas, prieš pradedant atsarginę kopiją, jis bus vėl įjungtas.
Leidžia gauti įtrūkimų :)
Gaukite scenarijų
Xen-pocalypse galima laisvai gauti iš github, naudojant įprastinius git metodus. Su tuo sakant, jei dar nesate susipažinę su gitu, galite patraukti zip failą su šia nuoroda. Kadangi scenarijus turi būti paleistas viename iš jūsų „Xen“ serverių, turėtumėte jį išskleisti, kad būtų išsaugoti vykdymo leidimai.
wget https://github.com/aviadra/Xen-pocalypse/archive/master.zip
unzip master
Nors aukščiau paminėtas darbas, rekomenduojama naudoti GIT metodą, kad galėtumėte pasinaudoti būsimais atnaujinimais.
Gaukite „SendEmail“ (neprivaloma)
Mes parašėme apie „SendEmail perl“ programą anksčiau, todėl čia nereikia pakartoti. Pakanka pasakyti, kad jis veikia taip pat Linux sistemoje, kaip ir Windows.
Nors el. Pašto įgalinimas yra neprivalomas, labai rekomenduojama, nes tada scenarijus galės:
- Informuokite jus, kai pradėjo ir baigė veikti.
- Perspėti jus apie visas klaidas, kurias jis sugebėjo aptikti ir tvarkyti.
- Informuoti apie atsarginių teisių atėmimą dėl kosmoso problemų. (Šis elgesys gali būti išjungtas, jei nenorite)
Atsisiųskite jį į „Xen“ serverį ir ištraukite.
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
tar xvzhf sendEmail-v1.56.tar.gz
Atkreipkite dėmesį į vietą, kur ją ištraukėte. Jums reikės nustatymų failo.
Žymių apibrėžimas
„Citrix Xen“ suteikia galimybę konfigūruoti „Custom Fields“, kad galėtumėte filtruoti. Mes sukursime laukus ir užpildysime juos su informacija, kurią naudoja Xen-pocalypse. Xen-pocalypse atpažįsta 3 valdymo TAG, kurie žymi atsarginės kopijos pavadinimą ir tėvų santykius su vaikais. Jei nenorite naudoti failo įvedimo metodo, privalote sukurti bent jau atsarginės žymos pavadinimo lauką.
Norėdami tai padaryti, atidarykite serverio ar net VM savybes. Naršymo srityje pasirinkite „Priskirtus laukus“.
Jei tai yra pirmas kartas, kai nustatote ryšį (kaip nurodyta aukščiau pateiktame pavyzdyje), neturėsite jokių laukų duomenų įvedimui, todėl turite juos sukurti. Norėdami tai padaryti, spustelėkite „Redaguoti individualius laukus“ dialogo lange, kuris pasirodo, spustelėkite „Pridėti…“
Sukurkite tris (3) „teksto“ tipo laukus. Vienas bus vadinamas „BackupTAG“ ir kitais „tėvais“ ir „vaikais“.
Pastaba: Priskirtų laukų pavadinimai į „scenarijų“ buvo „sunkiai užkoduoti“, todėl, jei nepakeičiate ir atitinkamo kodo, jūs neturite nukrypti nuo pirmiau pateiktos rašybos.
Kai visi laukai bus sukurti, turėtumėte pamatyti:
Uždarykite langą. Dabar turite užpildyti laukus „BackupTAG“, „Tėvų“ ir „Vaikai“, kaip nurodyta toliau esančiame paveikslėlyje.
Dabar viskas, ką jums reikia padaryti, yra nurodyti, kurie VM priklauso „BackupTAG“.
Pavyzdžiui, kompanijoje, kurioje buvo užaugintas scenarijus, ketvirtadienį ir penktadienį turėjome atsargines kopijas, kurios turėjo būti paremtos kas savaitę, mūsų „Atlassian“ gaminių VM ir kai kurių, kurios turėjo būti paremtos tik kas mėnesį, tvarkaraštis. Taigi mūsų apžvalga atrodė:
Pavyzdžiui, kai „savaitinis fri“ buvo tekstas, kurį įvedėme į „BackupTAG“ „Custom Field“. Tikrai? :)
Tėvai ir vaikai (neprivaloma)
Tikras šio scenarijaus grožis yra tai, kad ji palaiko „tėvą“ į „vaiko“ santykius. Tai reiškia, kad galima nustatyti „vaiko“ VM sąrašą, kuris būtų išjungtas ir paremtas prieš tėvą, ir kad šie vaikai vėl bus įjungti tik tada, kai tėvas baigs atsarginę kopiją ir bus grąžintas atgal įjungta. Tai naudinga tais atvejais, kai išjungus tėvų VM, vaikas negalės naudotis paslauga. Toks dalykas reikštų, kad paslauga vaikui VM nebūtų prieinama du kartus, vieną kartą vaiko atsarginiam procesui ir vieną kartą tėvui. Šių santykių sukūrimas įveikia šią problemą.
Pavyzdžiui, visi mūsų „Atlassian“ VM naudojo vieną „DataBase“ (DB) VM, kuri taip pat buvo nustatyta kaip atsarginė kopija. Taigi, pažymėdamas, kad DB VM yra kitų VM „tėvų“, gali būti užtikrinta tinkama išjungimo tvarka -> atsarginė kopija> paleidimas..
Šio rašymo metu ši funkcija turi keletą įspėjimų:
- VM, kurie turi tokį ryšį, pavadinimai negali turėti tarpų. Turėsite pašalinti tarpus iš VM pavadinimų, nes jie bus erdvės ribos, kaip nurodyta toliau pateiktame pavyzdyje.
- Gali būti tik vienas iš tėvų. Skiriant daugiau nei vieną, net nėra planuojama, jau nekalbant apie išbandytus.
Norėdami sukurti šiuos santykius, eikite į VM savybes. Jei tai yra „tėvas“, rašykite, kas yra jo vaikai, ir jei tai yra „vaikas“, rašykite, kas yra jo tėvas. Pavyzdžiui:
Pastaba: jei vaiko tėvas nenurodomas, vaikas gali būti pradėtas, kol jo tėvas nėra pasirengęs, ir gali sukelti jo atsarginę kopiją du kartus.
FILE metodas (pasirinktinai)
Dėl istorinių priežasčių „Xen-pocalypse“ taip pat palaiko „VM“ sąrašo kopiją kaip tekstinį failą. Nors „kodas“ vis dar yra, funkcionalumas yra gerokai mažesnis už TAG metodą, todėl nerekomenduojama. Tuomet, jei norite kažkokios priežasties naudoti sąrašo metodą, taikomi šie apribojimai:
- VM pavadinime negali būti jokių tarpų ar specialių simbolių.
- Vienoje eilutėje gali būti tik vienas VM pavadinimas.
- Neleidžiamos tuščios eilutės.
Norėdami sukurti sąrašą, nukopijuokite VM pavadinimą iš Xen centro arba vykdykite Xen priegloboje:
xe vm-sąrašas „grep“ pavadinimo ženklas awk
„print $ 4“ rūšiuoti
Nukopijuokite aukščiau pateiktą sąrašą į įprastą tekstinį failą.
Atsarginė vieta
Nors atsitiktinai pasitraukė į „Citrix Xen“, pastebėjau, kad saugyklų saugyklos (SR) gali būti naudojamos pagal „/ var / run / sr-mount /% UUID%“, kur UUID yra unikalus SR, kuris gali būti gaunamas iš GUI.
Tai reiškia, kad mes galime naudoti įprastą „Next -> Next -> Finish“ vedlį, kad sukurtume laikiklį į norimą atsarginę vietą, o tada scenarijų naudokite tą kelią (kaip priskirtas pranešimams su komandine eilute). taip nėra šio vadovo taikymo srityje.
Norėdami sukurti naują „mount“, dešiniuoju pelės mygtuku spustelėkite serverio pavadinimą ir pasirinkite New SR.
Šiame pavyzdyje mes nurodysime „Xen“ į „Windows“ bendrinimą, todėl pasirinkite „Windows File Sharing (CIFS)“:
Atlikite Next -> Next -> Finish.
Gaukite SR UUID
Norėdami gauti SR UUID, tiesiog spustelėkite jo pavadinimą Xen centre ir eikite į skirtuką „Bendra“.
Jei norite nukopijuoti UUID, tiesiog dešiniuoju pelės klavišu spustelėkite jį pasirinkti „kopija“.
Naudodami šią informaciją, galite redaguoti nustatymų failą.
Konfigūruokite nustatymų failą.
„Xen-pocalypse“ projektas yra susietas su „nustatymų“ failo šablonu. Šis šablonas turėtų būti redaguojamas, kad atspindėtų jūsų sąranką ir būtų pateiktas kaip pirmasis scenarijaus argumentas. Nustatymų faile nurodoma:
Metodas norint gauti atsargines kopijas VM, - numatytasis metodas yra TAG. Galite tai pakeisti į FILE, tačiau tai nerekomenduojama.
Vieta atsarginės paskirties vietos - jei vadovavote šiuo tašku, jūs turite pakeisti% UUID% tik SR, kaip jis buvo gautas iš aukščiau.
SendEmail vieta - Jei pasirinkote įgalinti el. Paštą, turite įvesti čia, kur ištraukėte perl vykdomąjį failą.
El. Pašto informacija - Vėlgi, jei įgalinote el. Paštą, turite nustatyti tokias detales kaip: Į, Iš, Serverio vardas / IP ir kt..
Kompresija - Pagal numatytuosius nustatymus šis parametras yra „Ne“, nes jis leidžia sukurti mažesnį atsarginį failą, todėl atsarginė procedūra taip pat bus vykdoma daug ilgiau.
Patikrinkite, ar nėra laisvos vietos paskirties vietoje - scenarijus patikrins, ar „VM“ atsarginės kopijos sukūrimas nesukels atsarginės vietos laisvos vietos po 10GB. Tai daroma siekiant užtikrinti, kad didžioji dalis VM būtų paremta vietoj vieno labai didelio VM. Apskaičiavimas atliekamas naudojant bendrą visų su VM susijusių HD diskų dydį.
Derinimas - Numatyta, kad derinimas yra išjungtas reikšme „0“ (nulis). Jums nereikėtų to įjungti, tačiau, jei tai padarysite, trikčių šalinimo segmente yra daugiau informacijos.
Vykdymas / planavimas
Paprasčiausiai Xen-pocalypse prašymas atrodytų:
./Xen-backup.sh settings.cfg savaitės fri
Jei pirmiau minėtu atveju mes esame kataloge, kuriame yra scenarijus ir nustatymų failas. „Tag“, kurį ieškos scenarijus, yra „weekly-fri“.
Kaip minėta, mes naudosime Cron, kad suplanuotų vykdymą. Prieš mes einame į konfigūraciją labai rekomenduojama konfigūruoti jau įdiegtą SSMTP paketą „Xen“ serveryje. Nors tai yra neprivalomas žingsnis, tai duos jums nuplaukimo kolektorių. Tokio „atgalinio plovimo kolektoriaus“ gali įspėti apie tai, ką scenarijus negali.
Įvedę į „cron“ redagavimą, įdėkite:
crontab-e
Jei vadovavote aukščiau pateiktomis instrukcijomis ir norite pridėti suplanuotą atsarginę kopiją penktadieniui 18:01 (6:01 PM), įveskite toliau pateiktą informaciją:
01 18 * * fri /root/Xen-pocalypse-master/Xen_Backup.sh /root/Xen-pocalypse-master/settings.cfg savaitės fri
Aukščiau pateikta informacija yra teisinga, darant prielaidą, kad jūsų scenarijų ir nustatymų failas yra „/ root / Xen-pocalypse-master /“.
Problemų sprendimas
Nors aš daug pastangų įdėjau, kad scenarijus būtų paprastas naudoti ir kaip neįtikėtinas, „Pasaulis yra didesnis laboratorija“. Toliau pateikta informacija gali padėti jums išsiaiškinti, kas yra jūsų rūpesčių šaltinis.
Progresas
Galbūt norėsite, kad šis vienas įdėklas būtų greitai „stebimas“ visas vykdomas užduotis, norėdami pamatyti, ar jie iš tiesų vyksta, ar iš tikrųjų įstrigę.
o [-e / dev / null]; „VM“ atlikite „$ (xe užduočių sąrašas | grep uuid | awk 'print $ 5')“; do xe task-param-get param-name = pažanga uuid = $ VM, miego 1; padaryta; padaryta
Jei norite sustabdyti žiūrėjimą, naudokite Ctrl + C, kad sustabdytumėte „laiką“.
Registravimas
Visą „registravimą“ renka „Xen“ prieglobas, kuriame veikia scenarijus syslog mechanizme. Tai, žinoma, gali būti peržiūrėta:
mažiau + F / var / log / žinutės
Jūs ieškote raktinio žodžio „Xen-pocalypse“.
Pastaba: „Citrix“ nustatė dviejų (2) dienų saugojimo politiką savo serverių syslog. Galbūt norėsite tai nepamiršti po postūmių.
Derinimas
Kaip pažymėta parametrų rinkmenų segmente, yra direktyva, leidžianti derinti. Įjungus derinimą, scenarijus bus išvedamas verbaliniu būdu į konsolę ir kastruoti jį siunčiant el. Laiškus ir faktiškai vykdant eksportą, nebent taip pat būtų nustatytos atitinkamos vėliavos. Galimos vėliavos pažymėtos nustatymų failo šablone ir jos leidžia išsamiai apibrėžti, ką norite pašalinti.
Tikiuosi, kad jums nereikės jokių derinimo ir jūs gausite mano darbo vaisius :)
Traukulys, mano vyras, jūs ruošiatės tapti pirmuoju deceptikonu ...