Как восстановить виртуальные машины Citrix-Xen бесплатно с помощью Xen-Phoenix (Bash)

Оглавление:

Как восстановить виртуальные машины Citrix-Xen бесплатно с помощью Xen-Phoenix (Bash)
Как восстановить виртуальные машины Citrix-Xen бесплатно с помощью Xen-Phoenix (Bash)

Видео: Как восстановить виртуальные машины Citrix-Xen бесплатно с помощью Xen-Phoenix (Bash)

Видео: Как восстановить виртуальные машины Citrix-Xen бесплатно с помощью Xen-Phoenix (Bash)
Видео: Wi-Fi камера может не работать - как вы это задумали! - YouTube 2024, Май
Anonim
У вас когда-либо была необходимость массового восстановления виртуальных машин Citrix-Xen для решения аварийного восстановления (DR) или просто для проверки того, что ваши резервные копии работают? HTG объясняет, как использовать Xen-Phoenix, бесплатный скрипт bash, для восстановления VM.
У вас когда-либо была необходимость массового восстановления виртуальных машин Citrix-Xen для решения аварийного восстановления (DR) или просто для проверки того, что ваши резервные копии работают? HTG объясняет, как использовать Xen-Phoenix, бесплатный скрипт bash, для восстановления VM.

Фото: Райан МакКерди через Compfight cc

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

обзор

«Вариант использования»: у вас есть несколько виртуальных машин, требующих восстановления. Импорт в «Xen Center» с использованием правых кликов работает нормально, но вы хотите, чтобы этот процесс выполнялся автоматически и по расписанию. Этот сценарий Bash использует команду «XE» для выполнения своих обязанностей. XE - это интерфейс командной строки Xen (CLI), автоматический эквивалент для выдачи «правых кликов» в «Центре Xen». Мы будем называть скрипт из Cron, который будет поставлять часть «планирования». В простейшей форме поток восстановления:

  • удалять все * ранее существовавшие виртуальные машины на сервере
  • Импортируйте виртуальные машины из файлов в резервную папку.
  • Убедитесь, что все виртуальные машины работают, активируя их один за другим и ищут пульты гостевых инструментов.
  • Выключите виртуальные машины, когда обнаружено сердцебиение, или тайм-аут достигнут.

* Удалить все поведение виртуальных машин можно полностью отключить и поддерживает исключения (см. Ниже).

Позволяет растрескиваться:)

Получить скрипт

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

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

Хотя выше будет работать, вам рекомендуется использовать метод GIT, чтобы вы могли получать выгоду от будущих обновлений.

Место экспорта

Нам нужно настроить, откуда взять экспорт VM.

В случайном порядке в Citrix Xen я обнаружил, что хранилища хранилищ (SR) доступны для использования в разделе «/ var / run / sr-mount /% UUID%», где UUID является уникальным идентификатором SR, который может быть полученных из графического интерфейса пользователя.

Это означает, что мы можем использовать обычный мастер «Next -> Next -> Finish», чтобы создать «mount» в нужное место для резервного копирования, а затем использовать сценарий для этого пути (как это было показано в messing с установкой из командной строки, которая выходящих за рамки настоящего руководства).

Чтобы создать новый «mount», щелкните правой кнопкой мыши имя сервера и выберите «Новый SR».

В этом примере мы укажем Xen на общий ресурс Windows, поэтому выберите «Общий доступ к файлам Windows (CIFS)»:
В этом примере мы укажем Xen на общий ресурс Windows, поэтому выберите «Общий доступ к файлам Windows (CIFS)»:
Завершите следующее -> Далее -> Готово.
Завершите следующее -> Далее -> Готово.

Получить UUID SR

Чтобы получить UUID SR, просто нажмите на его имя в Центре Xen и перейдите на вкладку «Общие».

Чтобы скопировать UUID, просто щелкните его правой кнопкой мыши и выберите «copy».
Чтобы скопировать UUID, просто щелкните его правой кнопкой мыши и выберите «copy».
С этой информацией вы готовы отредактировать файл настроек.
С этой информацией вы готовы отредактировать файл настроек.

Настройте файл настроек

Проект Xen-phoenix поставляется в комплекте с шаблоном файла настроек. Этот шаблон должен быть отредактирован для отражения вашей установки и передан в качестве первого аргумента скрипту.

