Kuidas Citrix Xeni VM-sid varundada tasuta Xen-pokalüpsisega (Bash)

Sisukord:

Kuidas Citrix Xeni VM-sid varundada tasuta Xen-pokalüpsisega (Bash)
Kuidas Citrix Xeni VM-sid varundada tasuta Xen-pokalüpsisega (Bash)

Video: Kuidas Citrix Xeni VM-sid varundada tasuta Xen-pokalüpsisega (Bash)

Video: Kuidas Citrix Xeni VM-sid varundada tasuta Xen-pokalüpsisega (Bash)
Video: Section 8 - YouTube 2024, Aprill
Anonim
Kas teil on kunagi vaja oma Citrix Xen Virtual Machinesi (VM) varundada, kuid ei soovinud pank seda teha? HTG-l on lihtsalt XSEN-pocalypse jaoks bash-skript.
Kas teil on kunagi vaja oma Citrix Xen Virtual Machinesi (VM) varundada, kuid ei soovinud pank seda teha? HTG-l on lihtsalt XSEN-pocalypse jaoks bash-skript.

Pilt h.koppdelaney'ist, ummikus kohandatud ja Hotfortech'is.

Citrix Xenis on üks mõnusaid asju selles, et paljud selle omadused on tasuta tasu eest. Sellega seoses peate hakkama "Advance" litsentsi eest tasuma, kui soovite funktsiooni "Automaatne VM-i kaitse ja taastamine". Isegi siis maksate ainult ketta tasemel varukoopiaid, mis ei ole piisavad paljude töökoormuse liikide jaoks nagu Active Directory, Databases & Etc. Selle ületamiseks võite soovida "Live mälupilti pilti ja pöörduda tagasi", mis võib kogu masina olek, sealhulgas RAM-i sisu. Kuid see funktsioon on osa "Enterprise" ja "Platinum" väljaannetest, mis on veelgi kallimad. See ei tähenda seda, et me HTG-s loobuksime tegelikust varundustarkvara väärtusest, kuid kui teil on väike eelarve ja ärge pange tähele, et Xen-pocalypse oleks täiesti mõistlik lahendus enne eelarvelise kulukohustuse tegemist.

Ülevaade

Kasutusviis: teil on paar VM-d, mis vajavad varundamist. Paremklõpsude abil "Xen Centre" "VM-i väljalülitamine ja selle failina eksportimine" töötab hästi, kuid soovite, et see protsess toimuks automaatselt ja ajakava järgi. See Bashi skript kasutab oma ülesannete täitmiseks käsku "XE". XE on Xen-käsurea liides (CLI), mis vastab Xen Centeri õigete klikkide väljastamise automaatsele ekvivalendile. Me kutsume Croni skripti, mis annab "ajakava" osa. Oma lihtsas vormis varuvood on:

  • Lülitage sihtmärk VM välja.
  • Ekspordi VM failina varundamispiirkonda.
  • Kui VM oli sisse lülitatud, siis enne varukoopia alustamist, lülitatakse see uuesti sisse.

Võimaldab murda:)

Saada skript

Xen-pokalüpsi saab githubist vabalt saada, kasutades regulaarseid git-meetodeid. Sellega seoses võite hankida zip-faili selle lingi abil, kui te pole veel git'i tundma õppinud. Kuna skript peab käivituma mõnes Xen-serveris, peaksite selle välja võtma, nii et täitmisõigused oleksid säilitatud.

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

Kuigi eelpoolmainitud töö peaks toimima, soovitatakse teil kasutada GIT-meetodit, et saaksite tulevasi värskendusi saada.

Saada Saada (valikuline)

Oleme kirjutanud minevikus SendEmail perli-programmi kohta, seega pole siin vaja uuesti korrata. Piisab öelda, et see toimib Linuxis samamoodi nagu Windowsis.

