Слоган компании Veeam – «It Just Works!». И это так. Но не совсем: при использовании Backup & Replication на Hyper-V Server’е (тот, который бесплатный) работать можно только on-host/off-host. При запуске консоли управления система ругается на отсутствие зарегистрированных классов.

image

На форуме Veeam каждый 10 пост именно про запуск на Hyper-V Server’е, ответ всегда один – используйте как офф-хост, т.е. подключайтесь к серверу с другой полноценной машины.

Это не давало мне покоя несколько месяцев. Зачем держать еще одну ВМ или загружать существующую ВМ ненужными сервисами? А если у меня нет ВМ на Windows, что тогда?

Тех, кто разделяет мои мысли, прошу под кат. Там я расскажу, как заставить Hyper-V самому бэкапить свои ВМ с помощью скрипта на PowerShell.

Весь процесс настройки разбит на 3 этапа:
1) Установка Veeam B&R v8 FREE и актуального патча на Hyper-V Server, добавление хоста
2) Регистрация оснастки (Snapin)
3) Редактирование скрипта бэкапа под себя и работа с планировщиком Windows

Правильная установка


Установка Veeam B&R стандартная, без особенных моментов. Качаем, запускаем, отмечаем все компоненты для установки. После этого ставим службы интеграции и Транспорта. По умолчанию они находятся в c:\Program Files\Veeam\Backup and Replication\Backup\Packages\.

Далее – актуальный патч (на момент написания статьи — 2b). А вот здесь 2 подводных камня. Во-первых, патч просто так не ставится, ругается на активные задачи и т.д. А во-вторых, после его установки ОБЯЗАТЕЛЬНО запускать консоль, из которой запустится Component Updater, который продолжит обновление. В случае если просто установить патч, при запуске скрипта вы получите требование о необходимости обновления компонентов интеграции и обрыв задания.

Итак, последовательность действий при обновлении:

1) Подключаемся к «Службам» Hyper-V Server’у с другой машины с соответствующими правами, выставляем всем службам Veeam тип запуска «Отключено». Конечно, можно остановить службы и другими методами, используйте тот, который вам ближе.
2) Перезагружаем сервер.
3) Качаем патч на сервер, открываем командную строку и производим установку патча в режиме Unattended (тут можно почитать подробнее):

Распаковка патча и установка.

В моем случае команда выглядит так:

C:\2b.exe /q /c /t:C:\Temp
C:\Temp\HotFixRunner.exe noreboot log C:\Logs\veeam.log VBR_AUTO_UPGRADE=1

Общий вид команд:

%PatchFullPath% /q /c /t:%TempFolderPath%
%PathToHotFixRunner.exe% silent noreboot log %PathToLogFile% VBR_AUTO_UPGRADE=1

Не советую использовать ключ silent, это избавит вас от долгого чтения логов.

Компоненты будут автоматически обновлены при следующем запуске Veeam Backup Service.

4) В «Службах» выставляем всем службам Veeam тип запуска «Автоматически» и НЕ ЗАПУСКАЕМ.
5) Перезагружаем сервер.
6) Производим добавление хост-машины, т.е. самого себя.

add-vbrhvhost -name "*server_name*" -user *DOMAIN\account* -password *password*

Аргументы интуитивно понятны.
7) Проверяем, что добавление прошло в штатном режиме.

find-vbrhventity -server "*server_name*"

В ответ получим список ВМ на этом сервере.

Готово, идем далее.

Регистрация оснастки Veeam PSSnapin


По стечению обстоятельств оснастка для управления из PowerShell сама не регистрируется в системе, это нужно сделать в ручном режиме:
1) Проверяем, вдруг я не прав и оснастка работает.

Get-pssnapin –registered

2) Нет, не работает. Начинаем процесс регистрации.
Подключаем командлет installutil:

set-alias installutil $env:windir\Microsoft.NET\Framework64\v4.0.30319\installutil.exe

Регистрируем оснастку:

installutil "c:\Program Files\Veeam\Backup and Replication\Backup\Veeam.Backup.PowerShell.dll"

В этом примере путь к оснастке по умолчанию. Обратите внимание, что оснастка 64-битная, поэтому Framework64.
3) Проверяем регистрацию.

Get-pssnapin –registered

Все хорошо, теперь можно переходить к скрипту.

Скрипт и планировщик


Скрипт уже мелькал в предыдущей теме о Veeam, правда в комментариях и без описания.
Тут можно почитать кто его написал и как им пользоваться, а так же скачать.

Отредактируйте скрипт под себя и настройте планировщик Windows. Задача тривиальна и описания не требует.
Отмечу лишь, что скрипт крайне удобный, сообщение в почту падает очень информативное.

Задача бэкапа ВМ силами Hyper-V сервера решена. Возможно, кому-то этот подход покажется не имеющим смысла, но лично для меня это было принципиально. За сим разрешите откланяться.

Комментарии (2)


  1. Sergey-S-Kovalev
    12.07.2015 09:17
    +1

    Был бы я девушкой и не женат, я бы тебя расцеловал :) а так, огромное спасибо! :)


    1. AcidVenom Автор
      12.07.2015 12:25

      Рад, что статья вам помогла! На самом деле, я немного переживал, что инструкция будет не актуальна.