Слоган компании Veeam – «It Just Works!». И это так. Но не совсем: при использовании Backup & Replication на Hyper-V Server’е (тот, который бесплатный) работать можно только on-host/off-host. При запуске консоли управления система ругается на отсутствие зарегистрированных классов.
На форуме 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 (тут можно почитать подробнее):
Распаковка патча и установка.
В моем случае команда выглядит так:
Общий вид команд:
Не советую использовать ключ silent, это избавит вас от долгого чтения логов.
Компоненты будут автоматически обновлены при следующем запуске Veeam Backup Service.
4) В «Службах» выставляем всем службам Veeam тип запуска «Автоматически» и НЕ ЗАПУСКАЕМ.
5) Перезагружаем сервер.
6) Производим добавление хост-машины, т.е. самого себя.
Аргументы интуитивно понятны.
7) Проверяем, что добавление прошло в штатном режиме.
В ответ получим список ВМ на этом сервере.
Готово, идем далее.
По стечению обстоятельств оснастка для управления из PowerShell сама не регистрируется в системе, это нужно сделать в ручном режиме:
1) Проверяем, вдруг я не прав и оснастка работает.
2) Нет, не работает. Начинаем процесс регистрации.
Подключаем командлет installutil:
Регистрируем оснастку:
В этом примере путь к оснастке по умолчанию. Обратите внимание, что оснастка 64-битная, поэтому Framework64.
3) Проверяем регистрацию.
Все хорошо, теперь можно переходить к скрипту.
Скрипт уже мелькал в предыдущей теме о Veeam, правда в комментариях и без описания.
Тут можно почитать кто его написал и как им пользоваться, а так же скачать.
Отредактируйте скрипт под себя и настройте планировщик Windows. Задача тривиальна и описания не требует.
Отмечу лишь, что скрипт крайне удобный, сообщение в почту падает очень информативное.
Задача бэкапа ВМ силами Hyper-V сервера решена. Возможно, кому-то этот подход покажется не имеющим смысла, но лично для меня это было принципиально. За сим разрешите откланяться.
На форуме 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 сервера решена. Возможно, кому-то этот подход покажется не имеющим смысла, но лично для меня это было принципиально. За сим разрешите откланяться.
Sergey-S-Kovalev
Был бы я девушкой и не женат, я бы тебя расцеловал :) а так, огромное спасибо! :)
AcidVenom Автор
Рад, что статья вам помогла! На самом деле, я немного переживал, что инструкция будет не актуальна.