Резервне копіювання віртуальних машин 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, нижче ніж у комерційних продуктів, але у багато компенсується його безкоштовністю, простотою настройки і швидкістю розгортання.

Порада. Крім резервного копіювання віртуальних машин, необхідно не забувати про необхідність бекапа конфігурації самого хоста ESXi.

зміст:

зміст:

  • Установка скрипта резервного копіювання MKSBackup
  • Налаштування параметрів резервного копіювання віртуальних машин
  • Запуск резервного копіювання віртуальних машин на хості VMWare ESXi

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

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

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

Наступний етап - налаштування параметрів резервного копіювання віртуальних машин, запущених на сервері 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: \ magik \ vmware global_conf = ghettoVCB.conf vm_list = vm1_https winXPtest destination = C: \ magik \ $ vm scp_bin = "D: \ Install \ Putty \ pscp.exe" -scp -r

Детальніше зупинимося на параметрах завдання:

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: \ Install \ Putty \).важливо. Переконайтеся, що на сервері ESXi включений демон SSH.

Далі необхідно внести ряд змін в файл ghettoVCB.conf (в нашому прикладі він знаходиться в каталозі C: ​​\ magik \ vmware). Нас цікавлять такі параметри

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 /

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

Протестуємо роботу скрипта резервного копіювання. Для це потрібно відкрити командний рядок з правами адміністратора і виконати команду:

C: \ Magik \ MKSBackup \ mksbackup.exe -v -c C: \ Magik \ mksbackup.ini backup VMWARE_FROM_WINDOWS

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

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

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

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

Після виконання тестового копіювання можна перейти до автоматизації процесу створення резервних копій. Для цього створимо нове завдання планувальника Windows.

Створимо, завдання з ім'ям "Backup ESXi", яке виконується по п'ятницях і запускає команду: C: \ Magik \ MKSBackup \ mksbackup.exe -v -c C: \ Magik \ mksbackup.ini backup VMWARE_FROM_WINDOWS

В налаштуваннях завдання не забудьте вказати, що його потрібно запускати з правами адміністратора (опція "Run with highest privileges").

Примітка. Якщо завдання буде запускатися від імені іншого облікового запису (не тієї, під якою виконувалось тестування), необхідно не забути, що в кеші нової облікового запису користувача буде потрібного ключа. Для рішень проблеми потрібно виконати зазначену вище команду plink з-під нового облікового запису.

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

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

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