vmware ESXi - резервное копирование виртуальных машин

Задача

Настроить еженедельное резервное копирование определенных виртуальных машин (ВМ), выполняющихся на платформе vmware ESXi 5.1
Резервные копии будут храниться на сервере под управлением FreeBSD, по одной копии для каждой ВМ.

Решение

Краткий план, что нужно сделать:

  • включить ssh-сервер на vmware ESXi
  • настроить беспарольный SSH-доступ (по ключу) к vmware ESXi
  • установить rsync на vmware ESXi (гибкий и быстрый инструмент, умеет дописывать данные)

Включить ssh-сервер на vmware ESXi

  • Подключиться клиентом к vmware ESXi
  • Перейти в Configuration → Security Profile
  • В Services жмем по Properties, выбираем SSH → Options, выбираем «Start automatically if any ports are open..»
  • В Firewall жмем по Properties, ставим галочку для «SSH Server»

Настроить беспарольный SSH-доступ

На хосте, на котором нужен беспароьный доступ, выполнить:

ssh-keygen -t dsa
cat .ssh/id_dsa.pub | ssh root@ХОСТ 'cat >> /etc/ssh/keys-root/authorized_keys'

, где ХОСТ - это IP-адрес vmware ESXi

Установить rsync на vmware ESXi

Для того, чтобы заработал rsync на vmware ESXi, на стороннем узле соберем из исходников бинарный файл rsync и скопируем его на vmware ESXI в /bin/

Насколько мне известно, vmware ESXi 5 - это клон RHEL 5, поэтому собирать rsync следует под управлением ОС RHEL 5 i386

Для этого на хосте RHEL 5 выполним:

yum install gcc zlib-devel -y

wget http://www.samba.org/ftp/rsync/src/rsync-3.1.0.tar.gz
wget http://www.samba.org/ftp/rsync/src/rsync-3.1.0.tar.gz.asc

gpg --keyserver=pgp.mit.edu --recv-keys 4B96A8C5
gpg --verify rsync-3.1.0.tar.gz.asc

tar -xvzf rsync-3.1.0.tar.gz
cd rsync-3.1.0
./configure
make CFLAGS="-static" EXEEXT="-static"
strip rsync-static

После сборки в текущем каталоге будет лежать запускаемый файл rsync-static. Теперь необходимо скопировать rsync на vmware ESXi

scp -p rsync-static root@ХОСТ:/bin/

, где ХОСТ - это IP-адрес vmware ESXi

Выполним на vmware ESXi

cd /bin && ln -s rsync-static rsync

В итоге мы имеем работоспособный rsync на vmware ESXi.

Делаем резервную копию ВМ

Для автоматизации задачи я написал скрипт vmware.backup.vms.cron

Копируем, сохраняем, ставим права 700, в скрипте заменяем ХОСТ на IP-адрес vmware ESXi, 26 на ID вашей ВМ и запускаем:

./vmware.backup.vms.cron

Скрипт vmware.backup.vms.cron корректно остановит ВМ, скопирует каталог с файлами ВМ в /z-bak/ и запустит ВМ.

Не забудьте установить vmware-tools для ВМ, иначе мы не сможем корректно выключать ВМ

Ссылки

Комментарии

 
blog/2013/11/29-vmware_esxi_-_резервное_копирование_виртуальных_машин.txt · Последние изменения: 2014/02/03 10:00 — Антон Бугреев · []