Ako zálohovať vírusy Citrix Xen zdarma s Xen-pocalypse (Bash)

Obsah:

Ako zálohovať vírusy Citrix Xen zdarma s Xen-pocalypse (Bash)
Ako zálohovať vírusy Citrix Xen zdarma s Xen-pocalypse (Bash)

Video: Ako zálohovať vírusy Citrix Xen zdarma s Xen-pocalypse (Bash)

Video: Ako zálohovať vírusy Citrix Xen zdarma s Xen-pocalypse (Bash)
Video: Photo Transfer between 2 Android Phones via NFC (Android Beam, LG V30+ & Samsung J5) - YouTube 2024, Apríl
Anonim
Potrebovali ste niekedy zálohovať svoje virtuálne počítače Citrix Xen (VM), ale nechceli by ste to robiť bankou? HTG má len skript bash pre vás s Xen-pocalypse.
Potrebovali ste niekedy zálohovať svoje virtuálne počítače Citrix Xen (VM), ale nechceli by ste to robiť bankou? HTG má len skript bash pre vás s Xen-pocalypse.

Obrázok od h.koppdelaney, Stuck in Custom a Hotfortech.

Jedným z pekných vecí v Citrix Xen je, že mnohé z jeho vlastností sú zadarmo poplatok. S tým povedal, ak chcete funkciu "Automatická ochrana a obnovenie VM", musíte začať platiť za licenciu "Advance". Dokonca aj platíte len za zálohovanie na úrovni disku, ktoré nie sú dostatočné pre mnoho typov pracovných záťaží, ako je Active directory, Databases a atď. Prekonať to možno budete chcieť "Live memory snapshot a vrátiť sa", čo môže zachrániť celý stav stroja vrátane obsahu pamäte RAM. Táto funkcia je však súčasťou vydania "Enterprise" a "Platinum", ktoré sú ešte drahšie. Nie je to tak, že my v spoločnosti HTG odmietame hodnotu skutočného zálohovacieho softvéru, ale ak ste na malom rozpočte a nevadí vám niektoré prestoje na zálohovanie, môžete Xen-pocalypse považovať za dokonale rozumné riešenie pred tým, než urobíte rozpočtový záväzok.

Prehľad

"Použitie prípadu": Máte niekoľko VM, ktoré vyžadujú zálohu. "Vypnutie VM a jeho export ako súbor" z "Centra Xen" pomocou pravého kliknutia funguje dobre, ale chcete, aby sa tento proces uskutočnil automaticky a podľa plánu. Tento skript Bash používa príkaz "XE" na vykonávanie svojich povinností. XE je rozhranie príkazového riadku Xen (CLI), ktoré je automatickým ekvivalentom pre vydávanie pravých kliknutí v centre Xen. Budeme volať skript od Cron, ktorý dodá časť "plánovanie". V najjednoduchšej forme je záložný tok:

  • Vypnite cieľovú VM.
  • Exportujte súbor VM ako súbor do umiestnenia zálohy.
  • Ak bolo zariadenie VM zapnuté, pred zálohovaním sa spustí.

Nechajte sa prasknúť:)

Získajte skript

Xen-pocalypse je možné voľne získať od github pomocou štandardných metód git. S tým povedal, ak ešte nie ste v Git, môžete chytiť zip súbor s týmto odkazom. Keďže skript potrebuje bežať na jednom z vašich Xen serverov, mali by ste ho extrahovať tam, aby sa zachovali povolenia na vykonanie.

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

Zatiaľ čo by to fungovalo, odporúčame použiť metódu GIT, aby ste mohli využívať budúce aktualizácie.

Získať SendEmail (voliteľné)

Napísali sme o programe Perl SendEmail v minulosti, takže tu nie je potrebné zopakovať. Stačí povedať, funguje to rovnako ako v systéme Linux ako v systéme Windows.

Zatiaľ čo e-mail je voliteľný, odporúča sa, pretože skript bude môcť:

  • Informujte vás, keď začal a prebiehal.
  • Upozorňujeme vás na akékoľvek chyby, ktoré dokázal zistiť a zvládnuť.
  • Informujte o zálohových obmedzeniach kvôli problémom s vesmírom. (Toto správanie môže byť deaktivované, ak nie je požadované)

Stiahnite ho na Xen server a extrahujte.

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

Všimnite si miesto, do ktorého ste ju extrahovali. Budete to potrebovať pre súbor s nastaveniami.

Definovanie značiek

Citrix Xen vám umožňuje konfigurovať "vlastné polia" na filtrovanie. Vytvoríme pole a potom ich naplníme informáciami, ktoré používa Xen-pocalypse. Xen-pocalypse rozpoznáva 3 kontrolné TAG, ktoré označujú názov značky pre zálohovanie a vzťah medzi rodičmi a deťmi. Ak nemáte v úmysle používať metódu zadávania súborov, MUSÍte vytvoriť aspoň pole s názvom záložnej značky.

Ak chcete to urobiť, otvorte vlastnosti servera alebo dokonca VM. Na navigačnej table vyberte "Vlastné polia".

Ak je to prvýkrát, keď vymedzíte vzťah (ako v príklade vyššie), nebudete mať žiadne polia na zadávanie údajov, takže ich musíte vytvoriť. Ak to chcete urobiť, kliknite na "Upraviť vlastné polia" v dialógovom okne, ktoré sa objaví, kliknite na "Pridať …"
Ak je to prvýkrát, keď vymedzíte vzťah (ako v príklade vyššie), nebudete mať žiadne polia na zadávanie údajov, takže ich musíte vytvoriť. Ak to chcete urobiť, kliknite na "Upraviť vlastné polia" v dialógovom okne, ktoré sa objaví, kliknite na "Pridať …"
Vytvorte tri (3) polia typu "Text". Jeden sa bude nazývať "BackupTAG" a ostatní "Rodič" a "Deti".
Vytvorte tri (3) polia typu "Text". Jeden sa bude nazývať "BackupTAG" a ostatní "Rodič" a "Deti".

Poznámka: Názvy vlastných polí boli "skriptované" do skriptu, takže sa nesmiete odchýliť od vyššie uvedeného pravopisu, pokiaľ nezmeníte príslušný kód.

Po vytvorení všetkých polí by ste mali vidieť:

Zatvorte okno. Teraz musíte vyplniť polia "BackupTAG", "Parent" a "Children", ako na obrázku nižšie.
Zatvorte okno. Teraz musíte vyplniť polia "BackupTAG", "Parent" a "Children", ako na obrázku nižšie.
Image
Image

Teraz všetko, čo musíte urobiť, je určiť, ktoré VM patria k tomu, čo "BackupTAG". Napríklad v spoločnosti, kde bol skript pestovaný, sme mali VM, ktoré by mali byť zálohované týždenne vo štvrtok a piatok, plán pre naše produkty Atlasian VM a niektoré, ktoré mali byť zálohované len mesačne. Náš prehľad teda vyzeral takto:

Kde napríklad "týždeň-fri" bol text, ktorý sme zadali do "Vlastné pole BackupTAG". Čistý, čo?:)
Kde napríklad "týždeň-fri" bol text, ktorý sme zadali do "Vlastné pole BackupTAG". Čistý, čo?:)

Rodičia a deti (voliteľné)

Skutočná krása tohto skriptu spočíva v tom, že podporuje "rodičovské" a "detské" vzťahy. To znamená, že je možné nastaviť zoznam "detských" VM, ktoré by boli vypnuté a zálohované pred rodičom, a že tieto deti budú znova zapnuté až po ukončení zálohovania rodičom a vrátenia späť ďalej.To je užitočné v prípadoch, keď vypnutie rodičovského VM spôsobí, že služba dieťaťa sa stane nedostupným. Takáto vec by znamenala, že služba na dieťa VM by bola nedostupná dvakrát, raz pre zálohovanie dieťaťa a raz pre rodičov. Vytvorenie tohto vzťahu prekonáva tento problém.

Napríklad všetky naše Atlassian VM používali jedinú DataBase (DB) VM, ktorá bola tiež nastavená na zálohovanie. Takže tým, že si všimneme, že DB VM je "Parent" pre ostatné VM, je možné zabezpečiť správny postup vypnutia -> backup -> startup.

V čase tohto písania má táto funkcia niekoľko upozornení:

  1. Názvy VM, ktoré majú mať takýto vzťah, nemôžu obsahovať medzery. Budete musieť odstrániť medzery z vašich VM mien, pretože budú vymedzené medzerami, ako v nižšie uvedenom príklade.
  2. Môže byť len jeden rodič. Označenie viac ako jedného nie je ani plánované, nehovoriac o testovaní.

Ak chcete vytvoriť tento vzťah, prejdite do vlastností VM. Ak je to "rodič", napíšte, kto jeho deti sú a ak je to "dieťa", napíšte, kto je jeho rodič. Napríklad:

Poznámka: Neuvedenie rodiča pre dieťa môže spôsobiť spustenie dieťaťa predtým, ako je jeho rodič pripravený, a môže spôsobiť, že bude dieťa zálohované dvakrát.
Poznámka: Neuvedenie rodiča pre dieťa môže spôsobiť spustenie dieťaťa predtým, ako je jeho rodič pripravený, a môže spôsobiť, že bude dieťa zálohované dvakrát.

Metóda FILE (voliteľné)

Z historických dôvodov Xen-pocalypse tiež podporuje získanie zoznamu VM, ktoré sa majú zálohovať ako textový súbor. Zatiaľ čo "kód" je stále tam, funkcia je výrazne nižšia ako metóda TAG, a preto sa neodporúča. S tým, ak chcete z nejakého dôvodu použiť metódu zoznamu, platia nasledujúce obmedzenia:

  1. Názvy VM nemôžu obsahovať medzery ani špeciálne znaky.
  2. Na jeden riadok môže byť len jeden názov VM.
  3. Prázdne riadky nie sú povolené.

Ak chcete vygenerovať tento zoznam, skopírujte názov VM z centra Xen alebo ho spustite na hostiteľa Xen:

xe vm-list | grep name-label | awk

'{ print $4 }' | sort

Skopírujte uvedený zoznam do bežného textového súboru.

Miesto zálohovania

Pri náhodnom pokuse v Citrix Xen som zistil, že úložiská (SR) sú k dispozícii na použitie pod "/ var / run / sr-mount /% UUID%", kde UUID je jedinečný identifikátor SR. získané z grafického používateľského rozhrania.

Znamená to, že môžeme použiť bežný sprievodca "Next -> Next -> Finish" na vytvorenie pripojenia k požadovanej zálohovacej polohe a potom použite skript takú cestu (tak, ako je určená pre zálohovanie s pripojením z príkazového riadku), ale robí tak je mimo rozsahu tejto príručky.

Ak chcete vytvoriť novú "pripojenie", kliknite pravým tlačidlom myši na názov servera a zvoľte Nový server.

V tomto príklade ukážeme Xen na zdieľanie systému Windows, preto si zvoľte "Zdieľanie súborov Windows (CIFS)":
V tomto príklade ukážeme Xen na zdieľanie systému Windows, preto si zvoľte "Zdieľanie súborov Windows (CIFS)":
Vyplňte položku Ďalej -> Ďalej -> Dokončiť.
Vyplňte položku Ďalej -> Ďalej -> Dokončiť.

Získajte UUID SR

Ak chcete získať UUID SR, jednoducho kliknite na jeho názov v Centre Xen a prejdite na kartu "Všeobecné".

Ak chcete skopírovať identifikátor UUID, jednoducho kliknite naň pravým tlačidlom myši a zvoľte "kopírovať".
Ak chcete skopírovať identifikátor UUID, jednoducho kliknite naň pravým tlačidlom myši a zvoľte "kopírovať".
Image
Image

S týmito informáciami ste pripravení upraviť súbor s nastaveniami.

Nakonfigurujte súbor Nastavenia.

Projekt Xen-pocalypse je dodávaný s šablónou súboru "nastavenia". Táto šablóna by mala byť upravená tak, aby odrážala vaše nastavenie a odovzdala ako prvý argument skriptu. Súbor s nastaveniami označuje nasledujúce:

Metóda na získanie záložných virtuálnych počítačov - Predvolená metóda je TAG. Môžete to zmeniť na SÚBOR, ale to sa nedoporučuje.

Lokalita miesta zálohovania - Ak ste sa k tomuto bodu riadili sprievodcom, stačí iba nahradiť% UUID% so SR, ako bolo získané zhora.

Umiestnenie služby SendEmail - Ak ste sa rozhodli povoliť e-mail, musíte zadať miesto, kde ste tu extrahovali perlový spustiteľný súbor.

Podrobnosti e-mailu -Opäť, ak ste povolili e-mail, je potrebné definovať podrobnosti ako: To, From, Servername / IP & etc '.

kompresia - Toto nastavenie je štandardne nastavené na hodnotu "Nie", pretože pri jeho aktivácii vytvorí menší súbor zálohy, spôsobí to aj zálohovanie výrazne dlhšieho času.

Skontrolujte voľné miesto na mieste určenia - Skript skontroluje, že zálohovanie VM nebude mať za následok pokles miesta voľného miesta pod 10 GB. Toto sa robí preto, aby sa zabezpečilo, že najvyššie množstvo VM sa zálohuje namiesto len jedného veľmi veľkého VM. Výpočet sa vykoná s použitím celkovej veľkosti disku všetkých HD súvisiacich s VM.

ladenie - Predvolené nastavenie má vypnutie ladenia s hodnotou "0" (nula). Nemali by ste to zapínať, ale ak to urobíte, v sekcii na riešenie problémov sa zaznamenajú ďalšie informácie.

Prevedenie / Scheduling

Vo svojej najjednoduchšej podobe by vyvolanie Xen-pocalypse vyzeralo takto:

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

Kde sme v uvedenom prípade, sme v adresári, ktorý obsahuje skript a súbor nastavení. "Tag" skript bude hľadať je "týždeň-fri".

Ako sme uviedli vyššie, použijeme program Cron na naplánovanie vykonania. Predtým, ako prejdeme do konfigurácie, je to vysoko odporúčané že konfigurujete už nainštalovaný balík SSMTP na serveri Xen. Aj keď je to voliteľný krok, tak vám prinesie zberač spätného preplachu. Takýto "zberný spätný výpadok" vás môže upozorniť na veci, ktoré skript nedokáže.

Vstupte do edície cron viac tým, že vydáte:

crontab -e

Ak ste dodržali vyššie uvedené pokyny a chcete pridať naplánovanú zálohu na piatok o 18:01 (18:01), zadajte nižšie:

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

Vyššie uvedené je správne za predpokladu, že váš skript a súbor s nastaveniami sú pod "/ root / Xen-pocalypse-master /".

Riešenie problémov

Zatiaľ čo som vynaložil veľké úsilie na to, aby sa scenár stal ľahko použiteľným a čo najšetrnejšie, "Svet je väčšia laboratórium". Nasledujúce informácie vám môžu pomôcť zistiť, aký je zdroj vašich problémov.

pokrok

Možno budete chcieť používať tento jeden liner rýchlo "pozerať" všetky prebiehajúce úlohy, zistiť, či v skutočnosti vôbec postupujú alebo ak sú skutočne uviazli.

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

Ak chcete zastaviť sledovanie, použite klávesy Ctrl + C na zabrzdenie cyklu "while while".

protokolovanie

Všetky "protokolovanie" zhromažďuje hostiteľ Xen, ktorý spúšťa skript v systéme syslog. Toto je samozrejme možné prezerať pomocou:

less +F /var/log/messages

Hľadáte kľúčové slovo "Xen-pocalypse".

Poznámka: Citrix nastavila dva (2) dni uchovávanie pravidiel pre syslog svojich serverov. Možno budete chcieť mať na pamäti, že pre postmortems.

ladenie

Ako je uvedené v segmente nastavení súborov, existuje smernica, ktorá umožňuje ladenie. Povolenie ladenia spôsobí, že skript vygeneruje detailné zaznamenávanie do konzoly a vykrúca ju zo zasielania e-mailov a skutočného vykonávania exportu, pokiaľ nie sú nastavené príslušné príznaky. Možné príznaky sú uvedené v šablóne súborov s nastaveniami a umožňujú Vám detailne definovať, čo chcete debugovať.

Je to moja nádej, že ste nepotrebovali žiadne ladenie a že ste plodili plody svojej práce:)

Ťaž, môj človek, sa chystáš stať sa deceptikom číslo jedna …

Odporúča: