Разработчик ПО для контейнерной виртуализации
141,95
рейтинг
26 июля 2016 в 18:03

Разработка → Новая версия OpenVZ



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


Не технология, а продукт!



Когда появился проект OpenVZ, то в рамках этого проекта были доступны ядра Linux с нашими патчами для контейнерной виртуализации и утилиты для управления контейнерами. Мы предоставляли компоненты, из которых пользователь мог собрать систему контейнерной виртуализации. В OpenVZ 7.0 мы предоставляем не технологию, а законченное решение в виде Linux дистрибутива. Всё, что требуется для начала использования новой версии это загрузить установочный образ и пройти через все шаги установщика. Получится сервер с возможностью и контейнерной и гипервизорной виртуализации на базе KVM/QEMU. Для платных пользователей доступна дополнительная функциональность, которую можно установить, купив лицензию, при этом переустановка не потребуется.

Больше возможностей интеграции



Рынок насыщен продуктами и решениями для виртуализации и ни один продукт не идеален и не предоставляет всю возможную функциональность. Понимая это мы расширили возможности интеграции OpenVZ. Так как OpenVZ 7 унаследовал архитектуру коммерческой Virtuozzo, то появилась возможность использования Parallels API. Дополнительно появилась возможность интеграции с LibVirt с помощью отдельного драйвера virtuozzo. Драйвер позволяет управлять контейнерами и виртуальными машинами OpenVZ с помощью стандартных утилит virsh, virt-install, GUI оболочку virt-manager и других приложений, интегрированных с LibVirt.

Новая функциональность, ранее доступная только в коммерческой Virtuozzo



Механизм управления памятью был основательно переработан и в новой версии представлено четвертое поколение этого механизма. Новая реализация использует подсистему memory cgroups, предоставляемой ядром Linux, и сервиса vcmmd.

В предыдущих версиях OpenVZ шаблоны контейнеров были довольно неудобными: нам требовалось обновлять шаблоны для актуальных версий дистрибутивов на сайте OpenVZ, а пользователям OpenVZ не забывать эти шаблоны обновлять на своих серверах. В OpenVZ 7 была добавлена возможность использования EZ-шаблонов для контейнеров, что позволит облегчить управление шаблонами на серверах с OpenVZ. Для управления предлагается использовать утилиту vzpkg.

Функциональность предыдущих версий OpenVZ документирована на вики проекта, статьи для которой писали люди из сообщества. У этого подхода был недостаток — плохая структурированность информации и временами статьи утрачивали актуальность и не обновлялись. В новой версии доступна полноценная документация на сайте docs.openvz.org, которую пишет наш отдел документирования. Причем возможность внесения изменений в документацию OpenVZ всё еще существует — исходные тексты доступны в репозитории openvz-docs.

Из других технических изменений:



Linux ядро тепреь базируется на последней версии ядра от Red Hat — RHEL 7 (версия соответствует ядру 3.10+). Размер патча по сравнению с ядрами RHEL5, RHEL6 был существенно уменьшен, что удалось достичь за счет активного использования штатных технологий, уже включённых в состав основной ветки ядра Linux: memory cgroups, CRIU, виртуализация NFS. «Живая» миграция для контейнеров теперь реализована с помощью инструментария CRIU и P.Haul вместо использования кода «заморозки»/«разморозки» процессов, реализованного в предыдущих версиях vzkernel.

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

Для установки OpenVZ 7.0 доступен установочный образ, который можно загрузить c сервера OpenVZ или с одного из зеркал проекта.
Автор: @estet
Virtuozzo
рейтинг 141,95
Разработчик ПО для контейнерной виртуализации

Комментарии (46)

  • 0
    1. Возможен ли переходи с Virtuozzo 6 на Virtuozzo 7? Если есть уже работающие сервера на 6 версии Virtuozzo.
    2. Плюс еще есть несколько виртуальных машин на гипервизоре Parallels, возможен ли переход на KVM?
    • +1
      1. Да, есть возможность мигрировать контейнеры и ВМ с vz6 на vz7. Миграция не онлайн — требует перезагрузки мигрируемого инстанса. Утилитка уже есть в последнем апдейте vz6, подробности в Virtuozzo 7 Upgrade Guide. В апдейте 1 будет возможность in-place апгрейда ноды с vz6 на vz7, если на ней есть только контейнеры. К тому же, всегда есть возможность восстановить контейнеры/ВМ из бекапов на vz6 в vz7.
      2. Если под гипервизором Parallels имеется ввиду Parallels Desktop, то скорее всего нет — у нас это не реализовано. Если гипервизор в vz6, то смотри пункт 1.
  • +1
    В Debian одно время была поддержка ядер и утилит OpenVZ. Будет ли актуальная версия в репозах дебиана?
    • 0
      У них теперь OpenVZ в виде собственного дистрибутива. Если найдутся энтузиасты, которые адаптируют ядро и утилиты для Debian — значит будет в репозиториях. Сами разрабы, как я понял, заниматься этим не хотят.
      Вообще, даже если кто-то займется портированием OpenVZ для Дебиана, неизвестно, одобрят ли это сами дебиановцы, и сколько займет это обсуждение. Дебиан считается достаточно консервативным дистрибутивом.
      • 0
        В 6.0 он был вроде как в основных дистрах, даже не contrib, так что почему бы и нет?
      • 0
        +1

        если есть желание, то можно начать с пакетирования основных компонентов OpenVZ в deb — https://openvz.org/Packages
    • 0
      Только bare-metal установка, даже поверх CentOS не поставите, не говоря уже о Debian.
  • +1
    Какие преимущества OpenVZ 7.0 перед openvz el6?
    • +1
      На мой взгляд, основные преимущества:
      1. Новое ядро, что дает совместимость с новым железом и возможность использовать CRIU/P.Haul для live migration контейнеров.
      2. Гипервизорная виртуализация KVM в добавок к контейнерам, что позволяет с помощью одних и тех же привычных интерфейсов vz запускать контейнеры и ВМ.
      3. Интеграция с OpenStack и virt manager через libvirt API.
      4. Багов поправили изрядно. Новых тоже добавили.
      • +1
        я бы еще добавил такие преимущества:

        — полноценная документация на сайте docs.openvz.org вместо разрозненных статей в вики
        — переход на использование EZ-шаблонов для контейнеров, что позволило облегчить управление шаблонами на серверах с OpenVZ
  • 0
    Миграции не предусмотрено? Мне свой Centos 6.5 (2.6.32-042stab093.5) никак до OpenVZ 7 не обновить?
    • 0
      Если миграции нет, то стоит ли вообще планировать переходить на ваш дистрибутив; какие преимущества в удобстве\быстродействии будут видны вот прям сразу?
    • +2
      Есть скрипт для миграции.
  • 0
    Проекты типа Proxmox, видимо, будут обновляться самостоятельно? Он на том же Debian'е…
    • 0
      Что-то мне подсказывает, что Proxmox уже давно не на OpenVZ (это если говорить о более-менее свежих версиях), а прошлые версии вряд ли поддерживаются в смысле развития старых фич.

      Но зачем в старом работающем сервере (который, похоже, не просто так не поднимали выше 2.х ветки) нужно что-то новое?
      • 0
        Так и есть, с 4 версии проксмокса используется LXC вместо OpenVZ.
        • 0
          Ну да, про 2.х я неточно написал, движения по удалению OpenVZ начались с 4.0 beta1. Обновлять OpenVZ в довольно старом дистрибутиве, как я и писал, я бы не стал, а в сторону LXC двигаться… Можно попробовать http://pve.proxmox.com/wiki/Convert_OpenVZ_to_LXC :)
        • –1
          Что не может не вызывать удивления, кстати. Отсутствие онлайн-миграции, беда с производительностью и многие прочие радости — и ради чего всё это, возможности запуска на некастомном ядре?
  • 0
    В чём разница между OpenVZ 7 и Virtuozzo 7? Или это одно и то же? Посмотрел установочные файлы — весят одинаково, только называются по разному.
    Также не нашёл на сайте условия лицензирования Virtuozzo 7 — есть бесплатная версия? При скачивании написано, что триал-версия на месяц, а дальше что?
    • 0
      Разница такая:

      — пользовательское соглашение
      — в Virtuozzo 7 набор пакетов с дополнительной функциональностью (High Availability, ReadyKernel, распределенный отказоустойчивый сторадж и т.д., )
      — установщики в дистрибутивах имеют разные экраны
      • 0
        + техподдержка для Virtuozzo 7
      • 0
        Есть таблица сравнения OpenVZ 7 и Virtuozzo 7?
        OpenVZ 7 бесплатная или всё-таки придётся платить?
        Для домашнего «сервера» достаточно будет OpenVZ 7, т.к. кластеризация не нужна?
        • 0

          да
          да
        • 0
          Таблица примерно такая
          OpenVZ 7 это полностью open source решение, соответственно, бесплатное.
          Да, в рамках одного сервера, скорее всего, Вам не удастся раскрыть весь потенциал платной vz7;)
  • 0
    Я слышал, что коммерческая виртуоза — больше не патч к ядру, а что-то вроде гипервизора, это правда?
    • 0
      Коммерческая виртуозза это платформа для гипервизорной и контейнерной виртуализации. Наш патч для ядра всегда относился к контейнерной виртуализации и в релизе Virtuozzo/OpenVZ 7 этот патч все еще присутствует, хотя его размер был очень сильно снижен (на 3/4 по сравнению с RHEL5, на 2/3 по сравнению с RHEL6).
  • 0
    Расскажите, плз, что в новой версии с кластерностью, НА, бэкапами и централизованным управлением серверами? В табличке вижу, что ничего этого в бесплатной версии нет. Действитально ли это так?
    • 0
      На сколько я понял, бизнес-модель не изменилась, OpenVZ бесплатный, но ограниченный. Хотите полноценную кластерную систему — Virtuozzo и за деньги.
      • 0
        Ну, хорошо. А цены-то где? На сайте Virtuozzo я сходу не нашёл.

        Панели управления, вижу, есть опенсорсные (не уверен, правда, что они будут работать с новой версией OpenVZ). Хотелось бы понять, есть ли у сообщества планы по разработке и остального недостающего функционала.
        • +1
          Как я понял из статьи — новый OpenVZ научился управляться через libvirt, значит с панелями теперь все хорошо будет.
          • +1
            Панель — это меньшее, даже микроскопическое из зол. Значительно важнее возможность построения отказоустойчивого кластера, которым можно было бы управлять без привлечения третьей линии поддержки, в идеале — прямо из веб-интерфейса.
          • 0
            Все правильно, панели можно использовать из списка поддерживаемых LibVirt.
        • 0
          Для розничной продажи цена
          за 1 ВМ — 4 EUR
          за 1 контейнер — 17 EUR
          Ограничения 8 CPU на ноду

          Для бронзовых партнеров немного дешевле:
          за 1 ВМ — 3.5 EUR
          за 1 контейнер — 16 EUR
          Ограничения 8 CPU на ноду

          У нас цены такие как у хостера. Возможно сейчас измениться ценовая политика.
          • +1
            Не очень понял, почему цены в виртуальных машинах/контейнерах.

            Если, скажем, нужен кластер из 2 (3, 4, 100500) серверов, на которых компания планирует запускать неизвестное число VM/CT и в качестве используемого для этого ПО посматривает на Virtuozzo. Предлагаете каждый раз, создавая контейнер для тестирования-разработки обновлять лицензию, отправляя счёт в Parallels (или куда там)?
            • 0
              Вам придется купить лицензию на каждый хост на определенное число контейнеров 10-20-30-50-100 и т.д.
              Лицензии выписываются через GUI, проблем нет.
              • 0
                Окей, предположим, что контейнеров будет, скажем, 50. 850 евро, единоразово? Или в год? Что значит «на каждый хост»? Как происходит изменение лицензии, если оплата — по безналу?
                • –1
                  Оплата возможна только с банковских карт. Лицензия арендуется столько сколько вам нужно.
                  Допустим вы решили создать кластер серверов.
                  У вас есть 3 физических сервера.
                  Вы хотите создать по 50 виртуальных серверов на 3-ех физических серверах.
                  01.07.2016 вы взяли в аренду
                  50 контейнеров стоит — 168 EUR
                  То есть в конце месяца
                  а именно 31.07.2016 вам нужно будет заплатить
                  168 EUR * 3 = 504 EUR

                  Оплата у них сначала берешь в аренду, потом платишь.
                  Было так раньше на VIrtuozzo 6
    • +1
      Да, в OpenVZ присутствует только базовая функциональность для виртуализации. А в Virtuozzo такая функциональность которая требуется для предоставления какого-то сервиса или услуг, что чаще всего означает коммерческое использование продукта.
      Тем не менее OpenVZ это полноценное решение для вирутализации с возможностью расширения через API LibVirt и использованию с OpenStack.
      • 0
        Спасибо за уточнение.

        Но, тем не менее, цены-то где? =) Или релиз — это пока только опенсорсного релиз? Тогда как скоро они будут известны?
  • 0
    +1
  • +1
    Про лицензирование и цены.

    1. Для Virtuozzo есть 2 схемы лицензирования: lease и perpetual. В случае lease вы платите за лицензии помесячно, в случае perpetual — один раз за лицензии и каждый год за поддержку. Соответственно, lease ориентирован на хостинг и сервис-провайдеров, perpetual — на корпоратов.
    2. Для Virtuozzo 7 мы изменили политику лицензирования и теперь продукт лицензируется только по числу процессорных сокетов с шагом в 2 сокета.
    3. Лицензии доступны в 3х редакциях:
    — Low density до 5 CT/VM
    — Basic до 10 CT/VM
    — Unlimited
    4. Поддержка входит в стоимость lease лицензий, а для perpetual покупается отдельно.
    5. В лицензию на Virtuozzo входят подписки на сервисы ReadyKernel и Application Catalog.
    6. Отдельно можно прикупить Virtuozzo Storage — наш software-defined storage. Лицензируется по объему полезного места.
    7. Есть также несколько уровней партнерства, которые дают различные плюшки.
    8. Конкретные цены можно уточнить по адресу moscow.sales@virtuozzo.com За этим адресом скрываются очень приятные русскоязычные люди, которые помогут вам определиться с версией, ценником и наиболее удобной процедурой покупки.
    9. Можно также задавать всякие каверзные вопросы напрямую мне vporokhov@virtuozzo.com

    Enjoy!
    • 0
      Какие-то взаимоисключающие параграфы =) В п. 1 написаны две схемы (это для шестой версии?), в п. 2 — новая схема, но одна. В п. 2 написано, что лицензии считаются по количеству сокетов, в п. 3 — что по количеству VM/CT. Нипанятна.

      Ещё хотелось бы понять, что подразумевается под термином «Integrated HA» в табличке сравнения версий. Как это реализовано технически и зависит ли от наличия вашего Storage?
      • +1
        Имеется ввиду, что Virtuozzo 6 лицензировалась по числу CT/VM. Virtuozzo 7 лицензируется по числу сокетов, но есть несколько версий. Например, некоторые хостеры используют vz для dedicated hosting, в случае VDC также не нужно большое число инстансов на ноде, так как сами инстансы большие. В этих случаях можно ограничиться лицензией на 5 или 10 инстансов, которая стоит существенно дешевле безлимитной. Если же вы большой хостинг — есть безлимит.

        Что касается lease и perpetual лицензий — они уже были в vz6 и остаются в vz7.

        Да, HA работает только при наличии Virtuozzo Storage.
        • 0
          Стало понятнее, спасибо. Ваши коллеги из отдела продаж смогут рассказать о технических подробностях HA и прочих интересных штуках?
          • 0
            Конечно смогут. Если понадобиться совсем deepdive, то и я подтянусь и коллег по стораджу привлечем.
  • 0
    Добрый день! Хотелось бы узнать подробней об ограничении «Private networks are not supported.»
    И можем ли мы создать еще один venet0:x интерфейс в контейнере?

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разработка