Клонирование, резервное копирование, восстановление с использованием vzdump
Подгрузим vzdump и rsync
[root@server ~]#apt-get install vzdump rsync
Для резервного копирования всех виртуальных машин на сервере используем:
[root@server ~]#vzdump --compress --dumpdir /home/vova --stop --all
--compress означает: сжимать dump файл (в результате получим .tgz).
--dumpdir указывает директорию в которой будет размещен дамп. Если вы не указывали dumpdir, по умолчанию в зависимости от дистрибутива будет использоваться /vz/dump или /var/lib/vz/dump.
--stop останавливает виртуальные машины, создает бэкап и запускает их опять.. Ваши виртуальные машины будут недоступны несколько минут если вы используете эту опцию. Более быстрым решенимем будет использовать...
--suspend данная команда приостанавливает VM; после этого виртуальная машина копируется с использованием rsync в временную директорию. Виртуальная машина возвращается в исходное состояние, причем время её недоступности было практически минимальным по сравнению с остановкой командой --stop. После этого делается дамп с использованием копии виртуальной машины из временной директории.
--all создает дамп все доступный виртуальных машин. Если вам необходимо сделать дамп определенной машины, замените опцию --all на VEID нужной виртуальной машины.
Для создания дампа виртуальной машины 701 в директории /home/vova и остановки виртуальной машины используйте команду:
[root@server ~]#vzdump --compress --dumpdir /home/vova --stop 701
Для создания дампа в директории по умолчанию:
[root@server ~]#vzdump --compress --stop 701
Тоже самое, но с использованием команды --suspend
[root@server ~]#vzdump --compress --suspend 701
Теперь вы можете скопировать полученный дамп на другой OpenVZ сервер, например используя scp:
[root@server ~]#scp /vz/dump/vzdump-701.tgz vova@192.168.0.1:/home/vova
Восстанавливаем виртуальную машину
[root@server ~]#vzdump --restore /home/vzdump-701.tgz 7011
... где 7011 это уникальный идентификатор восстановленной виртуальной машины.
Если вы не хотите изменять настройки виртуальной машины (к примеру IP адрес, имя хоста) вы можете запускать её, но перед этим убедитесь что оригинальная виртуальная машины выключена.
[root@server ~]#vzctl stop 701
Если вы хотите запустить и оригинальную и клонированную виртуальные машины одновременно, вам необходимо сменить IP адрес и имя хоста.
Устанавливаем хостнейм:
[root@server ~]#vzctl set 7011 --hostname test7011 --save
Для установки нового IP адреса, нам сперва необходимо удалить оригинальный адрес...
[root@server ~]#vzctl set 7011 --ipdel 10.10.186.1 --save
... а после этого установить новый:
[root@server ~]# vzctl set 7011 --ipadd 10.10.186.11 --save
После этого запускаем клон:
[root@server ~]#vzctl start 7011