Kaip atsarginę "Citrix Xen" VM atsarginę kopiją su "Xen-pocalypse" ("Bash")

Turinys:

Kaip atsarginę "Citrix Xen" VM atsarginę kopiją su "Xen-pocalypse" ("Bash")
Kaip atsarginę "Citrix Xen" VM atsarginę kopiją su "Xen-pocalypse" ("Bash")

Video: Kaip atsarginę "Citrix Xen" VM atsarginę kopiją su "Xen-pocalypse" ("Bash")

Video: Kaip atsarginę
Video: How To Fully Upgrade MacBook Pro 13" (2010, 2011, mid 2012) 1TB Samsung EVO 860. 16GB RAM - YouTube 2024, Balandis
Anonim
Ar kada nors reikėjo atsarginę kopiją savo "Citrix Xen Virtual Machines" (VM), bet nenorėjote banko nutraukti? HTG turi tik "bash" scenarijų jums su "Xen-pocalypse".
Ar kada nors reikėjo atsarginę kopiją savo "Citrix Xen Virtual Machines" (VM), bet nenorėjote banko nutraukti? HTG turi tik "bash" scenarijų jums su "Xen-pocalypse".

Paveikslėlis - h.koppdelaney, Įstrigo "Custom" ir "Hotfortech".

"Citrix Xen" yra vienas iš geriausių dalykų, nes daugelis jo funkcijų yra Laisvas mokestis. Tai sakydamas, jei norite "Automatinės VM apsaugos ir atkūrimo" funkcijos, turėtumėte pradėti mokėti už "Advance" licenciją. Net ir tuomet mokate tik už disko lygio atsargines kopijas, kurios nepakanka daugeliui darbo krūvio rūšių, pvz., "Active directory", "Duomenų bazės" ir kt. Norėdami įveikti tai, galbūt norėsite "Live memory snapshot and revert", kuris gali išsaugoti visą mašinos būsena, įskaitant RAM turinį. Tačiau ši funkcija yra "Enterprise" ir "Platinum" leidimų, kurie yra dar brangesni, dalis. Tai nėra tas, kad mes, HTG, atmetame tikros atsarginės programinės įrangos vertę, tačiau jei esate griežta biudžeto ir nesuprantate kai kurių atsarginių kopijų veikimo prastovų, Xen-pocalypse gali būti visiškai pagrįstas sprendimas prieš priimdami biudžetą.

Apžvalga

"Naudojimo atvejis": turite keletą VM, kuriems reikia atsarginės kopijos. "VM išjungimas ir eksportas kaip failas" iš "Xen Centro", naudojant dešininius spustelėjimus, gerai veikia, bet jūs norite, kad šis procesas vyktų automatiškai ir pagal tvarkaraštį. Šis Bash scenarijus naudoja komandą "XE", kad atliktų savo pareigas. XE yra "Xen" komandinės eilutės sąsaja (CLI), automatinis ekvivalentas "dešinių paspaudimų" išdavimui "Xen Centre". Mes paskambinsime Cron scenarijų, kuris pateiks "planavimo" dalį. Paprastesnėje formoje atsarginis srautas yra:

  • Išjunkite tikslinį VM.
  • Eksportuokite VM kaip failą atsarginei vietai.
  • Jei VM buvo įjungtas, prieš pradedant atsarginę kopiją jis bus grąžintas.

Lets get cracking:)

Gauk scenarijų

"Xen-pocalypse" galima laisvai gauti iš "github", naudojant įprastus git metodus. Tai sakydamas, jei dar nesate susipažinę su git, galite susikurti zip failą su šia nuoroda. Kadangi scenarijus turi būti paleistas viename iš jūsų "Xen" serverių, jį reikia išgauti taip, kad būtų išlaikyti vykdymo leidimai.

wget https://github.com/aviadra/Xen-pocalypse/archive/master.zip unzip master

Nors pirmiau minėti veiksmai veiks, rekomenduojama naudoti GIT metodą, kad galėtumėte pasinaudoti būsimais atnaujinimais.

Gauti "SendEmail" (neprivaloma)

Praeityje mes parašėme apie "SendEmail perl" programą, todėl čia nereikia pakartoti. Pakanka pasakyti, kad tai veikia taip pat ir "Linux", kaip ir "Windows".

Nors įgalinant el. Laišką neprivaloma, tai labai rekomenduojama, nes tada scenarijus galės:

  • Informuokite jus, kai jis bus pradėtas ir baigtas.
  • Praneša apie bet kokias klaidas, kurias ji galėjo aptikti ir tvarkyti.
  • Informuokite apie atsarginių teisių atėmimą dėl kosmoso problemų. (Šis elgesys gali būti išjungtas, jei neprireiks)

