Копируем контейнер Parallels Virtuozzo на новый гипервизор

В этой заметке хочу поведать о том, каким образом можно скопировать/мигрировать контейнер Parallels Virtuozzo, с в KVM/VMware ESX/VirtualBox.

Основной проблемой подобных действий является то, что понятия полноценной операционной системы отсутствует в рамках контенера Virtuozzo. Как правило контейнер - это некий chroot, который доступен в виде папки на диске. Я буду рассматривать перенос контейнера Linux.

Есть два подхода:

  1. Тупо скопировать все файлы с контенера в готовую виртуальную машину.
  2. Создать образ используя промежуточное звено в виде продукта Parallels Bare Metal Server (PBMS)

У каждого способа есть свои преимущества и недостатки. Так в случай с первым методом нужно что бы версии операционных систем совпадали на 100%. Есть риск возникновения проблем в работе новой виртуальной машины.

Для того что бы скопировать виртуалку на прямую нужно:

  1. Подключиться к серверу Virtuozzo и посмотреть или запущена машина:
vzlist -a

В ответ получаем список контейнером и их статусы:
Screenshot from 2014-08-11 08:58:31

Если нужный Вам контейнер остановлен, нужно его замонтировать (запускать не обязательно):

vzctl mount 69540

Дальше подключаемся к новому виртуальному серверу и копируем в него всю информацию из контейнера:

rsync -arzv root@**%Parallels_Server_IP%**%:/vz/root/69540/ -exclude /boot -exclude /proc -exclude /sys -exclude /dev/pts -exclude /dev/shm -exclude /dev -exclude /lib/firmware -exclude /lib/modules -exclude /lib/udev -exclude /lib/udev/rules.d /mnt

Удаляем пару файлов и перезапускаем виртуальную машину:

rm -rf /mnt/etc/sysconfig/network-scripts/* && rm -rf /mnt/var/cache/yum/*

Этот туториал относится к разряду Как делать не нужно. Мне он не нравится, потому что работает 50х50. Parallels Virtuozzo - коммерческий продукт и использовать подход юного натуралиста не рекомендуется.

Для грамотной конвертации, все же лучше получить временную лицензию на BareMetal, которая дается на 30 дней и воспользоваться статьей о конвертации контейнера