Выпуск OpenVZ 7.0
Разработчики проекта OpenVZ сдержали все свои обещания и выпустили финальную версию OpenVZ 7.0, продукта, образованного в результате слияния кодовых баз открытой системы контейнерной виртуализации OpenVZ и коммерческого продукта Virtuozzo (Parallels Cloud Server). Теперь все желающие получили возможность промышленного использования последней версии контейнеров OpenVZ. Исходный код новой версии полностью открыт и доступен в публичном репозитории и зеркале на GitHub.
Основные изменения по сравнению с предыдущей версией OpenVZ, базирующейся на ядрах 2.6.32 и 2.6.18:
- Новая версия OpenVZ представляет собой законченное решение для виртуализации и предлагается в виде Linux дистрибутива, готового для установки на «голое» железо. Для этой версии не предоставляется поддержка установки компонентов OpenVZ поверх других дистрибутивов. По крайней мере на данный момент. Но так как код всех компонентов OpenVZ открыт под лицензией GPL или совместимыми, то нет никаких помех для портирования необходимых компонентов на другой дистрибутив, если у кого-то возникнет такая потребность. Для контактов с командой разработки предлагается использовать список рассылки devel@openvz.org;
- Linux ядро базируется на последней версии ядра от Red Hat — RHEL 7 (версия соответствует ядру 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 вместо использования кода «заморозки»/«разморозки» процессов, реализованного в предыдущих версиях OpenVZ в ядре vzkernel;
- Упрощена возможность обновления с бесплатной версии OpenVZ на платную — достаточно установить дополнительные пакеты и активировать лицензию;
- Для новой версии доступна полноценная документация на сайте docs.openvz.org;
- Переход на использование EZ-шаблонов для контейнеров, что позволит облегчить управление шаблонами на серверах с OpenVZ. Для управления шаблонами предлагается использовать утилиту vzpkg.
- Для OpenVZ 7.0 доступна интеграция с OpenStack.
До сих пор в предыдущих версиях OpenVZ и коммерческом продукте Virtuozzo утилита vzctl разрабатывалась независимо. В OpenVZ/Virtuozzo 7.0 было решено оставить версию из коммерческого продукта, поэтому совместимость vzctl была нарушена. Для управления контейнерами и виртуальными машинами рекомендуется использовать утилиту prlctl. Для начала работы с новой утилитой можно воспользоваться «шпаргалку» с синтаксисом популярных команд. В последующих версиях планируется отказаться от утилиты vzctl и использовать prlctl как основную утилиту.
Для установки OpenVZ 7.0 доступен установочный образ, который можно загрузить с одного из основных серверов OpenVZ или с одного из зеркал проекта. Также опубликован скрипт для облегчения миграции контейнеров с предыдущей версии OpenVZ на OpenVZ 7.0.
© OpenNet