Kuigi e-posti lubamine on vabatahtlik, on see väga soovitatav, sest siis saab skript:

  • Teid teavitatakse, kui see algas ja lõppes tööle.
  • Teatage teile mis tahes viga, mida ta suutis tuvastada ja käidelda.
  • Teave varukoopiate tühistamise kohta kosmoseprobleemide tõttu. (Seda käitumist saab keelata, kui seda ei soovita)

Laadige see Xen serverisse ja ekstrakti.

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

Pange tähele asukohta, kuhu sa selle välja saatsid. Te vajate seda seadistuste faili jaoks.

Märksõnade määratlemine

Citrix Xen annab sulle võimaluse filtrivõimaluste jaoks seadistada "kohandatud väljad". Loome väljad ja asetage need Xen-pocalypse'i kasutatavale teabele. Xen-pocalypse tuvastab 3 kontrolltogi, mis tähistavad varundamise märgendi nime ja lapse suhete vanemat. Kui te ei soovi failide sisestamise meetodit kasutada, peate MUST moodustama vähemalt varukoopia sildi nime väli.

Selleks avage serveri või isegi VM-i omadused. Valige navigeerimispaanil "Kohandatud väljad".

Kui see on suhte määratlemine esmakordselt (nagu ülaltoodud näites), pole teil mingeid väljadeid andmete sisestamiseks, nii et peate need looma. Selleks klõpsake dialoogiboksis "Muuda kohandatud välju", klõpsake "Lisa …"
Kui see on suhte määratlemine esmakordselt (nagu ülaltoodud näites), pole teil mingeid väljadeid andmete sisestamiseks, nii et peate need looma. Selleks klõpsake dialoogiboksis "Muuda kohandatud välju", klõpsake "Lisa …"
Loo kolm (3) "teksti" tüüpi välju. Üks neist nimetatakse "BackupTAG" ja teised "Vanemad" ja "Lapsed".
Loo kolm (3) "teksti" tüüpi välju. Üks neist nimetatakse "BackupTAG" ja teised "Vanemad" ja "Lapsed".

Märge: Kohandatud väljade nimed on skriptis "raskesti kodeeritud", nii et sa ei tohi kõrvale kalduda ülaltoodud õigekirjast, kui sa ei muuda ka vastavat koodi.

Kui kõik väljad on loodud, peaksite nägema järgmist:

Sulge aken. Nüüd peaksite täitma väljad "BackupTAG", "Parent" ja "Children", nagu allpool toodud pildil.
Sulge aken. Nüüd peaksite täitma väljad "BackupTAG", "Parent" ja "Children", nagu allpool toodud pildil.
Image
Image

Nüüd peate ainult määrama, millised VMd kuuluvad "BackupTAG-i". Näiteks firmas, kus skripti kasvatatakse, oli meil VM-id, mida peaks kord nädalas neljapäeval ja reedel tagama, meie Atlassiani toodete VM-ide ajakava ja mõned, mida tuleks varundada ainult igakuiselt. Nii et meie ülevaade tundus:

Image
Image

Kui näiteks "weekly-fri" oli tekst, mille oleme sisestanud "BackupTAG" "kohandatud väljale". Vői ah?:)

Vanemad ja lapsed (valikuline)

Selle skripti tõeline ilu on see, et see toetab "lapse" suhete vanemat. See tähendab, et on võimalik määrata "lapse" VM-i loendit, mis oleks vanemate ees välja lülitatud ja varundatud, ja et neid lapsi saab tagasi ainult siis, kui vanem on varundamise lõpetanud ja on tagasi pöördunud onSee on kasulik juhtudel, kui vanema VM väljalülitamine muudab lapse teenistuse kättesaamatuks. Selline asi tähendaks, et lapse VM-i teenus oleks kättesaamatu kaks korda, üks kord lapse varundamisprotsessi jaoks ja üks kord vanemate jaoks. Selle suhte loomine lahendab selle probleemi.

Näiteks kasutasime kõiki meie Atlassiani VM-sid üheainsa andmebaasi (DB) VM-i, mis oli ka varundatud. Nii märkides, et DB VM on teiste VM-ide "Vanematega", on tagatud õige sulgemine -> varukoopia -> käivitamine.

Selle kirjutamise ajal on sellel funktsioonil paar hoiatust:

  1. VM-de nimed, millel on selline seos, ei tohi sisaldada tühikuid. Peate VM-ide nimesid tühistama, kuna need on ruumi piiritletud, nagu allpool toodud näites.
  2. Võib olla ainult üks vanem. Mitut mudelit pole isegi planeeritud, rääkimata sellest, mida testiti.

Selle suhte loomiseks minge VM-i atribuutide juurde. Kui see on "vanem", kirjutage, kes on tema lapsed ja kui see on "laps", siis kirjutage, kes on tema vanem. Näiteks:

Märkus. Vanema määramine lapsele ei pruugi põhjustada lapse käivitamist enne, kui vanem on valmis, ja võib põhjustada selle varundamist kaks korda.
Märkus. Vanema määramine lapsele ei pruugi põhjustada lapse käivitamist enne, kui vanem on valmis, ja võib põhjustada selle varundamist kaks korda.

Fail FILE (valikuline)

Ajaloolistel põhjustel toetab Xen-pocalypse ka tekstiväljundina varundatud versioonide loendi saamist. Kuigi "kood" on ikka seal, on funktsioonid TAG-ide meetodist oluliselt madalamad ja seetõttu ei ole see soovitatav. Sellega seoses öeldakse, et kui eelistate mingil põhjusel nimekirja meetodit kasutada, kehtivad järgmised piirangud:

  1. VM-ide nimed ei tohi sisaldada tühikuid ega erimärke.
  2. Rida võib olla ainult üks VM-i nimi.
  3. Tühjad read ei ole lubatud.

Loendi loomiseks kopeerige VM-i nimi Xen-keskusest või käivitage Xen-host:

xe vm-list | grep name-label | awk

'{ print $4 }' | sort

Kopeerige ülaltoodud nimekiri tavapäraseks tekstifailiks.

Varunduse asukoht

Kuigi Citrix Xenis juhuslikult pingutati, leidsin, et hoidmishoidlate (SR) on saadaval "/ var / run / sr-mount /% UUID%", kus UUID on SR-i unikaalne tunnus, mida saab saadud GUI-st.

See tähendab, et soovitud varukoopia loomiseks saab kasutada regulaarset "Next -> Next -> Finish" viisardit ja seejärel kasutada skripti sellel saidil (nagu käsureal paigaldamisel), kuid tehes seda nii on see juhendi ulatus.

Uue "mount" loomiseks paremklõpsake serveri nime ja valige Uus SR.

Selles näites viime Xen'i aknapartiisse ja valige "Windowsi failide jagamine (CIFS)":
Selles näites viime Xen'i aknapartiisse ja valige "Windowsi failide jagamine (CIFS)":
Täitke Järgmine -> Järgmine -> Lõpeta.
Täitke Järgmine -> Järgmine -> Lõpeta.

Saada SR UUID

SR-i UUID-i saamiseks klõpsake lihtsalt oma nime Xen Centeris ja minge vahekaardile "Üldine".

UUID-i kopeerimiseks klõpsake lihtsalt seda paremklõpsu valides "kopeeri".
UUID-i kopeerimiseks klõpsake lihtsalt seda paremklõpsu valides "kopeeri".
Selle teabega olete valmis muutma seadete faili.
Selle teabega olete valmis muutma seadete faili.

Seadete faili seadistamine.

Xen-pocalypse projekt on komplekteeritud "seadistuste" failimalli abil. Seda malli tuleks muuta, et see kajastaks teie seadistust ja edastataks skripti esimese argumendina. Seadete fail tähistab järgmist:

Meetod varundatavate VM-ide saamiseks - vaikemoodus on TAG-id. Võite seda muuta FILE-le, kuid seda ei soovitata.

Asukoht backup sihtkohta - kui olete järginud selle punkti juhendit, peate ainult% UUID% asendama SR-ga, kuna see oli ülaltoodud.

