PowerShell скрипт резервного копирования Microsoft Hyper-V

команды Windows PowerShell

Узлы участвующие в процессе:

  1. Сервер виртуализации – Microsoft Windows Server Core 2019 Hyper-V
  2. Сервер сетевых ресурсов на базе Microsoft Windows

Оба сервера находятся в одной локальной сети.

Предварительное описание процесса.

Первым шагом, на сервере виртуализации, один раз в неделю будет запущен скрипт BackUpVMs.ps1 который выполнит экспортирование виртуальных машин из указанного списка, в папку D:\BackUp\<Текущая Дата >\.

Вторым шагом, после завершения экспорта виртуальных машин, скрипт BackUpVMs.ps1 проверит доступность сетевого ресурса для копирования созданных копий виртуальных машин, если сетевой ресурс доступен, будет произведено копирование содержимого папки D:\BackUp\<Текущая Дата >\ в папку сетевого ресурса.

Свойствами скрипта BackUpVMs.ps1 предусмотрено следующее:

  • Проверка наличия или создание локального каталога хранения резервных копий, сохраняя одну версию резервной копии виртуальных машин;
  • Хранение двух версий резервной копии виртуальных машин в удаленном сетевом ресурсе;
  • Создание маркеров (в виде файлов), указывающих на активность работы скрипта;
  • Ведение простого логирования выполняемых процессов;
  • Отправка почтовых уведомлений в случае ошибок в процессе работы скрипта.
  • Копирование последней, корректной резервной копии в отдельную локальную папку D:\LastGoodCopyVM\.
  • Некоторые папки, преднамеренно указаны явным образом в командах скрипта, во избежание некорректного выполнения команд.

Сервер сетевых ресурсов.

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

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

На сервере сетевых ресурсов создадим:

  1. Сетевой ресурс «hv01»
  2. Пользователя «BackUp» (назначим созданному пользователя сложный пароль)

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

Сервер виртуализации Microsoft Windows Server Core 2019 Hyper-V.

На данном сервере разместим скрипт резервного копирования BackUpVMs.ps1. Предварительно присвоив переменным требуемые значения.

Ссылка на скрипт – https://github.com/victor-b81/PowerShell/blob/main/BackUpHyper-V_VM_RUS.ps1

Author: Виктор