Міграція з Proxmox на VMmanager
Хостери, що вже виросли з домашнього сервера з 1-2 віртуальними серверами до декількох високопродуктивних серверів у ДЦ, замислюються про автоматизацію рутинних дій та адміністрування віртуальних серверів. Найпопулярнішим із безкоштовних менеджерів віртуалізації є Proxmox. При своїх плюсах (він безкоштовний, з відкритим вихідним кодом та спільнотою), він має і мінуси, які з лишком перекривають ці плюси:
- Платні оновлення
- Платна технічна підтримка
- Відсутність офіційної українськомовної документації
- Непрофесійна локалізація
- Відносна складність установки
- Усі додаткові можливості та інтеграції – платні
- Багато компонентів створено сторонніми розробниками

Переходити зі звичного ПЗ на щось нове досить складно, крім вивчення нового програмного продукту, потрібно і зробити міграцію всіх даних. Це дуже складний крок і до нього слід підійти якомога ґрунтовніше. Не рідко вибір безкоштовних або менш дорогих продуктів виливається у додаткові витрати для дописування потрібного функціоналу, інтеграції з іншим ПЗ, локалізацією тощо.
Користуючись програмними продуктами ISPsystem, хостер може отримати повну автоматизацію всього процесу надання послуг своїм клієнтам.
У цій статті я розповім, як перенести віртуальні машини з Proxmox під керування VMmanager. VMmanager не підтримує імпорт або міграцію контейнерів та віртуальних серверів з інших менеджерів віртуалізації. Але це не складно зробити за допомогою API VMmanager. Розглянемо варіант міграції контейнерів із Proxmox на VMmanager-OVZ.
Міграція контейнерів з Proxmox на VMmanager-OVZ.
Міграція спрощуєтьсятим, що це можна зробити на одному сервері. VMmanager-OVZ без проблем встановлюється на тому ж сервері, де працює Proxmox без будь-якого втручання в роботу контейнерів.
Для цього слід завантажити та запустити файл-інсталятор — http://download.ispsystem.com/install.5.sh після чого відповісти на кілька питань для вибору потрібного програмного продукту та його версії. Так само автоматично підключиться офіційний репозитарії і почнеться встановлення панелі керування та супутнього ПЗ. Зверніть увагу, що налаштування openvz від proxmox без будь-яких проблем використовуються в VMmanager-OVZ. Єдине зауваження: після встановлення VMmanager-OVZ, необхідно вручну завантажити приклад конфігураційного файлу для openvz. Він потрібний для створення контейнера, і відсутній у дистрибутиві proxmox, тому в логах при спробі створити контейнер можна буде спостерігати таку помилку:
2014-12-03T10:39:28+0800 vzctl: CT 100: Sample config /etc/pve/openvz/ve-basic.conf-sample немає повідомлення: Немає такого файлу або directory 2014-12-03T10:39 :28+0800 vzctl: CT 100: Creation of container private area failed
Завантажуємо приклад конфігураційного файлу для openvz з офіційного репозиторію і поміщаємо до директорії, де він повинен бути:
Хочу звернути увагу на один момент при переносі. Існує можливість, що ідентифікаційні номери контейнерів можуть не збігтися. В обох випадках нумерація починається зі 100. Хоча в Proxmox можна вибрати довільний ID для створюваного контейнера, VMmanager цей лічильник починається зі 100 і не скидається, після видалення всіх контейнерів, нумерація продовжується з того числа, яке є наступним для віддалених. Щодо цього є одне рішення: потрібно видалити всі створені раніше віртуальнісервери та аварійно завершити процес vmmgr, тоді нумерація піде спочатку.
Налаштування параметрів у VMmanager-OVZ



Перенесення контейнерів утруднений тим, що обидва менеджери віртуальних серверів використовують різні методи зберігання інформації про ресурси керованих контейнерів. Proxmox використовує конфігураційні файли openvz, VMmanager - зберігає все в базі даних mysql, дублюючи налаштування у файли для openvz. Тому схема ускладнюється тим, що потрібно створити контейнери з VMmanager-OVZ і потім замінити контейнер на контейнер з Proxmox.
Після налаштувань маємо на сервері робочі екземпляри Proxmox і VMmanager-OVZ. В іншому процес міграції наводиться до кількох простих кроків:
- Зупинка контейнера, створеного в Proxmox
- Створення дампа контейнер.
- Перейменування конфігураційного файлу контейнера
- Видалення або перейменування файлів контейнера
- Створення контейнера в VMmanager-OVZ з тими ж параметрами, що переноситься
- Відновлення дампи в новий контейнер
- Запуск нового контейнера
Щоб спростити цей процес, скористайтесь прикладом скрипта, який я прикладаю нижче.
Тепер перейдемо до варіанта міграції з Proxmox із віртуальними серверами на VMmanager-KVM.
Міграції віртуальних серверів з Proxmox на VMmanager-KVM.
На жаль, тут не все піде так само гладко, як у попередньому випадку. Встановити VMmanager-KVM в якості основного вузла на той же сервер, де працює Proxmox не вийде через проблеми із залежністю пакетів.Тому розглянемо міграцію із використанням другого сервера.
Виробляємо налаштування VMmanager-KVM, що не особливо відрізняється від тієї, що я описав вище для VMmanager-OVZ
І діємо за таким алгоритмом:
- копіюємо з сервера Proxmox конфгураційний файл віртуальної машини
- створюємо на vmmgr ідентичну віртуальну машину
- зупиняємо
- зупиняємо на сервері Proxmox
- робимо копію файлу образу vm
- переносимо з сервера Proxmox образ на сервер з VMmanager-KVM та підмінюємо старий образ
- запускаємо vm у VMmanager-KVM
cat .ssh/id_rsa.pub ssh root@proxmox cat >> /root/.ssh/authorized_keys»
І далі вже все можна зробити за допомогою цього скрипту.