Vladimir EreminЭта статья написана Владимиром Ереминым, менеджером 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, можно запустить процесс сразу для нескольких выбранных ВМ. Такое резервное копирование почти не требует вмешательства оператора, поэтому его удобно запускать вручную.

image

 

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). Просто откройте планировщик и создайте новую простую задачу:

image

Введите для нее имя и описание, чтобы в будущем было сразу понятно назначение задачи.

Следующая страница — «Task Trigger» (Триггер задачи). Здесь все очень просто и интуитивно понятно. Доступные параметры обеспечивают достаточную гибкость настроек: в зависимости от требуемого показателя RPO, резервное копирование можно выполнять от одного раза в месяц до нескольких раз в день. Большинство пользователей выполняют резервное копирование один раз в день:

image

Задайте время выполнения задачи в нерабочие часы. В приведенном примере задача выполняется каждый вечер в 22:00, начиная с 22 апреля 2015.

image

На следующей странице «Action» (Действие) укажите необходимость запуска программы и нажмите «Next» (Далее).

clip_image002

На панели «Start a Program» (Запуск программы) необходимо ввести в соответствующее поле команду:

Powershell –file “Путь к файлу Veeamzip.ps1”

clip_image004

И все! Если после создания задачи нужно внести в нее изменения, откройте окно ее свойств. Для этого поставьте флажок «Open the Properties» (Открыть свойства), перед тем как нажать «Finish» (Готово):

clip_image006

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

clip_image008

Закончив настройку задачи, щелкните по ней правой кнопкой мыши и выберите «Run» (Выполнить), чтобы убедиться в правильности выполнения.

clip_image009

PowerShell дает пользователям Veeam Backup Free Edition то, о чем они давно мечтали!

Теперь у вас есть отличная возможность сделать то, чего давно хотели — создать расписание резервного копирования для Veeam Backup Free Edition. Решение открывает гораздо больше возможностей для бэкапа и восстановления данных, чем альтернативные решения на базе сценариев.

GD Star Rating
loading...
Veeam Backup Free Edition: Теперь с PowerShell!, 5.0 из 5 на основании 7 отзывов

Veeam Availability Suite — скачать БЕСПЛАТНУЮ пробную версию на 30 дней

СКАЧАТЬ СЕЙЧАС
  • Андрей Шибанов

    По данной ссылке: https://www.veeam.com/blog/wp-content/uploads/2015/05/VeeamZIP-updated-HV.zip
    Ошибка в строчке:
    $VM = Find-VBRViEntity -Name $VMName -Server $Server
    Коммандлет Find-VBRViEntity используется для VMware. А скрипт вроде как для Hyper-V.
    Должнобыть Find-VBRHvEntity
    $VM = Find-VBRHvEntity -Name $VMName -Server $Server

  • GSlavG

    Я правильно понимаю, что в строке:
    $ZIPSession = Start-VBRZip -Entity $VM -Folder $Directory …
    параметру -Folder мы можем передать только локальную директорию? Будет ли возможность работать с сетевыми каталогами во FREE версии? Или придется использовать «костыли» с репозиториями (чего очень делать не хочется)?

  • GSlavG

    Спасибо.
    А есть ориентировочные сроки добавления -NetworkCredentials?

    • Vladimir Eremin

      На данный момент «одна из следующий версий продукта» и есть ориентировочный срок. Точнее сейчас сказать сложно.

  • Gastello

    Появился ли параметр -NetworkCredentials в Veeam Backup & Replication 9.0 Update 2 ? и будет ли обновлён скрипт ? Заранее благодарю за ответ 🙂

    • Gastello

      Судя по всему — не появился.

      • Vladimir Eremin

        К сожалению, нет. Как только оный появится, скрипт будет обновлен.

  • Владислав Борисычев

    Здравствуйте!
    Когда же появится — NetworkCredentials?
    Подскажите, о каких именно правах речь: «Насколько мне известно, проблема записи на шару решается предоставлением необходимых прав как сервис, так и компьютер аккаунтам.»?
    Задача записывать архивы на NAS.

    • Vladimir Eremin

      Добавили в Update 2, который буквально уже за углом.

      • Владислав Борисычев

        А за углом — это сколько дней-месяцев? 🙂

        • Polina Vasileva

          Владислав, скоро-скоро! ) Зарегистрируйтесь на Veeam Forums (https://forums.veeam.com/) и подпишитесь на нашу рассылку — узнаете одним из первых.

  • Владислав Борисычев

    Очень ждем обновление скрипта!

    • Vladimir Eremin

      Владислав, а какое конкретное обновление вас интересует? Если вы про -NetworkCredentials, то Update 2 уже вышел, и теперь Start-VBRZip может похвастаться новым параметром -NetworkCredentials.

      Теперь для того, чтобы бекапить на шары, достаточно задать два параметра -Folder и -NetworkCredentials.

      • Владислав Борисычев

        Здравствуйте, Владимир!
        Подскажите пожалуйста, что должно быть после этих параметров задано или они после чего. Заранее спасибо!

        • Сергей

          Я делал так:

          $netcreds = Get-VBRCredentials -Name «Domainadministrator»

          А в двух строках скрипта:

          $ZIPSession = Start-VBRZip -Entity $VM -Folder $Directory -Compression $CompressionLevel -DisableQuiesce:(!$EnableQuiescence) -AutoDelete $Retention

          В конце добавил -NetworkCredentials $netcreds

          С сетевыми ресурсами вида \servershare все работает. На те же шары, подключенные как сетевые диски все равно писать не хочет. Выход либо использовать iSCSI либо сетевые пути.

          • Владислав Борисычев

            Спасибо!

        • Vladimir Eremin

          Сергей расписал все верно.

          Start-VBRZIP -Folder (, путь до шары) -NetworkCredentials (, креды для доступа к шаре>)

  • Александр Вырупаев

    Использую Veeam Backup Free Edition 9.5 update 1
    При задании параметра $Retention значением In2Weeks вчерашние бэкапы удаляются! Остается только бэкап за сегодня! Это косяк или я что-то не понимаю в работе этого параметра?

    • Vladimir Eremin

      Странно. Думаю, стоит накатить Update 2 и посмотреть, ушли ли проблемы. Если нет, обратиться в саппорт.

      В свое время проверяли на U1 работоспособность ретеншена, никаких багов не выявили.

      • Александр Вырупаев

        На update2 эта функция начала работать правильно, но появился другой прикол: теперь кроме того что остаются за 2 недели в дополнение каждый месяц остаются 5 последних. Из-за этого у меня диск для бэкапов переполнился. Пришлось руками их чистить.

        • Vladimir Eremin

          На данный момент ретеншен работает как-то странно, если верить пользователям скрипта. Не могли бы Вы попробовать сделать то же самое через GUI и посмотреть, воспроизводится ли проблема или нет?

          • Александр Вырупаев

            Так через gui я могу только сделать новый бэкап. Он же никак не повлияет на уже существующие? А проблема только в очистке.

          • Vladimir Eremin

            Так вот это и хочется понять. Если задать нужные настройки очистки через GUI, отработают ли они успешно или нет.

          • Александр Вырупаев

            Попробовал через интерфейс. Ничего не изменилось.
            Зато обнаружил еще один косяк. Сегодня 21.07, а у меня остались только бэкапы за периоды: 24.06-28.06, 08.07-17.07, и 21.07 Куда делись бэкапы 18-20 числа? Я их не удалял, судя по логам они были сделаны корректно. И так на двух серверах у каждой из 7 VM. Продукт вообще тестируется перед выходом или потом с разворачиванием тоже будут проблемы?

  • Владислав Борисычев

    Использую Veeam Backup Free Edition 9.5 update 2
    Подскажите, пожалуйста, почему может не работать $Retention?
    Пробовал два варианта: Tonight, TomorrowNight — не работают.

    • Дмитрий Устинов

      У меня такая же проблема!
      Использую Veeam Backup Free Edition 9.5 update 2 и Microsoft Windows Hyper-V Server 2012 R2.
      При любом значении Retention (кроме «Never») резервные копии удаляются на следующий день.
      При этом в C:ProgramDataVeeamBackup находятся файлы логов заданий, в которых можно найти строки вроде «[VeeamZIPRetention] Create, id ‘1f34916a-260d-4511-b159-d23860baf417’, retain days ‘08.01.2017 0:00:00’, repository id ‘00000000-0000-0000-0000-000000000000’, target file ‘D:VMBAckup2017.07.01VM1D2017-07-01T010043.vbk'».
      Следовательно, скрипт корректно передаёт значение $Retention в задачу, а планировщик очистки заданий работает некорректно.

      • Vladimir Eremin

        Провели ряд тестов, установить проблему не смогли. Чего уж там, даже проблема не воспроизвелась.

        Не могли бы Вы проверить, отрабатывает ли Retention, если задавать его через GUI?

        Заранее спасибо.

        • Дмитрий Устинов

          Большое спасибо за ваш отклик! Вчера провёл запрошенный вами тест.
          Два сервера Windows Server 2012 R2 std с ролью Hyper-V. На каждом локально установлен Veeam B&R 9.5 Upd2. На каждом вчера было запущено по два задания VeeamZip: одно вручную через GUI, второе через Powershell. В каждом задании указано хранить резервные копии 1 месяц. В итоге к 22:00 получил 4 резервных копии в одной папке.
          Проверил, что в C:ProgramDataVeeamBackup в логе каждого задания есть строка такого вида: «[06.07.2017 21:44:19] Info [VeeamZIPRetention] Create, id ‘6520a4de-4a9f-485b-97b5-38a73c40201a’, retain days ‘08.06.2017 0:00:00’, repository id ‘00000000-0000-0000-0000-000000000000’, target file ‘C:ClusterStorageVolume1VM_BackupOperational2017.07.06MainDCD2017-07-06T214413.vbk'».
          Сегодня в 07:00 папка уже была пуста.
          Сожалею, что не догадался сохранить там же несколько ВМ с AutoDelete=»Never» для проверки.

          Готов предоставить любую другую информацию, которая поможет в решении этой проблемы.

          • Vladimir Eremin

            Спасибо за информацию, раз проблема воспроизвелась через GUI, будем смотреть дальше в эту сторону.