Релиз OpenVZ 7.0

Компания Virtuozzo представила финальную версию OpenVZ 7.0. Теперь все желающие получили возможность промышленного использования последней версии контейнеров OpenVZ. OpenVZ 7.0 — это продукт, получившийся в результате слияния кодовых баз открытой системы контейнерной виртуализации OpenVZ и коммерческого продукта Virtuozzo (Parallels Cloud Server). Исходный код новой версии полностью открыт и доступен в публичном репозитории и зеркале на GitHub.

Основные изменения по сравнению с предыдущей версией OpenVZ, базирующейся на ядрах 2.6.32 и 2.6.18:

  • новая версия OpenVZ представляет собой законченное решение для виртуализации и предлагается в виде Linux дистрибутива, готового для установки на «голое» железо. Для этой версии не предоставляется поддержка установки компонентов OpenVZ поверх других дистрибутивов.
  • Linux ядро базируется на последней версии ядра от Red Hat — RHEL7 (3.10+). Размер патча по сравнению с ядрами RHEL5, RHEL6 был существенно уменьшен (см. слайды). Этого получилось достичь за счет активного использования технологий из основной ветки Linux ядра.
  • добавлено online-управление памятью контейнеров и виртуальных машин с помощью подсистемы memory cgroups в Linux ядре и сервиса vcmmd
  • гарантированные лимиты памяти для виртуальных машин и контейнеров
  • функциональность для более эффективного использования оперативной памяти, доступной на физическом сервере: KSM (kernel same-page merging).
  • проприетарный гипервизор Parallels был заменён на гипервизор KVM/QEMU
  • добавлена возможность интеграции с LibVirt с помощью отдельного драйвера virtuozzo. Драйвер позволяет управлять контейнерами и виртуальными машинами OpenVZ с помощью стандартных утилит virsh, virt-install, GUI оболочку virt-manager и другие приложения, интегрированные с LibVirt. Все изменения, необходимые для Virtuozzo, были приняты в основную ветку проекта LibVirt. Помимо LibVirt API в OpenVZ 7.0 появилась возможность использования storage pools, что позволит использовать не только ploop и simfs, но и другие бэкенды хранения данных для контейнеров.
  • «Живая» миграция для контейнеров реализована с помощью инструментария CRIU и P.Haul («пихль») вместо использования кода «заморозки»/«разморозки» процессов, реализованного в ядре vzkernel в предыдущих версиях OpenVZ
  • Упрощена возможность обновления с бесплатной версии OpenVZ на платную — достаточно установить дополнительные пакеты и активировать лицензию.
  • для новой версии доступна полноценная документация
  • переход на EZ шаблоны для контейнеров. Как следствие, управление шаблонами стало проще.
  • для OpenVZ 7.0 доступна интеграция с OpenStack (настроить и попробовать)

До сих пор в предыдущих версиях OpenVZ и коммерческом продукте Virtuozzo утилита vzctl разрабатывалась независимо. В OpenVZ/Virtuozzo 7.0 было решено оставить версию из коммерческого продукта, поэтому совместимость vzctl была нарушена. Для управления контейнерами и виртуальными машинами рекомендуется использовать утилиту prlctl. Для начала работы с новой утилитой можно воспользоваться «шпаргалку» с синтаксисом популярных команд. В последующих версиях планируется отказаться от утилиты vzctl и использовать prlctl как основную утилиту.

Для установки OpenVZ 7.0 доступен установочный образ, который можно загрузить с одного из основных серверов OpenVZ или с одного из зеркал проекта. Также опубликован скрипт для облегчения миграции контейнеров с предыдущей версии OpenVZ на OpenVZ 7.0.

 criu, openvz, virtuozzo

©  Linux.org.ru