Клонирование/резервное копирование/восстановление OpenVZ с использованием vzdump
Метки: backup | Debian | OpenVZ
Пятница, 28 ноября 2008 г.
Просмотров: 17422
Подписаться на комментарии по RSS
vzdump это утилита для резервного копирования и восстановления виртуальных машин OpenVZ. В данном руководстве описывается как вы можете проводить процедуру клонирования, резервного копирования и восстановления виртуальных машин с использованием vzdump.
1 Предварительные замечания
В данной руководстве я использую два сервера OpenVZ:
- server1.example.com: IP 192.168.0.100
- server2.example.com: IP 192.168.0.101
Я запущу виртуальную машину с именем test.example.com, IP адресом 192.168.0.102 и VEID 102 на сервере server1.example.com, и далее я хочу сохранить эту виртуальную машину и восстановить её на сервере server2.example.com.
Мы восстановим её на сервере server2.example.com без изменений (т.е. с тем же IP адресом и хостнеймом),причем в этом случае мы должны остановить виртуальную машину на сервере server1.example.com, иначе произойдет конфликт IP адресов и имен хоста.
Во втором варианте мы можем восстановить машину на сервере server2.example.com, но изменим IP адрес и имя хоста используя команду vzctl - в этом случае мы можем запустить обе машины (оригинальную на сервере server1.example.com и клонированную на сервере server2.example.com) одновременно.
2 Подготавливаем сервера OpenVZ
Для начала нам необходимо установить vzdump и rsync с зависимостями. В Debian выполните следующую команду:
apt-get install vzdump rsync
3 Creating A Backup Of A VM
На сервере server1.example.com я хочу создать резервную копию своей виртуальной машины с VEID 102. Просмотрите
man vzdump
для того чтобы узнать как использовать vzdump.
Для резервного копирования всех виртуальных машин на сервере используется приблизительно такая команда:
vzdump --compress --dumpdir /home/backup --stop --all
--compress означает: сжимать dump файл (в результате получим .tgz).
--dumpdir указывает директорию в которой будет размещен дамп. Если вы не указывали dumpdir, по умолчанию в зависимости от дистрибутива будет использоваться /vz/dump или /var/lib/vz/dump.
--stop останавливает виртуальные машины, создает бэкап и запускает их опять.. Ваши виртуальные машины будут недоступны несколько минут если вы используете эту опцию. Более быстрым решенимем будет использовать...
--suspend: данная команда приостанавливает VM; после этого виртуальная машина копируется с использованием rsync в временную директорию. Виртуальная машина возвращается в исходное состояние, причем время её недоступности было практически минимальным по сравнению с остановкой командой --stop. После этого делается дамп с использованием копии виртуальной машины из временной директории.
--all создает дамп все доступный виртуальных машин. Если вам необходимо сделать дамп определенной машины, замените опцию --all на VEID нужной виртуальной машины.
Для создания дампа вашей виртуальной машины 102 в директории /home/backup и остановки виртуальной машины используйте команду:
vzdump --compress --dumpdir /home/backup --stop 102
Для создания дампа в директории по умолчанию:
vzdump --compress --stop 102
В результате вы увидите следующее:
server1:/vz/dump# vzdump --compress --stop 102 INFO: starting backup for VPS 102 (/var/lib/vz/private/102) INFO: starting first sync /var/lib/vz/private/102 to /var/lib/vz/dump/tmp9009 INFO: stopping vps Stopping container ... Container was stopped Container is unmounted INFO: final sync /var/lib/vz/private/102 to /var/lib/vz/dump/tmp9009 INFO: restarting vps Starting container ... Container is mounted Adding IP address(es): 192.168.0.102 Setting CPU units: 1000 Configure meminfo: 65536 Set hostname: test.example.com File resolv.conf was modified Container start in progress... INFO: vps is online again after 15 seconds INFO: Creating archive '/var/lib/vz/dump/vzdump-102.tgz' (/var/lib/vz/dump/tmp9009/102) Total bytes written: 340428800 (325MiB, 11MiB/s) INFO: backup for VPS 102 finished successful (1.37 minutes) server1:/vz/dump#
Тоже самое, но с использованием команды --suspend
vzdump --compress --suspend 102
Результат команды:
server1:~# vzdump --compress --suspend 102 INFO: starting backup for VPS 102 (/var/lib/vz/private/102) INFO: starting first sync /var/lib/vz/private/102 to /var/lib/vz/dump/tmp10842 INFO: suspend vps Setting up checkpoint... suspend... get context... Checkpointing completed succesfully INFO: final sync /var/lib/vz/private/102 to /var/lib/vz/dump/tmp10842 INFO: resume vps Resuming... INFO: vps is online again after 4 seconds INFO: Creating archive '/var/lib/vz/dump/vzdump-102.tgz' (/var/lib/vz/dump/tmp10842/102) Total bytes written: 340428800 (325MiB, 24MiB/s) INFO: backup for VPS 102 finished successful (1.57 minutes) server1:~#
После создания бэкапа, посмотрите в директорию с созданными дампами...
ls -l /vz/dump/
... вы должны увидеть файлы .tgz:
server1:~# ls -l /vz/dump/ total 147864 -rw-r--r-- 1 root root 1170 2008-11-20 17:40 vzdump-102.log -rw-r--r-- 1 root root 151249685 2008-11-20 17:40 vzdump-102.tgz server1:~#
Теперь вы можете скопировать полученный дамп на другой OpenVZ сервер, например используя scp:
scp /vz/dump/vzdump-102.tgz root@192.168.0.101:/home
4 Восстанавливаем виртуальную машину
На сервере server2.example.com вы можете восттановить ваши виртуальные машины следующей командой...
vzdump --restore /home/vzdump-102.tgz 250
... где 250 это уникальный идентификатор восстановленной виртуальной машины.
Если вы не хотите изменять настройки виртуальной машины (к примеру IP адрес, имя хоста) вы можете запускать её, но перед этим убедитесь что оригинальная виртуальная машины выключена.
vzctl start 250
Если вы хотите запустить и оригинальную и клонированную виртуальные машины одновременно, вам необходимо сменить IP адрес и имя хоста.
Устанавливаем хостнейм:
vzctl set 250 --hostname test2.example.com --save
Для установки нового IP адреса, нам сперва необходимо удалить оригинальный адрес...
vzctl set 250 --ipdel 192.168.0.102 --save
... а после этого установить новый:
vzctl set 250 --ipadd 192.168.0.250 --save
После этого запускаем клон:
vzctl start 250
Постовой
Фонд «Социальные проекты» организует для вас любые виды некоммерческой рекламы
Не опоздайте купить таунхаус в элитном поселке "Березки".
Еще записи по теме
- Создаем новый сетевой мост Xen в Ubuntu 8.04
- Добавляем дополнительный диск в гостевую систему Linux под Vmware без перезагрузки
- Перемещаем базовую виртуальную машину в Vmware и решаем проблему с связанными клонами
- Как управлять Microsoft Hyper-V из командной строки
- Как выбрать VPS
- Резервное копирование LVM XEN DomU
- Xen Howto: Установка Windows
Комментариев: 2
отличный мануал, спасибо.
подскажите при попытке сделать dump получаю данную ошибку