If-Koubou

Как да възстановите Citrix-Xen VMs безплатно с Xen-Phoenix (Bash)

Как да възстановите Citrix-Xen VMs безплатно с Xen-Phoenix (Bash) (Как да)

Имали ли сте някога необходимостта от насипно състояние да възстановите вашите Citrix-Xen VM устройства за решение за възстановяване след бедствие (DR) или просто да проверите дали вашите архиви работят? HTG обяснява как да се използва Xen-Phoenix, безплатен скрипт bash, за възстановяване на VM.

Снимка: Райън МакКъри през Compfight cc

Както споменахме в "Как да резервираме Citrix Xen VMs безплатно с Xen-pocalypse", едно от хубавите неща в Citrix Xen е, че много от функциите му саБезплатно на такса. С това казано, ако искате функцията "Автоматизирана защита и възстановяване на ВМ", ще трябва да започнете да плащате за лиценза "Advance". Отново не е, че ние в HTG отхвърляме стойността на истинско резервно решение, но ако сте на строг бюджет, вече сте получили VM изображения от хипервайзора и се нуждаете от начин да автоматизирате вашите " test restore "/" DR refresh ", може да откриете, че Xen-Phoenix е идеално разумно решение, преди да направите бюджетния ангажимент.

Преглед

"Случай на използване": Имате няколко ВМ, които изискват възстановяване. Импортирането в "Xen Center" с десния клик работи добре, но искате този процес да се осъществи автоматично и по график. Този Bash скрипт използва командата "XE", за да изпълнява задълженията си. XE е интерфейсът на командния ред на Xen (CLI), автоматичен еквивалент за издаване на "десния клик" в "Xen Center". Ще се обадим на сценария от Cron, който ще достави част "планиране". В най-простата си форма, възстановяващият поток е:

  • Изтрий всички * предишни съществуващи ВМ на сървъра
  • Импортиране на VM от файлове в резервното копие.
  • Уверете се, че всички ВМ могат да се управляват, като ги активирате един по един и търсите инструменти за сърдечен удар.
  • Изключете VMs, когато е открит сърдечен ритъм или е достигнато изчакване.

* Изтриването на всички VMs може да бъде деактивирано напълно и поддържа изключения (вижте по-долу).

Позволявам да се счупим :)

Получете скрипта

Xen-phoenix може да бъде свободно получен от github, използвайки обичайните методи на git. С това казано, ако все още не сте запознати с git, можете да вземете zip файла с тази връзка. Тъй като скриптът трябва да работи на един от вашите Xen сървъри, трябва да го извлечете там, за да се запазят разрешенията за изпълнение.

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

Докато горните ще работят, препоръчваме ви да използвате метода GIT, така че да се възползвате от бъдещи актуализации.

Местоположението на износа

Трябва да конфигурираме откъде да вземем износа от ВМ.

Докато разбърквах на случаен принцип в Citrix Xen, установих, че Storage Depots (SRs) са налични за използване под "/ var / run / sr-mount /% UUID%". получени от GUI.

Това означава, че можем да използваме обикновения съветник "Next -> Next -> Finish", за да създадем "mount" на желаното място за архивиране и след това да използваме този скрипт (както е предвидено за работа с монтаж от командния ред, който е извън обхвата на настоящото ръководство).

За да създадете нова "mount", щракнете с десния бутон върху името на сървъра и изберете New SR.

В този пример ние ще посочим Xen към дял на Windows, така че изберете "Windows File Sharing (CIFS)":

Завършете Next -> Next -> Finish.

Получете UUID на SR

За да получите UUID на SR, просто кликнете върху името му в Xen Center и отворете раздела "Общи".

За да копирате UUID, просто кликнете с десния бутон върху него и изберете "copy".

С тази налична информация сте готови да редактирате файла с настройки.

Конфигурирайте файла с настройки

Проектът Xen-phoenix идва заедно с шаблон за настройки на файловете. Този шаблон трябва да бъде редактиран, за да отрази настройката ви и да бъде приет като първи аргумент за скрипта.

Файлът с настройки обозначава следното:

  • Местоположението на износа на източника - Ако сте следвали ръководството за тази точка, трябва само да смените% UUID% със SR, както е получено от по-горе.
  • Местоположението на SendEmail - Ако сте избрали да активирате имейл, трябва да въведете къде сте извадили изпълнимия файл за Perl тук.
  • Проверка - контролира процедурата за потвърждаване след възстановяване. Това е разрешено по подразбиране, тъй като успешното "възстановяване на ниво файл" не означава непременно функционален VM.
  • Server_prep - Това контролира предварителното възстановяване заличаване от всички ВМ на DR сървъра. Това е активирано по подразбиране, защото се приема, че DR сървърът е специален сървър за тази цел. Ако имате нужда от VM, който се изпълнява на този сървър, за да не бъде изтрит, конфигурирайте го, за да бъде изключен. Ако това поведение не е подходящо за вашата ситуация, просто го деактивирайте напълно.
  • Данни за електронната поща -Отново, ако сте активирали имейлите, трябва да дефинирате подробности като: To, From, Servername / IP & etc '.
  • Отстраняване на грешки - По подразбиране е деактивирането да е изключено със стойността "0" (нула). Не е нужно да го включвате, но ако го направите, повече информация се отбелязва в сегмента за отстраняване на неизправности.

Екзекуция

Този скрипт задава файла с настройки като първия му аргумент и всички други аргументи като "Chevrons" за търсене (разделени с интервали). Chevrons са "струни", които поддържат регулярни изрази, които представляват поне част от желаното име на файла на VM износа.

Това е в най-простата си форма, позоваването на Xen-phoenix ще изглежда така:

./Xen-phoenix.sh settings.cfg DevTools

Където в горния случай, ние сме в директорията, която държи скрипта и файла с настройки и "Chevron" скриптът ще търси "DevTools". Това ще доведе до импортирането на всички файлове в директорията за експортиране с низ "DevTools" в името им.

По-сложен пример може да изглежда като:

./Xen-phoenix.sh settings.cfg [Aa] [Dd] [Bb] [iI] [Dd] ev [Tt] ools

Където в горния пример ще бъдат импортирани файлове, съдържащи думата "devtools" с главни букви "D" и "T" или не-капиталови, както и "AD" и "BI" с или без главни букви.

Планиране

Както бе отбелязано по-горе, ще използваме Cron, за да насрочим изпълнението. Преди да влезем в конфигурацията, това е такасилно препоръчително че конфигурирате вече инсталирания SSMTP пакет на вашия Xen сървър. Макар че това е незадължителна стъпка, това ще ви даде "обратно промиване" колектор. Да имате такъв "колектор за обратно промиване" може да ви предупреди за нещата, които скриптът не е в състояние да направи.

Влезте в режима за редактиране на cron, като издавате:

crontab -e

Ако сте изпълнили указанията по-горе и искате да добавите насрочено резервно копие за неделя в 01:31 часа (1:31 часа), въведете следното:

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

Горното е правилно, ако вашият скрипт и файл с настройки са под "/ root / Xen-phoenix-master /".

Получаване на SendEmail (по избор)

Ние писахме за програмата Perl SendEmail в миналото, така че няма нужда да се повтаря тук. Достатъчно е да кажем, че работи по същия начин на Linux, както при Windows.

Докато активирането на електронната поща е по избор, тя е силно препоръчителна, защото тогава скриптът ще може:

  • Ще ви информирам, когато започна и стартира.
  • Сигнализирайте за всякакви грешки, които е в състояние да открие и да се справи.

Изтеглете го на сървъра на Xen и извлечете.

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

Обърнете внимание на местоположението, в което сте го извлекли. Вие ще имате нужда от него за файла с настройки.

Дефиниране на маркера "Изтриване на изключения" (по избор)

Xen-Phoenix отнема страница от своя предшественик (Xen-Pocalypse) и ви дава възможност да изключите групово VM от изтриването на цялата система, като използвате контролен TAG. За да направите това, трябва да определите ново "Custom Field".

За да направите това, отворете свойствата на сървъра или дори VM. В навигационния екран изберете "Персонализирани полета".

Ако това е първият път, когато определите "персонализирано поле" (както в горния пример), няма да имате полето "Phoenix_keeper", в което да въведете данни, така че трябва да го създадете. За да направите това, кликнете върху "Редактиране на персонализираните полета" в диалоговия прозорец, който се появява, след което кликнете върху "Добавяне ..."

Създайте поле тип "Текст" с името "Phoenix_keeper".

Забележка: Името на персонализираното поле е "твърдо кодирано" в скрипта, така че не трябва да се отклонявате от горния правопис, освен ако не промените съответния код.

След като полето е създадено, трябва да видите:

Затваряне на прозореца. Сега трябва да въведете полето "Phoenix_keeper", както е показано на снимката по-долу.

Сега всичко, което трябва да направите, е да попълвате това поле с една забележка (всяка забележка ще направи), което ще накара Xen-phoenix да го пропусне при изтриване.

Отстраняване на проблеми

Докато положих много усилия, за да направя сценария толкова лесен за употреба и колкото е възможно по-неуверен, "светът е по-голяма лаборатория". Информацията по-долу може да ви помогне да установите какъв е източникът на вашите проблеми.

Влизане

Всички "регистрации" се събират от хоста на Xen, който изпълнява скрипта в механизма syslog. Това, разбира се, може да се види с:

по-малко + F / var / лог / съобщения

Търсите ключовата дума "Xen-Phoenix".

Забележка: Citrix е определила политика за съхранение на два (2) дни за syslog на сървърите си. Може да искате да имате това предвид за погребения.

Отстраняване на грешки

Както е отбелязано в сегмента на файловете с настройки, има директиви, които дават възможност за отстраняване на грешки. Активирането на отстраняването на грешки ще накара скрипта да изведе подробно регистриране в конзолата и да я кастрира от изпращането на имейли и всъщност извършването на внос, освен ако не са зададени и съответните знамена. Възможните флагове се отбелязват в шаблона на файловете с настройки и те ви позволяват да определите подробно какво искате да отстраните.

Надявам се, че не сте имали нужда от отстраняване на грешки и жънете плодовете на моя труд :)

Просто помислете за цялата бедност, омразата и лъжите и си представете унищожаването на всичко, което презирате. Бавно от пепелта, ще се появи фоксикса ...