Atsisiųskite ją į "Xen" serverį ir išskleiskite.

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

Atkreipkite dėmesį į vietą, kurioje ją išvedėte. Jums tai reikės nustatymų rinkmenai.

Žymių apibrėžimas

"Citrix Xen" suteikia galimybę konfigūruoti "tinkintus laukus" filtruoti galimybes. Mes sukursime laukus ir užpildysime informaciją, kurią naudos Xen-pocalypse. "Xen-pocalypse" atpažįsta 3 valdymo gaires, kurios žymi atsarginės kopijos žymą ir tėvų pavadinimą - vaiko santykius. Jei nenorite naudoti failo įvesties metodo, PRIVALOTE sukurti bent atsarginės žymos pavadinimo lauką.

Norėdami tai padaryti, atidarykite serverio ar net VM savybes. Navigacijos srityje pasirinkite "Tinkinti laukai".

Jei tai yra pirmas kartas, kai nustatote santykius (kaip ir anksčiau pateiktame pavyzdyje), neturėsite jokių laukų, į kuriuos įvesite duomenis, todėl turite juos sukurti. Norėdami tai padaryti, spustelėkite "Redaguoti pasirinktinius laukus", kuris pasirodys dialogo lange, spustelėkite "Pridėti …"
Jei tai yra pirmas kartas, kai nustatote santykius (kaip ir anksčiau pateiktame pavyzdyje), neturėsite jokių laukų, į kuriuos įvesite duomenis, todėl turite juos sukurti. Norėdami tai padaryti, spustelėkite "Redaguoti pasirinktinius laukus", kuris pasirodys dialogo lange, spustelėkite "Pridėti …"
Sukurkite tris (3) "Teksto" tipo laukus. Vienas bus vadinamas "BackupTAG", o kiti - "Tėvas" ir "Vaikai".
Sukurkite tris (3) "Teksto" tipo laukus. Vienas bus vadinamas "BackupTAG", o kiti - "Tėvas" ir "Vaikai".

Pastaba: Pasirinktinių laukų pavadinimai buvo "kietu būdu užkoduoti" į scenarijų, taigi jūs neturite nukrypti nuo aukščiau esančio rašybos, nebent jūs pakeisite atitinkamą kodą.

Kai visi laukai sukurti, turėtumėte pamatyti:

Uždarykite langą. Dabar turėsite užpildyti laukus "BackupTAG", "Tėvystė" ir "Vaikai", kaip parodyta paveikslėlyje.
Uždarykite langą. Dabar turėsite užpildyti laukus "BackupTAG", "Tėvystė" ir "Vaikai", kaip parodyta paveikslėlyje.
Image
Image

Dabar viskas, ko jums reikia padaryti, yra nurodyti, kurie VM priklauso "BackupTAG". Pavyzdžiui, kompanijoje, kurioje scenarijus buvo auginamas, turėjome VM, kurie ketvirtadienį ir penktadienį turėjo būti saugomi kiekvieną savaitę, mūsų "Atlassian" produkto VM tvarkaraštis ir kai kurie, kurie turėjo būti atsarginę kopiją tik kas mėnesį. Taigi mūsų apžvalga atrodė taip:

Image
Image

Pavyzdžiui, "weekly-fri" buvo tekstas, kurį įvedėme į "BackupTAG" "Custom Field". Nejaugi tu?:)

Tėvai ir vaikai (neprivaloma)

Tikrasis šio scenarijaus grožis yra tas, kad palaiko "tėvų" "vaiko" santykius. Tai reiškia, kad yra galimybė nustatyti "vaiko" VM sąrašą, kuris būtų išjungtas ir paremtas prieš pat tėvą, ir kad šie vaikai bus grąžinami tik tada, kai tėvas baigs atsarginę kopiją ir bus grąžintas atgal onTai naudinga tais atvejais, kai išjungus tėvų VM paslaugas vaikas taptų nepasiekiamas. Toks dalykas reikštų, kad paslauga vaiko VM nebus pasiekiama du kartus, vieną kartą vaiko atsarginės kopijos procesui ir vieną kartą tėvams. Šių santykių kūrimas įveikia šią problemą.

Pavyzdžiui, visi mūsų "Atlassian" VM naudojo vieną duomenų bazės (DB) VM, kuri taip pat buvo sukurta atsargine kopija. Taigi, pažymėdama, kad DB VM yra "Patronuojantis" su kitais VM, galima užtikrinti tinkamą išjungimo -> atsarginės kopijos -> paleidimo tvarką.

Šio rašymo metu ši funkcija turi kelis įspėjimus:

  1. VM pavadinimuose, kuriuose turi būti tokie santykiai, negali būti tarpų. Turėsite pašalinti tarpus iš savo VM vardų, nes jie bus išdėstyti erdvėje, kaip nurodyta toliau pateiktame pavyzdyje.
  2. Gali būti tik vienas iš tėvų. Nurodant daugiau nei vieną net nėra planuojamas, jau nekalbant apie išbandytą.

Norėdami sukurti šį ryšį, eikite į VM savybes. Jei tai yra "tėvas", rašykite, kas yra jo vaikai ir ar tai yra "vaikas", rašykite, kas jo tėvas yra. Pavyzdžiui:

Pastaba: vaikui nenustatant tėvų, vaikas gali būti paleistas, kol jo tėvas pasiruošęs, ir gali sukelti jo dubliavimą du kartus.
Pastaba: vaikui nenustatant tėvų, vaikas gali būti paleistas, kol jo tėvas pasiruošęs, ir gali sukelti jo dubliavimą du kartus.

FILE metodas (neprivaloma)

Dėl istorinių priežasčių "Xen-pocalypse" taip pat palaiko, kad būtų galima susieti VM sąrašą kaip teksto failą. Nors "kodas" vis dar ten, funkcijos yra gerokai mažesnės nei TAG metodas, todėl nerekomenduojama. Tai sakydamas, jei dėl kokių nors priežasčių norite naudoti sąrašo metodą, taikomi šie apribojimai:

  1. VM pavadinimuose negali būti jokių tarpų ar specialių simbolių.
  2. Kiekvienoje eilutėje gali būti tik vienas VM vardas.
  3. Tuščios eilutės neleidžiamos.

Norėdami generuoti sąrašą, nukopijuokite VM vardą iš "Xen" centro arba vykdykite "Xen" kompiuteriu:

xe vm-list | grep name-label | awk

'{ print $4 }' | sort

Kopijuokite aukščiau esantį sąrašą į įprastą teksto failą.

Atsarginės vietos

Nors atsitiktinai bandydavau "Citrix Xen", radau, kad "/ var / run / sr-mount /% UUID%" yra saugyklų saugyklos (SR), kuriose UUID yra unikalus SR identifikatorius, kuris gali būti gaunamas iš GUI.

Tai reiškia, kad mes galime naudoti įprastą vediklį "Kitas -> Kitas -> Baigti", kad sukurtumėte norimą atsarginę kopiją, tada scenarijų naudodamiesi šia taktika (kaip numatyta, kad pakliuvom su montavimo iš komandinės eilutės), bet atlikite todėl šis vadovas nėra taikomas.

Norėdami sukurti naują "mount", dešiniuoju pelės mygtuku spustelėkite serverio pavadinimą ir pasirinkite New SR.

Šiame pavyzdyje mes nurodysime "Xen" į "Windows" paskyrą, todėl pasirinkite "Windows File Sharing (CIFS)":
Šiame pavyzdyje mes nurodysime "Xen" į "Windows" paskyrą, todėl pasirinkite "Windows File Sharing (CIFS)":
Užpildykite Kitas -> Kitas -> Baigti.
Užpildykite Kitas -> Kitas -> Baigti.

Gaukite "SR" UUID

Norint gauti SR UID, tiesiog spustelėkite jo pavadinimą Xen centre ir eikite į skirtuką "Bendra".

Norėdami kopijuoti UUID, tiesiog spustelėkite jį dešiniuoju pelės klavišu ir pasirinkite "copy".
Norėdami kopijuoti UUID, tiesiog spustelėkite jį dešiniuoju pelės klavišu ir pasirinkite "copy".
Esant šiai informacijai esate pasiruošę redaguoti nustatymų rinkmeną.
Esant šiai informacijai esate pasiruošę redaguoti nustatymų rinkmeną.

Konfigūruoti "Nustatymų" failą.

"Xen-pocalypse" projektas pateikiamas kartu su "parametrų" failo šablonu. Šis šablonas turėtų būti redaguojamas, kad atitiktų jūsų nustatymus ir pateiktas kaip pirmasis scenarijaus argumentas. Nustatymų rinkmenoje nurodoma:

Metodas norint gauti atsargines VM - numatytasis metodas yra TAG. Galite pakeisti į FILE, tačiau tai nerekomenduojama.

Vieta atsarginės paskirties vietos. Jei laikotės šio punkto vadovo, turite tik pakeisti% UUID% SR, nes jis buvo gautas iš viršaus.

"SendEmail" buvimo vieta - Jei nusprendėte įjungti el. Pašto adresą, turite įvesti čia išplėstą perl vykdomąjį failą.

Išsami el. Pašto informacija -Vėlgi, jei įgalinote el. Paštą, turite nurodyti tokias detales kaip: Nuo, Nuo, Serverio vardas / IP ir tt.

Suspaudimas - Numatyta, kad jis yra "Ne", nes, leidžiant tai, bus sukurtas mažesnis atsarginės kopijos failas, dėl to atsarginės kopijos apdorojimas taip pat gali užtrukti žymiai ilgiau.

Patikrinkite laisvą erdvę paskirties vietoje. Tai turės scenarijaus patikrinimą, ar VM atsarginė kopija nepadarys atsarginės vietos laisvos vietos, kad sumažėtų iki 10 GB. Tai padaryta siekiant užtikrinti, kad dauguma VM būtų paremti vietoj tik vieno labai didelio VM. Apskaičiuojama naudojant bendrą visų disko dydžių, susietų su VM, bendras disko dydis.

Derinimas - Numatyta, kad derinimas būtų išjungtas, kai vertė "0" (nulis). Jums nereikės tai įjungti, bet jei tai padarysite, trikčių šalinimo skyriuje bus pateikta daugiau informacijos.

Vykdymas / planavimas

Paprasčiausiai Xen-pocalypse paskambinimas atrodytų taip:

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

Kai aukščiau esančiame pavyzdyje esame kataloge, kuriame yra scenarijaus ir nustatymų failo. "Žyma", kurį ieškos scenarijus, yra "weekly-fri".

Kaip minėta pirmiau, naudosime "Cron", kad planuotume vykdymą. Prieš eidami į konfigūraciją, tai yra labai rekomenduojama kad jau sukonfigūruotumėte jau įdiegtą SSMTP paketą savo "Xen" serveryje. Nors tai yra neprivalomas žingsnis, atliekant tai jums suteiks atbulinės eigos kolektoriaus. Turėdami tokį "atgal skalavimo kolektorių", galite įspėti apie dalykus, kurių scenarijus negali.

Įeikite į "cron" redagavimą, išleidžiant:

crontab -e

Jei atlikote anksčiau pateiktas instrukcijas ir norite pridėti suplanuotą atsarginę kopiją penktadienį 18:01 (18:01), įveskite žemiau pateiktą informaciją:

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

Tai yra teisinga, darant prielaidą, kad jūsų scenarijus ir nustatymų failas yra abiejose "/ root / Xen-pocalypse-master /".

Problemų sprendimas

Nors dedu daug pastangų, kad scenarijus taptų lengvas ir kuo lengvesnis, "pasaulis yra didesnė laboratorija". Žemiau pateikta informacija gali padėti jums išsiaiškinti, kas yra jūsų bėdų šaltinis.

Progresas

Galbūt norėsite pasinaudoti šia linijine linija, kad galėtumėte greitai "stebėti" visas užduotis, kurios daromos, ar jos apskritai iš tiesų pasiekia pažangą, ar jos iš tikrųjų yra įstrigę.

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

Norėdami nustoti žiūrėti, naudokite Ctrl + C, kad stabdytumėte "while loop".

Miško kirtimas

Visą "registravimą" surenka "Xen" kompiuteris, kuriame veikia scenarijus syslog mechanizme. Tai, žinoma, gali būti žiūrima:

less +F /var/log/messages

Jūs ieškote raktinio žodžio "Xen-pocalypse".

Pastaba: "Citrix" nustatė dviejų (2) dienų išlaikymo politiką savo serverių syslog. Galbūt norėsite to nepamiršti dėl pasninko.

Derinimas

Kaip nurodyta parametrų rinkmenų segmente, yra nustatyta direktyva, kuri įgalina derinimą. Įjungus derinimą, scenarijus išverstų išsamią prisijungimą prie konsolės ir kastruotų jį nuo el. Laiškų siuntimo ir faktinio eksporto vykdymo, nebent būtų nustatytos atitinkamos vėliavos. Galimos vėliavos yra pažymėtos nustatymų failo šablone ir leidžia išsamiai apibrėžti, ką norite ištaisyti.

Tikiuosi, kad jums nereikėjo jokių derinimo ir jūs naudojate mano darbo vaisius:)

Trauka, mano vyrukas, tu būsi tapti depektinu pirmojo numerio …

Rekomenduojamas: