Jak obnovit Citrix-Xen VM zdarma pomocí Xen-Phoenix (Bash)
Byl jste někdy potřeba hromadně obnovit své Citrix-Xen VM pro řešení obnovy po havárii (DR), nebo jen abyste otestovali, že vaše zálohy fungují? HTG vysvětluje, jak používat Xen-Phoenix, free bash script, pro obnovu VM.
Foto kredit: Ryan McCurdy přes Compfight cc
Stejně jako jsme se zmínili v "Jak na zálohování Citrix Xen VMs zdarma s Xen-pocalypse", jedním z pěkných věcí v Citrix Xen je, že mnoho z jeho funkcí je volný, uvolnit poplatků. S tím, že chcete, aby funkce "Automatizovaná ochrana a obnovení VM", byste museli začít platit za licenci "Advance". Opět platí, že nejsme v HTG odmítají hodnotu opravdového zálohovacího řešení, ale pokud jste na napjatém rozpočtu, už jste získali obrazy VM z hypervisoru a potřebujete způsob, jak automatizovat vaše " test obnovení "/" obnovení DR ", můžete Xen-Phoenix považovat za perfektní řešení před tím, než uděláte rozpočtový závazek.
Přehled
"Use case": Máte několik VM, které vyžadují obnovení. Import do centra Xen pomocí pravého kliknutí funguje ok, ale chcete, aby se tento proces uskutečnil automaticky a podle plánu. Tento skript Bash používá příkaz "XE" k plnění svých povinností. XE je rozhraní příkazového řádku Xen (CLI), což je automatický ekvivalent pro vydávání "pravých kliknutí" v "Xen Center". Budeme volat scénář od Cron, který dodá část "plánování". Ve své nejjednodušší formě je obnovovací tok:
- Odstranit všechny * dříve existující VM na serveru
- Importujte VM ze souborů v místě zálohování.
- Ověřte, zda jsou všechny virtuální počítače funkční tím, že je aktivujete jeden po druhém a hledáte nástroje pro hosty.
- Vypněte VMs, když byl zjištěn tlukot srdce nebo byl dosažen časový limit.
* Chování všech vymazaných VM lze úplně zakázat a podporuje výjimky (viz níže).
Nechte se rozbít :)
Získat skript
Xen-phoenix lze volně získat z github pomocí pravidelných metod git. S tím se říká, že pokud ještě nejste zvyklí na git, můžete zip soubor uchopit tímto odkazem. Protože skript musí běžet na jednom z vašich serverů Xen, měli byste ho extrahovat, aby se zachovala oprávnění k provádění.
wget https://github.com/aviadra/Xen-phoenix/archive/master.zip
unzip master
Zatímco výše uvedené by fungovalo, doporučuje se používat metodu GIT, abyste mohli využívat budoucích aktualizací.
Umístění exportu
Musíme nakonfigurovat, odkud z exportu VM převzít.
Zatímco při náhodném pokousání v Citrixu Xen jsem zjistil, že sklady jsou k dispozici pro použití pod "/ var / run / sr-mount /% UUID%", kde UUID je jedinečný identifikátor SR, který může být získané z grafického uživatelského rozhraní.
To znamená, že můžeme použít obvyklý průvodce "Next -> Next -> Finish" pro vytvoření "mount" na požadované místo zálohování a poté použít skript, který je určen k tomu, mimo rámec této příručky).
Chcete-li vytvořit nový "mount", klepněte pravým tlačítkem myši na název serveru a vyberte položku New SR.
V tomto příkladu označíme Xen do sdílené složky systému Windows, proto zvolte "Sdílení souborů Windows (CIFS)":
Dokončete funkci Další -> Další -> Dokončit.
Získejte UUID SR
Chcete-li získat identifikátor UUID SR, jednoduše klikněte na jeho název v centru Xen a přejděte na kartu "Obecné".
Chcete-li kopírovat UUID, jednoduše klikněte pravým tlačítkem a zvolte "kopírovat".
S těmito informacemi jste připraveni upravit soubor nastavení.
Nakonfigurujte soubor Nastavení
Projekt Xen-Phoenix je dodáván se šablonou nastavení "nastavení". Tato šablona by měla být upravena tak, aby odrážela vaše nastavení a předala jako první argument skriptu.
Soubor nastavení označuje následující:
- Umístění zdroje exportu - Pokud jste v tomto bodě řídili vodítko, musíte nahradit% UUID% pouze SR, jak bylo získáno shora.
- Umístění SendEmail - Pokud jste se rozhodli povolit E-mail, musíte zadat, kde jste extrahovali zde spustitelný soubor perl.
- Verifikátor - ovládá postup ověření po obnovení. Toto je standardně povoleno, protože úspěšné "obnovení na úrovni souborů" nemusí nutně znamenat funkční VM.
- Server_prep - Řídí předběžnou obnovu vymazání všech VM na serveru DR. Toto je standardně povoleno, protože se předpokládá, že server DR je pro tento účel vyhrazený server. Pokud potřebujete, aby server VM, který běží na tomto serveru, nebyl odstraněn, nakonfigurujte jej, aby byl vyloučen. Pokud toto chování není vhodné pro vaši situaci, jednoduše ji deaktivujte.
- Podrobnosti o e-mailu - Opět, pokud jste povolili e-mail, je třeba definovat podrobnosti jako: To, From, Servername / IP & etc '.
- Ladění - Výchozím parametrem je vypnutí ladění s hodnotou "0" (nula). Neměli byste je muset zapnout, ale pokud tak učiníte, je více informací zaznamenáno v segmentu odstraňování problémů.
Provedení
Tento skript zařadí soubor nastavení jako svůj první argument a všechny další argumenty jako "Chevrons" pro hledání (oddělené mezerami). Chevrons jsou "řetězce", které podporují regulární výrazy, které představují alespoň část požadovaného názvu souboru exportu VM.
To znamená, že ve své nejjednodušší formě by vzývání Xen-phoenix vypadalo takto:
./Xen-phoenix.sh settings.cfg DevTools
Kde v uvedeném případě jsme v adresáři, ve kterém je uložen skript a soubor nastavení a "Chevron", ve kterém bude skript hledat, je "DevTools". To způsobí, že budou importovány všechny soubory v adresáři exportu s řetězcem "DevTools" ve svém názvu.
Složitější příklad může vypadat takto:
./Xen-phoenix.sh settings.cfg [Aa] [Dd] [Bb] [iI] [Dd] ev [Tt] ools
Kde ve výše uvedeném příkladu budou importovány soubory, které obsahují slovo "devtools" napsané kapitálem "D" a "T" nebo jinými než kapitálovými, stejně jako "AD" a "BI".
Plánování
Jak bylo uvedeno výše, budeme Cron používat k naplánování popravy. Než se dostaneme do konfigurace, tak to je vysoce doporučeno že konfigurujete již nainstalovaný balíček SSMTP na serveru Xen. I když je to volitelný krok, uděláte tak kolektor "backwash". Mít takový "kolektor zpětného praní" vás může upozornit na věci, které skript není schopen.
Vstupte do režimu editace cron vydáním:
crontab -e
Pokud jste dodrželi výše uvedené pokyny a chcete přidat nedělní naplánovanou zálohu v 01:31 (1:31), zadejte následující:
31 01 * * sun /root/Xen-phoenix-master/Xen-phoenix.sh/root/Xen-phoenix-master/settings.cfg [Aa] [Dd] DB [Bb] [iI] [Dd] ev [Tt ] ools
Výše uvedené je správné za předpokladu, že soubor skriptu a nastavení jsou pod "/ root / Xen-phoenix-master /".
Získejte SendEmail (volitelné)
Napsali jsme o programu Perl SendEmail v minulosti, takže zde není třeba opakovat. Stačí říci, že pracuje stejným způsobem na Linuxu stejně jako v systému Windows.
Ačkoli e-mail je volitelný, doporučuje se, protože skript bude schopen:
- Informujte se, kdy začal a běžel.
- Upozorněte na chyby, které byly schopny rozpoznat a zvládnout.
Stáhněte je na server Xen a extrahujte.
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
tar xvzhf sendEmail-v1.56.tar.gz
Poznamenejte si místo, ze kterého jste je extrahovali. Potřebujete to pro soubor nastavení.
Definování značky "Vymazat výjimku" (volitelné)
Xen-Phoenix má stránku od svého předka (Xen-Pocalypse) a dává vám možnost granulárně vyloučit VM ze systémového odstranění pomocí ovládacího prvku TAG. Chcete-li to provést, musíte definovat nové "Vlastní pole".
Chcete-li to provést, otevřete vlastnosti serveru nebo dokonce VM. V navigačním podokně vyberte možnost "Vlastní pole".
Pokud se jedná o poprvé, kdy definujete "vlastní pole" (jako v předchozím příkladu), nebudete mít pole "Phoenix_keeper" pro zadávání dat, takže je musíte vytvořit. Chcete-li to provést, klepněte na tlačítko "Upravit vlastní pole" v dialogovém okně, které se objeví, a potom klikněte na tlačítko "Přidat ..."
Vytvořte pole typu "Text" s názvem "Phoenix_keeper".
Poznámka: Jméno vlastního pole bylo do skriptu "hardwarově kódováno", takže se nesmíte odchýlit od výše uvedeného pravopisu, pokud nezměníte příslušný kód.
Po vytvoření pole byste měli vidět:
Zavřít okno. Nyní byste měli vyplnit pole "Phoenix_keeper", jak je uvedeno níže.
Jediné, co musíte udělat, je vyplnění tohoto pole poznámkou (jakákoliv poznámka udělá), což způsobí, že Xen-phoenix jej při mazání vynechá.
Odstraňování problémů
Zatímco jsem vynaložil mnoho úsilí na to, aby se scénář stal tak snadným a co nejšetrnějším, "svět je větší laboratoř". Níže uvedené informace vám mohou pomoci zjistit, jaké jsou vaše potíže.
Protokolování
Všechna "protokolování" shromažďuje hostitel Xen, který spouští skript v mechanismu syslog. To samozřejmě lze prohlížet pomocí:
méně + F / var / log / zprávy
Hledáte klíčové slovo "Xen-Phoenix".
Poznámka: Citrix nastavila dva (2) denní zásady uchovávání pro syslog svých serverů. Možná budete chtít mít na mysli postmortems.
Ladění
Jak je uvedeno v segmentu nastavení souborů, existuje směrnice umožňující ladění. Povolení ladění způsobí, že skript vygeneruje detailní protokolování do konzoly a vynese ji ze zasílání e-mailů a vlastních importů, pokud nejsou nastaveny příslušné příznaky. Možné příznaky jsou zaznamenány v šabloně nastavení souborů a umožňují vám podrobně definovat, co chcete ladit.
Doufám, že jste nepotřebovali žádné ladění a že získáváte plody své práce :)
Jen myslete na veškerou chudobu, nenávist a lži, a představte si zničení všeho, co pohrdáte. Pomalu z popelu se objeví Phoenix ...