Kuidas varundada Citrix Xen VM-e tasuta Xen-pocalypse'ga (Bash)
Kas olete kunagi pidanud oma Citrix Xen Virtual Machines'i (VM) varukoopiaid varundama, kuid ei tahtnud seda teha? HTG-l on just sinu jaoks XH-pocalypse'iga bash-skript.
Pilt on h.koppdelaney, Stuck in Custom ja Hotfortech.
Üks ilusaid asju Citrix Xenis on see, et paljud selle omadused on tasuta tasuta. Sellega öeldes, kui soovite funktsiooni „Automaatne VM-i kaitse ja taastamine”, peate hakkama maksma “Advance” litsentsi eest. Isegi siis maksate ainult kettataseme varukoopiate eest, mis ei ole piisavad paljude töökoormuste jaoks, näiteks Active Directory, Databases & Jt. Selle ületamiseks võite soovida „Live mälu hetktõmmist ja tagasipöördumist”, mis võib salvestada kogu masina olek, sealhulgas RAM sisu. Kuid see funktsioon on osa “Enterprise” ja “Platinum” väljaannetest, mis on veelgi kallimad. See ei ole see, et me HTG-l lükkame tagasi tõelise varundustarkvara väärtuse, kuid kui teil on pingeline eelarve ja te ei mäleta varuoperatsiooni mõnda seisakut, võite leida Xen-pocalypse'i täiesti mõistlikuks lahenduseks enne eelarvelise kulukohustuse võtmist.
Ülevaade
„Kasutusjuht”: teil on paar VM-i, mis vajavad varundamist. „X-keskuse“ VM-i väljalülitamine ja selle eksportimine failina ”, kasutades paremaid klikke, toimib hästi, kuid soovite, et see protsess toimuks automaatselt ja ajakava järgi. See Bash-skript kasutab oma ülesannete täitmiseks käsku „XE”. XE on Xeni käsurealiides (CLI), automaatne ekvivalent „õige klõpsude” väljastamiseks „Xen Centeris”. Me helistame skripti Cronilt, mis varustab "sõiduplaani" osa. Kõige lihtsamal kujul on varundusvoog:
- Lülitage sihtmärk VM välja.
- Ekspordi VM failina varukoopia asukohta.
- Kui VM on sisse lülitatud, lülitatakse see enne varukoopia käivitamist uuesti sisse.
Võimaldab lõheneda :)
Hankige skript
Xen-pocalypse saab githubist vabalt saada, kasutades tavapäraseid git-meetodeid. Sellega öeldes, kui sa pole veel kogenud giti, saate selle lingi abil zip-faili haarata. Kuna skript peab töötama ühel teie Xen serverist, peaksite selle seal välja võtma, et teostusõigused oleksid säilinud.
wget https://github.com/aviadra/Xen-pocalypse/archive/master.zip
unzip master
Kuigi ülaltoodud toimib, on soovitatav kasutada GIT-meetodit, et saaksite tulevastest uuendustest kasu saada.
Saada SendEmail (valikuline)
Oleme minevikus kirjutanud SendEmaili perl programmi kohta, mistõttu siin pole vaja korrata. Piisab, kui öelda, et see toimib Linuxis samamoodi nagu Windowsis.
Kuigi e-posti lubamine on vabatahtlik, on see väga soovitatav, sest siis saab skript:
- Teavitage teid, kui ta alustas ja lõpetas töötamise.
- Hoiatage teid võimalike vigade eest, mida ta suutis avastada ja käidelda.
- Informeerige kosmoseküsimuste tõttu varukoopiate äravõtmist. (Seda käitumist saab soovi korral keelata)
Laadige see alla Xen serverisse ja ekstrakti.
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
tar xvzhf sendEmail-v1.56.tar.gz
Pange tähele asukohta, kuhu see välja tõmmatakse. Te vajate seda seadete faili jaoks.
Märgiste määratlemine
Citrix Xen annab teile võimaluse seadistada filtreerimisvõimaluste jaoks „Kohandatud väljad”. Me loome väljad ja seejärel täidame need Xen-pocalypse'i kasutatava teabega. Xen-pocalypse tunneb ära 3 kontroll-TAG-i, mis tähistavad tagatise märgise nime ja vanemate vahelisi suhteid. Kui te ei kavatse kasutada failisisestusmeetodit, peate looma vähemalt varukoopia märgi välja.
Selleks avage serveri või isegi VM-i omadused. Valige navigeerimispaanil „Kohandatud väljad“.
Kui see on esimene kord, kui defineerite suhet (nagu ülaltoodud näites), ei ole teil mingeid välju andmete sisestamiseks, nii et peate neid looma. Selleks klõpsa avanevas dialoogiboksis „Muuda kohandatud väljad“, klõpsake „Lisa…“
Looge kolm (3) teksti tüüpi väljad. Üks nimetatakse "BackupTAG" ja teised "Vanem" ja "Lapsed".
Märge: Kohandatud väljade nimed on skripti "kodeeritud", nii et te ei tohi eelpool mainitud õigekirjast kõrvale kalduda, kui te ei muuda ka vastavat koodi.
Kui kõik väljad on loodud, peaksite nägema:
Sulge aken. Nüüd peaksite täitma „BackupTAG”, „Parent” ja „Children” väljad, nagu allpool olevas pildis.
Nüüd peate määrama, millised VMid kuuluvad „BackupTAG”.
Näiteks ettevõttes, kus skripti kasvatati, oli meil VM-id, mida pidi iganädalaselt tagama neljapäeval ja reedel, ajakava meie Atlassian toote VM-idele ja mõnedele, mida pidi varundama ainult kord kuus. Seega näis meie ülevaade:
Kui näiteks “nädalas-fri” oli tekst, mille me sisestasime „BackupTAG“ “Custom Field”. Olgu? :)
Vanemad ja lapsed (valikuline)
Selle skripti tõeline ilu on see, et see toetab “vanemat” „suheteks”. See tähendab, et on võimalik seada nimekiri „lapse” VM-idest, mis oleks vanemate ees välja lülitatud ja varundatud ning et need lapsed lülitatakse tagasi ainult siis, kui vanem on varukoopia lõpetanud ja tagasi pöördunud edasi. See on kasulik juhul, kui vanema VM väljalülitamine põhjustab lapse teenuse puudumise. Selline asi tähendaks, et teenus lapsele VM ei oleks kaks korda kättesaadav, üks kord lapse varundamise protsessis ja üks kord vanema jaoks. Selle suhte loomine ületab selle probleemi.
Näiteks kasutasime kõiki meie Atlassian VM-e üheainsa DataBase (DB) VM-i, mis oli samuti varundatud. Seega, märkides, et DB VM on teiste VM-ide jaoks "vanem", on võimalik tagada õige sulgemiskord -> backup -> käivitamine..
Selle kirjutamise ajal on sellel funktsioonil paar hoiatust:
- VM-ide nimed, millel on selline suhe, ei tohi sisaldada tühikuid. Peate oma VM-i nimedelt tühikud eemaldama, sest need on ruumi piiritletud, nagu allpool toodud näites.
- Seal võib olla ainult üks vanem. Rohkem kui ühe määramine pole isegi planeeritud, rääkimata testitud.
Selle suhte loomiseks minge VM-i omadustesse. Kui see on „lapsevanem”, kirjutage, kes on tema lapsed, ja kui see on “laps”, kirjutage, kes on tema lapsevanem. Näiteks:
Märkus: lapsevanema määramine lapsele võib põhjustada lapse käivitamise enne, kui tema vanem on valmis ja võib selle kaks korda varundada.
FILE meetod (valikuline)
Ajaloolistel põhjustel toetab Xen-pocalypse ka VM-ide loendit tekstifailina. Kuigi kood on endiselt olemas, on funktsionaalsus oluliselt halvem kui TAG-i meetod ja seetõttu ei ole see soovitatav. Sellega öeldes, kui soovite mingil põhjusel kasutada loendimeetodit, kehtivad järgmised piirangud:
- VM-ide nimed ei tohi sisaldada tühikuid ega erimärke.
- Iga rida kohta võib olla ainult üks VM-nimi.
- Tühjad read ei ole lubatud.
Loendi koostamiseks kopeerige VM-i nimi Xen-keskusest või käivitage Xen-i hostil:
xe vm-list | grepi nimemärgis awk
'print $ 4' | sorteeri
Kopeerige ülaltoodud loend tavalisse tekstifaili.
Varukoopia asukoht
Kuigi ma olen Citrix Xenis juhuslikult ümber löödud, olen leidnud, et Storage Repositories (SRs) on kasutatavad “/ var / run / sr-mount /% UUID%” all, kus UUID on SR unikaalne identifikaator, mis võib olla saadud GUI-lt.
See tähendab, et me saame kasutada tavalist "Next -> Next -> Finish" viisardit, et luua mount soovitud varukoopia asukohta, ning seejärel kasutage skripti selle tee kasutamisel (nagu see on lisatud käsurealt paigaldamiseks). nii on see käesoleva juhendi reguleerimisalast väljapoole.
Uue "mount" loomiseks paremklõpsake serveri nime ja valige New SR.
Selles näites suuname Xeni Windowsi ühiskasutusse, seega valige „Windows File Sharing (CIFS)”:
Täitke Next -> Next -> Finish.
Hankige SR UUID
SR-i UUID-i saamiseks klõpsake lihtsalt selle nime Xen Centeris ja minge vahekaardile “General”.
UUID-i kopeerimiseks klõpsa lihtsalt hiire parema nupuga vali.
Kättesaadava teabe abil saate seadete faili redigeerida.
Seadistuste faili konfigureerimine.
Xen-pocalypse projekt on kaasas failimallikohaga „seaded”. Seda malli tuleb redigeerida, et see kajastaks teie seadistust ja edastaks skripti esimese argumendina. Seadistuste fail tähistab järgmist:
Meetod varundatavate VM-ide saamiseks - vaikimisi kasutatav meetod on TAG-id. Te võite seda muuta faili FILE, kuid see ei ole soovitatav.
Asukoht - kui olete järginud juhendit sellele punktile, peate% UUID% asendama ainult SR-idega, nagu see ülalpool saadud.
SendEmaili asukoht - Kui olete valinud e-posti lubamise, peate sisestama siit, kust olete perl-i käivitatava.
E-posti andmed - Jällegi, kui olete e-posti lubanud, peate määratlema sellised üksikasjad nagu: To, From, Servername / IP & etc '.
Tihendamine - Vaikimisi on see seatud väärtusele „Ei”, kuna samal ajal võimaldab see luua väiksema varufaili, põhjustab see ka varukoopia töötamise tunduvalt kauem aega.
Kontrollige vaba ruumi sihtpunktis - skript kontrollib, kas VM-i varukoopia tegemine ei põhjusta varukoopia vaba ruumi 10GB alla. Seda tehakse tagamaks, et kõige rohkem VM-e toetatakse vaid ühe väga suure VM-i asemel. Arvutamisel kasutatakse kõigi VM-iga seotud HD-ide kogumahu.
Silumine - Vaikimisi on debugimine välja lülitatud väärtusega “0” (null). Te ei peaks seda sisse lülitama, kuid kui seda teete, märgitakse tõrkeotsingu segmendis rohkem teavet.
Täitmine / ajastamine
Kõige lihtsamal kujul näib Xen-pocalypse'i kutsumine välja nagu:
./Xen-backup.sh settings.cfg nädalas-fri
Kui ülaltoodud juhul on meil kataloog, mis hoiab skripti ja seadistusfaili. "Tag", mida skript otsib, on "weekly-fri".
Nagu ülalpool märgitud, kasutame Croni teostamise ajastamiseks. Enne kui me läheme konfiguratsiooni, on see väga soovitatav konfigureerige juba installitud SSMTP pakett oma Xen serveris. Kuigi see on valikuline samm, annab see teile tagapesu kollektori. Sellise „tagasipesuvõtja” kasutamine võib teid hoiatada asjadest, mida skript ei suuda.
Sisesta croni redigeerimisse rohkem, väljastades:
crontab-e
Kui olete järginud ülaltoodud juhiseid ja soovite lisada reeglile varukoopia reedeks kell 18:01 (6:01 PM), sisestage alljärgnev:
01 18 * * fri /root/Xen-pocalypse-master/Xen_Backup.sh /root/Xen-pocalypse-master/settings.cfg nädalas-fri
Ülaltoodud on õige, eeldades, et teie skripti- ja seadistusfail on mõlemad jaotise “/ root / Xen-pocalypse-master /” all..
Tõrkeotsing
Kuigi ma olen teinud palju pingutusi, et muuta skript nii lihtsaks ja võimalikult lollikindlaks, “Maailm on suurem labor”. Alltoodud teave võib aidata teil teada saada, mis on teie probleemide allikas.
Edu
Võite kasutada seda ühte vooderit, et kiiresti vaadata kõiki käimasolevaid ülesandeid, et näha, kas nad tegelikult üldse edasi liikuvad või kas nad on tegelikult kinni jäänud.
[-e / dev / null]; tehke VM-i jaoks "$ (xe task-list | grep uuid | awk 'print $ 5')"; do xe task-param-get param-name = edenemine uuid = $ VM, uni 1; tehtud; tehtud
Vaatamise lõpetamiseks kasutage Ctrl + C, et pidurdada.
Logimine
Kõik "logimine" kogutakse Xen hostis, kes töötab skripti syslogi mehhanismis. Seda saab muidugi vaadata koos:
vähem + F / var / log / sõnumeid
Otsite võtmesõna „Xen-pocalypse”.
Märkus: Citrix on seadnud oma serverite syslogile kaks (2) päeva säilitamispoliitikat. Te võite seda meeles pidada postmortemide puhul.
Silumine
Nagu on märgitud seadistusfailide segmendis, on olemas direktiiv, mis lubab silumine. Silumine lubab skripti väljundi konsoolile väljendada ja kastreerida seda e-kirjade saatmisest ja ekspordi tegelikust täitmisest, välja arvatud juhul, kui on määratud ka asjakohased lipud. Võimalikud lipud märgitakse seadete faili malli ja võimaldavad teil täpselt määratleda, mida soovite siluda.
Ma loodan, et te ei vaja mingit silumist ja sa oled oma töö viljad :)
Thrust, minu mees, sa hakkad saama number üks decepticon…