В предыдущей части мы рассмотрели основы работы SureBackup, определили, что данный функционал позволяет запускать виртуальные машины напрямую из файлов резервных копий в изолированном от продуктивной среды сетевом окружении, выполнять ряд проверок, таких как доступность виртуальной машины по сети, доступность VMware Tools, а также запускать скрипты для тестирования доступности приложений внутри виртуальных машин.
Помимо этого, мы подготовили виртуальную лабораторию, которая будет использоваться для задач SureBackup.
Во второй части мы займемся тем, ради чего все изначально и планировалось – непосредственным тестированием наших резервных копий.
Коротко напомню о том, что было сделано ранее:
- Была создана виртуальная лаборатория (vLab) для задач SureBackup;
- При инициализации Proxy Appliance было указано две изолированные сети для виртуальных машин, по аналогии с текущими продуктивными сетями;
- Для каждой из изолированных сетей на Proxy Appliance был определен адрес шлюза, а также определены сети, используемые для маскарадинга;
- Был настроен Static IP mapping, для возможности получить доступ к виртуальной машине в изолированной сети по заранее заданному адресу из продуктивной сети.
Для автоматизации процедуры проверки резервных копий осталось выполнить два шага:
- Создать Application Group – группу приложений, которые мы будем проверять;
- Создать SureBackup Job – задачу, которая будет запускать тестирование по указанному расписанию.
Перейдем к непосредственной настройке и создадим Application Group. Мастер создания Application Group запускается из меню Backup Infrastructure – SureBackup:
Начинаем с указания имени группы приложений:
На следующем этапе, мы выбираем виртуальные машины, в чьей работоспособности хотим убедиться. Источников для данных машин у нас может быть три – резервная копия, реплика, снимок СХД.
Поскольку я хочу проверить виртуальные машины в резервных копиях, то выбираю соответствующий пункт Add – From backups:
Veeam предложит выбрать виртуальные машины из доступных резервных копий vSphere. У меня их не так много. Всего одна виртуальная машина:
Теперь в моей Application Group одна виртуальная машина:
Выбрав машину и нажав Edit в правой части экрана, мы можем указать ряд специфичных для данной машины настроек.
Role – Veeam обладает встроенной возможностью выполнять проверку доступности для определенных типов сервисов, в зависимости от указанной роли. Поскольку у меня DNS сервер, я выбираю соответствующую роль «DNS Server»:
В большинстве случаев, в качестве проверок выполняются запросы по специфичным для сервиса портам. Например, в случае с DNS, проверка доступности будет заключаться в ответе виртуальной машины по порту 53.
На вкладке Startup Options мы можем указать ряд настроек, связанных с ресурсами, выделяемыми виртуальной машине при проверке. Например, можно ограничить количество выделяемой оперативной памяти. Я выставил 50% от 100%, установленных изначально:
Также мы можем указать критерии, по которым SureBackup будет считать, что виртуальная машина успешно загрузилась – наличие ping, и доступность VM Tools выставлены изначально.
Здесь же мы указываем время, которое дается виртуальной машине на загрузку и время, которое дается приложению на инициализацию (данное время может меняться в зависимости от выбранной роли).
Test Scripts – скрипты, которые будут выполнять проверку служб в виртуальной машине. Поскольку, раньше мной была указана роль сервера DNS Server, на данной закладке автоматически добавлена проверка доступности порта 53:
Как было сказано ранее, некоторые скрипты присутствуют «из коробки»:
При необходимости, можно использовать собственные скрипты для проверок специфичных сервисов\портов. Возможно, стоит посвятить этому отдельную заметку.
Сохраняем внесенные изменения, нажатием по «OK». И по итогу мы имеем одну машину в группе, с ролью DNS Server и ограничением ресурсов в 50%:
Кликаем Next, сверяем настройки и завершаем создание группы.
Настало время протестировать данную группу приложений. Для этого нам нужна соответствующая задача – SureBackup Job.
Данный тип задач настраивается в меню Home – Jobs, по аналогии с задачами резервного копирования:
Указываем имя задачи:
Далее выбираем виртуальную лабораторию, в которой будут запускаться виртуальные машины из резервных копий:
В пункте настройки Application Group, мы выбираем группу машин, которую планируется проверять в рамках данной задачи:
Далее – Linked Jobs, где мы можем связать задачи резервного копирования\репликации с задачей SureBackup. Если не указывать какие-либо задачи, Veeam будет проверять только машины, указанные в Application Group. Если ранее по какой-то причине не была указана группа приложений, на данном шаге указание задачи резервного копирования обязательно:
На следующем шаге мы можем включить дополнительно проверку файлов резервных копий, а также Malware Scan. Здесь же настраиваются уведомления по результатам работы задачи:
Последним шагом мы настраиваем расписание запуска задачи SureBackup:
Нажимаем Apply и Finish, после чего, в общем списке задач у нас появляется новый тип задач – SureBackup, уже содержащий ранее созданную задачу:
Теперь запустим задачу и проверим работоспособность моей виртуальной машины с DNS сервером.
После запуска, в первую очередь выполняется инициализация Proxy Appliance:
У прокси 4 IP адреса. Первый адрес – адрес самого прокси, полученный по DHCP, с ним выполняет взаимодействие Veeam, через него выполняются проверки, а также он является шлюзом между продуктивной и изолированными сетями;
Второй адрес – адрес, используемый для Static IP mapping и через него мы можем получить доступ к виртуальной машине из продуктивной сети;
Последние два адреса – адреса шлюзов сетей, в которых располагаются виртуальные машины. Данные адреса располагаются на сетевых интерфейсах, подключенных к изолированному vSwitch.
Также к серверу, используемому в виртуальной лаборатории, подключается хранилище с именем VeeamBackup_VBR по протоколу NFS. В данное хранилище Veeam публикует виртуальные машины, непосредственно из резервных копий.
В моем случае на данном хранилище уже находится одна виртуальная машина:
Через некоторое время она запускается:
Если в данный момент подключиться к серверу VBR и проверить существующую таблицу маршрутизации, можно увидеть новые маршруты, обеспечивающие доступ в изолированную сеть (здесь немного отличаются адреса от тех, что были указаны в первой части):
Как можно заметить, доступ осуществляется через IP адрес Proxy (231 на конце).
С помощью логов задачи SureBackup я определил маскарадный IP адрес, который был выделен данной виртуальной машине и проверил доступность DNS через этот адрес:
Аналогичным образом, я проверил доступность DNS через адрес, указанный в Static IP mapping:
В это же время, проверка виртуальной машины была выполнена средствами Veeam в автоматическом режиме:
Как можно заметить, общий результат проверки положительный. Секции Heartbeat, Ping и Script были успешно проверены. Обратим внимание на лог задачи:
Согласно журнала алгоритм проверки у нас следующий:
- Starting virtual lab routing engine – Запуск Proxy Appliance. Настройка, поднятие заранее заданных IP адресов;
- Далее идут шаги по публикации и запуску проверяемой виртуальной машины (vm_vmik-ns-01) в vSphere;
- На запуск дается две минуты, после чего выполняется первая проверка – Heartbeat, или же доступность VMware Tools;
- Далее выполняется проверка доступности сети у виртуальной машины с помощью простого пинга;
- Выполнив проверку доступности сети, Veeam ожидает две минуты до запуска служб в системе (в нашем случае это службы DNS);
- Далее выполняется проверка доступности служб с помощью скриптов. В нашем случае это проверка DNS по порту 53;
- По окончанию всех проверок, виртуальная машина автоматически отключается и удаляется из окружения vSphere (с файлом резервной копии ничего не происходит, он не изменяется);
- Последним шагом останавливается Proxy Appliance, после чего проверка завершается.
Таким образом мы выполнили проверку работоспособности резервной копии и убедились, что из нее мы можем восстановить виртуальную машину и необходимые службы после восстановления будут доступны.
Пытливый читатель спросит – а что, если я хочу использовать не Application Group, а Link Job в задаче SureBackup? Все просто – не указываем application group, но привязываем задачу резервного копирования:
Теперь все виртуальные машины из данной задачи будут проверяться с помощью SureBackup.
Плюсы – прикрепил задачу, все виртуальные машины проверились;
Минусы – я не нашел гранулярности по виртуальным машинам, очевидно, что ее быть и не должно. Если указать в данном случае роль, то все машины в задаче будут проверяться одним и тем же скриптом. Upd: Гранулярность есть в меню Avanced – Add, после чего следует выбрать виртуальные машины из задачи.
Вот, что получится, если выбрать роль DNS Server:
Все три машины прошли проверку на Heartbeat и Ping, но вот проверку скриптом прошла только одна VM. Остальные проверку, ожидаемо, провалили и статус работы задачи SureBackup будет помечен как Failed.
Однако, если группировать идентичные по сервисам виртуальные машины в рамках одной задачи резервного копирования, такой проблемы конечно же быть не должно.
Ну а если мы просто хотим проверить, что виртуальные машины загружаются и пингуются, без проверки каких-либо сервисов, то привязать задачу будет достаточно удобно:
В качестве заключения:
В двух статьях я постарался осветить большую часть возможностей SureBackup и того, как настраивается и работает данная часть функционала Veeam.
Проверка резервных копий – дело важное и нужное, а если этот процесс можно автоматизировать, то почему бы не сделать этот сейчас, если такая возможность присутствует?
>> Application Group – группу приложений, которые мы будем проверять….
Application Group – это не группа приложений, которые мы будем проверять. Это группа виртуальных машин, которые будут запущены до проверки виртуальных машин из Linked Jobs и выключены в последнюю очередь, которые создают необходимую среду для проверяемых виртуалок из Linked Jobs. Например, в Application Group удобно внести бэкап контроллера домена, если приложения на проверяемых виртуальных машинах из Linked Jobs не могут работать без контроллера домена (например – почтовый сервер и т.п.).
Если такая среда не нужна, то и нет необходимости создавать Application Group и указывать ее в настройках задания SureBackup.
>> я не нашел гранулярности по виртуальным машинам, очевидно, что ее быть и не должно…
Можно нажать кнопочку Advanced и настроить для каждой машины функционал отдельно. (роли, таймауты и т.п.)
Спасибо за дополнение!