Файл настроек обозначает следующее:

  • Расположение источника экспорта. Если вы следовали руководству по этому пункту, вам нужно заменить% UUID% SR, как было получено сверху.
  • Местоположение SendEmail. Если вы решили включить электронную почту, вам нужно указать, где вы извлекли исполняемый файл perl.
  • Verifier - Контролирует процедуру проверки после восстановления. Это включено по умолчанию, так как успешное «восстановление уровня файла» не обязательно означает функциональную виртуальную машину.
  • Server_prep - это управление предварительным восстановлением удаление всех виртуальных машин на сервере DR. Это включено по умолчанию, поскольку предполагается, что для этой цели DR-сервер является выделенным сервером. Если вам нужно, чтобы виртуальная машина, работающая на этом сервере, не удалялась, настройте ее для исключения. Если это поведение не подходит для вашей ситуации, просто отключите его полностью.
  • Детали электронной почты -Опять же, если вы включили электронную почту, вам нужно определить такие данные, как: «Кому», «От», «Имя сервера / IP и т. Д.».
  • отладка - По умолчанию используется отключение отладки со значением «0» (ноль). Вам не нужно включать это, но если вы это сделаете, в разделе устранения неполадок будет указано больше информации.

выполнение

Этот скрипт принимает файл настроек в качестве своего первого аргумента и любых других аргументов в качестве «Шевронов» для поиска (разделенных пробелами). Шевроны - это «строки», которые поддерживают регулярные выражения, которые представляют собой, по меньшей мере, часть желаемого имени файла экспорта 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 AM), введите ниже:

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 https://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz tar xvzhf sendEmail-v1.56.tar.gz

Обратите внимание на местоположение, в которое вы его извлекли. Для этого вам понадобится файл настроек.

Определение тега «Удалить исключение» (необязательно)

Xen-Phoenix берет страницу от своего предка (Xen-Pocalypse) и дает вам возможность полностью исключить виртуальную машину из общесистемного удаления с помощью контрольной TAG. Для этого вам нужно определить новое «Пользовательское поле».

Для этого откройте свойства сервера или даже VM. В навигационной панели выберите «Пользовательские поля».

Если это первый раз, когда вы определяете «настраиваемое поле» (как в приведенном выше примере), у вас не будет поля «Phoenix keeper» для ввода данных, поэтому вам нужно его создать. Чтобы сделать это, нажмите «Редактировать настраиваемые поля» в появившемся диалоговом окне, затем нажмите «Добавить …».
Если это первый раз, когда вы определяете «настраиваемое поле» (как в приведенном выше примере), у вас не будет поля «Phoenix keeper» для ввода данных, поэтому вам нужно его создать. Чтобы сделать это, нажмите «Редактировать настраиваемые поля» в появившемся диалоговом окне, затем нажмите «Добавить …».
Создайте поле типа «Текст» с именем «Phoenix keeper».
Создайте поле типа «Текст» с именем «Phoenix keeper».

Замечания: Имя настраиваемого поля было «жестко закодировано» в сценарий, поэтому вы НЕ ДОЛЖНЫ отклоняться от написания выше, если вы не измените соответствующий код.

После создания поля вы должны увидеть:

Закройте окно. Теперь вы должны заполнить поле «Phoenix keeper», как показано на рисунке ниже.
Закройте окно. Теперь вы должны заполнить поле «Phoenix keeper», как показано на рисунке ниже.
Теперь все, что вам нужно сделать, это заполнить это поле замечанием (любое замечание будет сделано), что заставит Xen-phoenix пропустить его при удалении.
Теперь все, что вам нужно сделать, это заполнить это поле замечанием (любое замечание будет сделано), что заставит Xen-phoenix пропустить его при удалении.

Поиск проблемы

Хотя я приложил много усилий, чтобы сделать скрипт простым в использовании и максимально надежным, «мир - это большая лаборатория». Информация, приведенная ниже, может помочь вам выяснить, что является источником ваших проблем.

логирование

Все «протоколирование» собираются хостом Xen, запускающим скрипт в механизме syslog. Это, конечно, можно рассматривать с помощью:

less +F /var/log/messages

Вы ищете ключевое слово «Xen-Phoenix».

Примечание. Citrix установил две (2) дневную политику хранения для syslog своих серверов. Вы можете иметь это в виду для postmortems.

отладка

Как отмечено в сегменте файла настроек, существует директива, позволяющая включить отладку. Включение отладки приведет к тому, что сценарий выведет подробное ведение журнала на консоль и закроет его от отправки писем и фактического выполнения импорта, если не установлены соответствующие флаги. Возможные флаги отмечены в шаблоне файла настроек, и они позволяют вам подробно определять, что вы хотите отлаживать.

Я надеюсь, что вам не нужна какая-либо отладка, и вы пожинаете плоды моего труда:)

Подумайте о всей бедности, ненависти и лжи, И представьте себе разрушение всего, что вы презираете. Медленно из пепла появится феникс …

Рекомендуемые: