понедельник, 18 октября 2010 г.

How to Backup VMWare ESXi 4 Server

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

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

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

Бэкапить я собираюсь на Win машину.

Для того, чтобы к ESXi можно было подключаться удаленно, необходимо его перевести в unsupported mode и включить ssh. А так же установить пакет putty.

После чего делаем вот такой батничек с именем backuplab.bat:

@ECHO OFF
REM %1 - IP of vm host
REM %2 - root password
REM %3 - datastorename
REM %4 - lab name
REM %5 - backup path

ECHO Backup %4 from %1 host to %5\%4

ECHO Create folder for backup - %5\%4

md %5\%4

REM ECHO Remove old data - %5\%4
REM del /F /Q %5\%4\*.*

ECHO Get data from host

"%ProgramFiles%\PuTTY\pscp.exe" -l root -pw %2 -scp -unsafe %1:/vmfs/volumes/%3/%4/*.* %5\%4

ECHO Compress backup

REM C:\Program Files\WinRARrar.exe" a

"%ProgramFiles%\WinRar\rar.exe" a -r -ep1 %5\%4\labarh.rar %5\%4\*.*

ECHO Remove uncompressed data

del /F /Q %5\%4\*.vm*


Использовать его можно так :

backuplab.bat 10.30.30.111 mysuperpassword datastore1 LAB01 C:\BACKUPS


Параметры:
  • IP адрес или имя хоста где живут виртуалки
  • пароль рута
  • название datastore
  • имя виртуальной машины
  • каталог для бэкапов

Скрипт делает следующее -
  1. В каталоге C:\BACKUPS создает подкаталог с именем машины - LAB01
  2. Вытаскивает все данные из датасторы на ESXi
  3. архивирует полученное в labarh.rar

Работает он конечно не шустро, но меня пока устраивает.

PS: Для того чтобы понять что и как лежит в датасторах можно использовать WinSCP

UPD: Вышеописанный метод, с архивацией бэкапа WinRar дает очень неплохой результат, например для моей виртуальной машины объемом 21G бэкап размером всего в 3.5G.

2 комментария:

Diesel комментирует...

Хороший видеурок как делать резервное копирование виртуальных машин VMware vSphere 4.x с помощью Symantec Backup Exec 2010 R2

Advard II комментирует...

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