Эта статья написана Владимиром Ереминым, менеджером Veeam по стратегии развития продуктов. Владимир активный участник форумов Veeam, Twitter и Spiceworks. Одна из областей специализации Владимира — PowerShell, поэтому статья посвящена работе с этим инструментом. Если у вас есть вопросы по принципам работы с PowerShell из этого материала, вы можете их задать на форумах Veeam. Кроме того, вы можете загрузить типовой сценарий для VMware и Hyper-V, а также обсудить их на форумах Veeam.
Veeam Backup Free Edition — самый популярный из инструментов Veeam, в первую очередь благодаря функционалу VeeamZIP, который позволяет создавать полные копии неограниченного числа виртуальных машин (ВМ) по необходимости. Однако VeeamZIP всегда имел одно небольшое, но неприятное ограничение — невозможность запланировать автоматическое резервное копирование. Поскольку запуск VeeamZIP осуществляется вручную, его интерфейс просто не предусматривал создания расписания. Если вы уже столкнулись с этим, то новости вас несомненно обрадуют: в Update 2 этой проблемы больше нет Мы получили по этому поводу множество обращений на форумах, в Twitter и других площадках и пошли навстречу пожеланиям пользователей. Теперь в редакции Free Edition доступен командлет Start-VBRZip PowerShell.
Принцип работы
Как уже было сказано, главная возможность Veeam Backup Free Edition — создание резервных копий ВМ с помощью VeeamZIP (с последующим восстановлением ВМ, файлов гостевых ОС и приложений из этих резервных копий). VeeamZIP всегда создает файл полной резервной копии (.vbk), который представляет собой отдельную точку восстановления. Редакция Free Edition позволяет сохранять его в репозитории резервных копий, а также локально или на сетевом диске.
Выполняя резервное копирование с помощью VeeamZIP, можно запустить процесс сразу для нескольких выбранных ВМ. Такое резервное копирование почти не требует вмешательства оператора, поэтому его удобно запускать вручную.
Update 2 позволяет написать простой сценарий PowerShell (здесь можно загрузить типовой сценарий для VMware, а здесь — для Hyper-V). Он запустит VeeamZIP для выбранной ВМ по расписанию, которое должно быть задано через Windows Scheduler. Мы разработали типовой сценарий, который не только обеспечит запуск резервного копирования ВМ с помощью VeeamZIP, но и отправит по электронной почте отчет о проделанной работе!
Параметры сценария
Сценарий позволяет создавать резервные копии работающих ВМ, которые запущены как на автономных хостах, так и в кластерах или на сервере vCenter. Перед запуском сценарий необходимо указать значения трех обязательных параметров: имена ВМ для резервного копирования, размещающие эти ВМ хосты и каталог, куда будут сохранены копии. Обратите внимание: сценарий был обновлен 18 мая по отзывам наших пользователей.
##################################################################
# Переменные, определяемые пользователем
##################################################################
# Имена ВМ для резервного копирования, через запятую (обязательный параметр). Например, $VMNames = “VM1”,”VM2”
$VMNames = ""
# Имя сервера vCenter или автономного хоста, где находятся ВМ (обязательный параметр)
$HostName = ""
# Каталог сохранения резервных копий. Например, C:\Backup (обязательный параметр)
$Directory = ""
По желанию вы можете изменить степень сжатия и срок хранения копии, отключить заморозку VMware и настроить уведомления:
# Требуемая степень сжатия (опционально; возможные значения: 0 - нет, 4 - с поддержкой дедупликации, 5 - оптимальная, 6 - высокая, 9 - максимальная)
$CompressionLevel = "5"
# «Заморозить» ВМ при создании снапшота (опционально; в гостевой ОС должны быть установлены VMware Tools или Hyper-V Integration Components. Возможные значения: $True/$False)
$EnableQuiescence = $True
# Настройки хранения (опционально; по умолчанию файлы VeeamZIP не удаляются и хранятся в указанном каталоге неограниченное время.
# Возможные значения: Never, Tonight, TomorrowNight, In3days, In1Week, In2Weeks, In1Month)
$Retention = "Never"
Если вы хотите получить отчет о создании резервной копии по электронной почте, необходимо также установить следующие настройки уведомлений.
##################################################################
# Настройки уведомлений
##################################################################
# Включить уведомления (опционально)
$EnableNotification = $True
# Сервер SMTP
$SMTPServer = ""
# Отправитель
$EmailFrom = ""
# Получатель
$EmailTo = ""
# Тема
$EmailSubject = ""
Итоговый отчет будет выглядеть следующим образом:
Name | Start Time | End Time | Result | Details |
CentOS-tiny_2015-03-26T180459 | 3/26/2015 6:04:59 PM | 3/26/2015 6:07:17 PM | Warning | Processing finished with warnings at 3/26/2015 6:07:13 PM Cannot use VMware Tools quiescence because VMware Tools are not found. |
CentOS-tiny_replica_2015-03-26T180720 | 3/26/2015 6:07:20 PM | 3/26/2015 6:11:20 PM | Success | Processing finished at 3/26/2015 6:11:18 PM |
Все указанные настройки производятся с помощью значений соответствующих переменных. Если вы хотите, чтобы файлы резервных копий удалялись через две недели, для переменной $Retention следует установить значение «In2Weeks» (строка) и т. д. Нет необходимости описывать здесь назначение каждой переменной и перечислять допустимые значения: в типовом сценарии дано краткое описание всех переменных.
Настраиваем расписание запуска сценария
Прежде чем создавать расписание для сценария, запустите его вручную и убедитесь в правильной работе.
Самый простой способ создать расписание для выполнения регулярного резервного копирования — использовать планировщик заданий Windows (Windows Task Scheduler). Просто откройте планировщик и создайте новую простую задачу:
Введите для нее имя и описание, чтобы в будущем было сразу понятно назначение задачи.
Следующая страница — «Task Trigger» (Триггер задачи). Здесь все очень просто и интуитивно понятно. Доступные параметры обеспечивают достаточную гибкость настроек: в зависимости от требуемого показателя RPO, резервное копирование можно выполнять от одного раза в месяц до нескольких раз в день. Большинство пользователей выполняют резервное копирование один раз в день:
Задайте время выполнения задачи в нерабочие часы. В приведенном примере задача выполняется каждый вечер в 22:00, начиная с 22 апреля 2015.
На следующей странице «Action» (Действие) укажите необходимость запуска программы и нажмите «Next» (Далее).
На панели «Start a Program» (Запуск программы) необходимо ввести в соответствующее поле команду:
Powershell –file “Путь к файлу Veeamzip.ps1”
И все! Если после создания задачи нужно внести в нее изменения, откройте окно ее свойств. Для этого поставьте флажок «Open the Properties» (Открыть свойства), перед тем как нажать «Finish» (Готово):
Поскольку задача может выполняться на сервере и без активного пользователя, рекомендуется указать логин и пароль. Это позволит выполнять задачу вне зависимости от регистрации в системе.
Закончив настройку задачи, щелкните по ней правой кнопкой мыши и выберите «Run» (Выполнить), чтобы убедиться в правильности выполнения.
PowerShell дает пользователям Veeam Backup Free Edition то, о чем они давно мечтали!
Теперь у вас есть отличная возможность сделать то, чего давно хотели — создать расписание резервного копирования для Veeam Backup Free Edition. Решение открывает гораздо больше возможностей для бэкапа и восстановления данных, чем альтернативные решения на базе сценариев.