Имали ли сте някога необходимостта от насипно състояние да възстановите вашите 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, който ще достави част "планиране". В най-простата си форма, възстановяващият поток е:
* Изтриването на всички 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 идва заедно с шаблон за настройки на файловете. Този шаблон трябва да бъде редактиран, за да отрази настройката ви и да бъде приет като първи аргумент за скрипта.
Файлът с настройки обозначава следното:
Този скрипт задава файла с настройки като първия му аргумент и всички други аргументи като "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 /".
Ние писахме за програмата 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 на сървърите си. Може да искате да имате това предвид за погребения.
Отстраняване на грешки
Както е отбелязано в сегмента на файловете с настройки, има директиви, които дават възможност за отстраняване на грешки. Активирането на отстраняването на грешки ще накара скрипта да изведе подробно регистриране в конзолата и да я кастрира от изпращането на имейли и всъщност извършването на внос, освен ако не са зададени и съответните знамена. Възможните флагове се отбелязват в шаблона на файловете с настройки и те ви позволяват да определите подробно какво искате да отстраните.
Надявам се, че не сте имали нужда от отстраняване на грешки и жънете плодовете на моя труд :)
Просто помислете за цялата бедност, омразата и лъжите и си представете унищожаването на всичко, което презирате. Бавно от пепелта, ще се появи фоксикса ...