SendEmaili asukoht - Kui olete valinud e-posti lubamise, peate sisestama selle, kus olete perl-i täitmisfaili välja võtnud siin.

E-posti andmed -Jällegi, kui olete e-posti lubanud, peate määratlema sellised üksikasjad nagu: et, alates, serveri nimi / IP & jne.

Kompressioon - vaikimisi on see seadistatud "Ei", sest selle lubamisel annab see väiksema varukoopiafaili, põhjustab see ka varukoopia protseduuri märkimisväärselt pikema aja vältel.

Kontrollige vaba ruumi Sihtkoht - skripti kontrollitakse, kas VM-i varukoopia tegemine ei põhjusta varukoopia asukoha vaba ruumi langemist alla 10 GB. Seda tehakse selleks, et tagada, et kõige suurema hulga VM-id on tagatud ainult ühe väga suure VM-i asemel. Arvutamine toimub, kasutades kogu VM-iga seotud HD-de suurust.

Silumine - Vaikimisi on silumine välja lülitatud väärtusega "0" (null). Teil ei tohiks seda sisse lülitada, kuid kui teete, märgitakse tõrkeotsingu segmendis lisateavet.

Täitmine / planeerimine

Kõige lihtsamal kujul näeb Xen-pocalypse väljakutse välja nagu:

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

Kui ülaltoodud juhul oleme skripti ja seadete faili hoiuses olevas kataloogis. Stsenaarium "Tag", mida otsitakse, on "weekly-fri".

Nagu eespool märgitud, kasutame Croni täitmise ajakava. Enne konfiguratsioonile minekut on see väga soovitatav et olete oma Xen-serveris seadistanud juba installitud SSMTP-paketi. Kuigi see on valikuline samm, teeb see teile tagasiulatuva kollektsiooni. Sellise "backwash kollektsiooni" olemasolu korral võib teid teavitada asjadest, mida skript ei suuda.

Sisestage croni redigeerimisesse rohkem, andes välja:

crontab -e

Kui olete järginud ülaltoodud juhiseid ja soovite reedele kell 18:01 (06:01) lisada režiimi varukoopia, sisestage allpool:

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

Ülaltoodud on õige eeldades, et teie skript ja seadete fail on mõlemad all "/ root / Xen-pocalypse-master /".

Tõrkeotsing

Kuigi ma olen teinud palju pingutusi, et muuta skript nii lihtne kasutada kui võimalikult lollakas, "Maailm on suurem lab". Allpool esitatud teave võib aidata teil kindlaks teha, mis on teie probleemide allikas.

Edusammud

Võib-olla soovite kasutada seda üks lainereid, et kiiresti "vaadata" kõiki käimasolevaid ülesandeid, et näha, kas nad tegelikult üldse edenevad või on need tegelikult kinni jäänud.

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

Et peatada vaatamist, kasutage kiirklahvi "while loop" pidurdamiseks Ctrl + C.

Logimine

Kogu "logimine" kogub Xen host, kes käitab syslog mehhanismi skripti. Seda muidugi saab vaadata:

less +F /var/log/messages

Otsite märksõna "Xen-pocalypse".

Märkus. Citrix on määranud oma serverite syslogi jaoks kaks (2) päeva säilitamise poliitikat. Võite seda meeles pidada postmortemide puhul.

Silumine

Nagu seadefailide segmendis märgitud, on olemas säte, mis võimaldab silumist. Silumise lubamine paneb skripti konsoolile verbaalse logimise väljastama ja kastreerib seda e-kirjade saatmisest ja ekspordi tegemisest, kui pole määratud ka vastavaid lippe. Võimalikud lipud on märgitud seadete faili mallis ja need võimaldavad teil täpselt määratleda, mida soovite siluda.

Loodan, et te ei ole vaja mingeid silumisi ja kasutate oma töö vilju:)

Tõmme, mu mees, sa oled hakanud number üheks petlikoniks …

Soovitan: