Резервное копирование виртуальных машин VMWare ESXi с помощью MKSBackup

Резервное копирование виртуальных машин VMWare ESXi с помощью MKSBackup

Для организации системы автоматического резервного копирования виртуальных машин, запущенных на сервере VMWare ESXi мы воспользуемся бесплатной утилитой MKSBackup, скачать которую можно тут (на момент написания статьи последняя доступная версия MKSBackup 1.0.4 от 24.01. 2013). Данная утилита является своеобразным фронтэндом, который интегрируется с различными скриптами резервного копирования, в том числе GhettoVCB (скрипт резервного копирования ВМ, написанный на perl и поддерживаемый энтузиастами). GhettoVCB позволяет в онлайн режиме создавать резервные копии запущенных виртуальных машин. Резервная копия ВМ создается путем создания ее снимка (снапшота).

Важно. GhettoVCB не работает с виртуальными машинами, имеющих собственные снимки. Для выполнения бэкапа виртуальной машины все снапшоты должны быть удалены (например, через Snapshot Manager).

MKSBackup одно из немногих средств резервного копирования, позволяющих выполнять онлайн бэкап виртуальных машин. MKSBackup можно использовать для бэкапа виртуальных машин, запущенных как на коммерческих редакция VMware ESXi , так и на бесплатном VMware Hypervisor. Утилита разработана на Python и является кроссплатформенной. Утилита MKSBackup не имеет графического интерфейса, работает через командную строку, и настраивается через конфигурационные файлы.

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

Содержание:

Установка скрипта резервного копирования MKSBackup

  1. Скачайте и распакуйте архив с MKSBackup.
  2. Запустите файл mksbackup.exe. Ооткроется простой консольный мастер установки. В процессе установки нужно будет указать каталог, в который устанавливается скрипт (по умолчанию C:Magik), нужно ли устанавливать скрипт ghettoVCB (да, нужно), название задания резервного копирования (можно пока не задавать) и пароль пользователя, из-под которого будет запускаться задание резервного копирования (пока можно не задавать)Установка mksbackup - скрипта для бэкапа виртуальных машин vmware

Настройка параметров резервного копирования виртуальных машин

Следующий этап – настройка параметров резервного копирования виртуальных машин, запущенных на сервере ESXi. Настройка проводится путем редактирования конфигурационного файла mksbackup.ini (по умолчанию находится в папке C:Magik).

Откройте файл mksbackup.ini в любом текстовом редакторе. По своей структуре файл представляет собой несколько секций, имя каждой секции заключено в квадратные скобки.

Секция:

[DEFAULT]

В данной секции можно задать параметры оповещения по электронной почте. Нам это не интересно, поэтому оставим

mail=no

Следующая секция [VMWARE_FROM_WINDOWS]. Эта секция представляет собой задание резервного копирование и описывает различные параметры, обеспечивающие запуск бэкапа виртуальных машин в среде Windows. В нашем примере задание выглядит так:

[VMWARE_FROM_WINDOWS]

program=ghettovcb

host=10.10.1.89

port=22

login=root

password=LI&f3ccc23

local=C:magikvmware

 global_conf=ghettoVCB.conf

vm_list=vm1_https winXPtest

destination=C:magik${vm}

scp_bin="D:InstallPuttypscp.exe" -scp -r

конфигурация скрипта резевного копирования виртуальных машин vmware esxi

Подробнее остановимся на параметрах задания:

program – программа резервного копирования, оставляем ghettovcb

host – имя/ip хоста ESXi, на котором запущены виртуальные машины

port – порт для доступа (по умолчанию 22 порт – протокол SSH)

login – имя пользователя с правами доступа к серверу ESXi (по умолчанию это root, но с целью безопасности лучше завести на сервере ESXi отдельного пользователя )

password – пароль пользователя

local – локальная директория, в которой хранится скрипт резервного копирования и его конфигурация

global_conf – файл с настройками скрипта ghettoVCB

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

destination – параметр позволяет указать тип выполняемой операции. Это может быть

  • backup – выполнить простое резервное копирование (место назначения указывать не нужно)
  • copy – выполнить резервное копирование и скопировать полученные файлы в указанный каталог
  • move — выполнить резервное копирование и переместить полученные файлы в указанный каталог

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

mon-sun – предполагается, что скрипт может выполняться ежедневно (оставим так, так как периодичность запуска резервного копирования зададим через планировщик Windows).

Кроме того, укажем каталог, в который будут перемещаться резервные копии ВМ (C:magik). Параметр ${vm} указывает, что для каждой виртуальной машины будет создан отдельный каталог с ее именем, куда и будут складываться фалы виртуальной машины.

Примечание. Подробное описание конфигурационных настроек скрипта и его синтаксиса приведено на сайте разработчика.

scp_bin – путь к утилите scp

Совет. Модифицированная утилита scp входит в состав пакета Putty и называется pscp.exe. Скачайте архив с Putty по этой ссылке и распакуйте его в любой каталог (в нашем примере это D:InstallPutty).

Важно. Убедитесь, что на сервере ESXi включен демон SSH.

Далее необходимо внести ряд изменений в файл ghettoVCB.conf (в нашем примере он находится в каталоге C:magikvmware). Нас интересуют следующие параметры

VM_BACKUP_VOLUME=/vmfs/volumes/msa2000/backup

VM_BACKUP_ROTATION_COUNT=3

VM_BACKUP_VOLUME – каталог на сервере ESXi, в котором будут сохранятся копии виртуальных машин (естественно, что на VMFS разделе должно быть достаточно свободного места)

VM_BACKUP_ROTATION_COUNT – количество хранимых локальных копий (в нашем примере будут хранится 3 последние резервные копии)

Осталось с помощью утилиты plink (также входит в состав поставки Putty) сохранить ключ хоста в локальном кеше ssh. Например, так:

PLINK.EXE [email protected] ls /

plink- сохраняем ssh ключ в сессии

Запуск резервного копирования виртуальных машин на хосте VMWare ESXi

Протестируем работу скрипта резервного копирования. Для это нужно открыть командную строку с правами администратора и выполнить команду:

C:MagikMKSBackupmksbackup.exe -v -c C:Magikmksbackup.ini backup VMWARE_FROM_WINDOWS

,где ключ –v показывает, что нужно отображать подробную информацию, -c путь к файлу настроек mksbackup.ini, backup – означает что нужно запустить резервное копирование, в конце указывается имя задания из файла mksbackup.ini (в нашем примере задание VMWARE_FROM_WINDOWS).

Запуск резервного копирования виртуальных машин vmware

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

Процесс резервного копирования можно отследить по появлению событий создания/ удаления снапшотов в консоли VMware vSphere.

создание снапшотов виртуалок в esxi

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

После выполнения тестового копирования можно перейти к автоматизации процесса создания резервных копий. Для этого создадим новое задание планировщика Windows.

Создадим, задание с именем «Backup ESXi», которое выполняется по пятницам и запускает команду: C:MagikMKSBackupmksbackup.exe -v -c C:Magikmksbackup.ini backup VMWARE_FROM_WINDOWS

В настройках задания не забудьте указать, что его нужно запускать с правами администратора (опция «Run with highest privileges»).

Запуск резевного копирования vmware esxi по расписанию

Примечание. Если задание будет запускаться от имени другой учетной записи (не той, под которой выполнялось тестирование), необходимо не забыть, что в кэше новой учетной записи не будет нужного ключа. Для решений проблемы нужно выполнить указанную выше команду plink из-под новой учетной записи.

Недостатки данного данного метода резервного копирования виртуальных машин:

  • довольно низкая скорость создания резервных копий
  • большое количество свободного места, необходимое для хранения бэкапов ВМ

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

Qiziqarli malumotlar
Резервное копирование виртуальных машин в KVM