image

Когда руководство предложило мне посетить встречу разработчиков Linux-контейнеров, я поначалу подумывал отказаться. Ехать 500 км до Москвы и обратно, провести день на ногах, а я ведь даже не разработчик, я сисадмин, который использует технологии OpenVZ в своей работе…

Но, почитав программу, понял, что встреча рассчитана не только и не столько на разработчиков, но и на активных пользователей этого прекрасного творения от Parallels.
А поставив последнюю бету Virtuozzo 7, еще и составил себе список вопросов, которые хотелось бы прояснить.



Лошадь Яндекса

Встреча проходила под эгидой Яндекса, думал, увижу, как у них клево в офисах, но глубоко в коридоры нас не повели, конференц-зал типа холл-студия был при входе. В целом было очень мило. Желающие могли разместиться рядом с конференц-холлом на креслах-мешках…



Немножко магии имен…
Parallels делает множество прекрасных продуктов для виртуализациии, я думаю, что все яблочники
видели Parallels Desktop для Mac ;)

И в попытке избежать путаницы команду разработчиков решений виртуализации для сервис и хостинг-провайдеров
вместе с их продуктом Parallels Cloud Server наделили отдельным названием, без слова Parallels:

Команда Odin с продуктом Virtuozzo.

Из информации на сайте можно сделать вывод, что OpenVZ также перестает быть обособленным бесплатным продуктом и становится большей частью Virtuozzo 7, оставаясь и дальше бесплатным, но с платными утилитами автоматизации облачного сервиса.

В начале докладчики из Odin поведали о том, что нас ждет нового Virtuozzo 7:

Как будет называться следующая версия бесплатного продукта они еще не определились, пока текущее название вот такое: OpenVZ/Virtuozzo 7. Возможно, будет называться просто Virtuozzo 7, к которому будут предлагаться платные услуги тех.поддержки и модули управления фермой хост-машин с контейнерами, расположенными на распределенном хранилищие Virtuozzo Storage…
Также, в отличие от OpenVZ, в Virtuozzo 7 будут KVM-based виртуальные машины в дополнение к контейнерам.

Новая версия основана на RHEL7 и ядрах версии 3.10, со всеми прелестями в виде systemd. Объем патчей в ядре будет меньше, чем в OpenVZ 6, но они будут, так что на ванильном ядре контейнеры не запустятся, надо будет или использовать их дистрибутив CloudLinux, или устанавливать vzkernel на Red Hat/CentOS 7.

Надо будет отвыкать пользоваться vzctl и переходить на другую утилиту prlctl, синтаксис команд у утилит почти одинаков, но prlctl умеет намного больше.

Главное отличие интерфейса в том, что vzctl оперирует с VEID контейнеров ( /vz/private/$VEID ), а prlctl с именами и UUID ( /vz/private/$UUID ).

symfs больше не поддерживается, все контейнеры должны быть в ploop image, так что просто скопировать symfs-контейнер через rsync на Virtuozzo 7 и запустить там его не получится.
Впрочем есть несложный рецепт по конвертации вручную, а в будущем разработчики обещали специальную утилиту для миграции.
Рецепт: сначала надо на OpenVZ 6 задать дисковые лимиты, потом сконвертировать контейнер в ploop image, и уже этот image переносить на Virtuozzo 7.

С переходом на ploop image обещают множественные снепшоты с возможностью смонтировать каждый снепшот, снепшот-бекапы и миграцию контейнеров на лету…
Все это уже работает, кроме онлайн-миграции контейнеров.

Проблема у Odin в том, что у них не приняли большинство их патчей ядра (видимо из-за большого объема и сложности аудита), так что теперь они воплощают функционал непринятых патчей в юзер-спейс коде. Называется этот проект CRIU. Обещают, что можно будет замораживать в набор файлов на диске и восстанавливать состояние не только контейнеров, но и отдельных приложений. Будет круто, но не скоро. Где-то в 2016 году…

Также в Virtuozzo 7 будет использован стандартный системный механизм распределения памяти между контейнерами, но с помощью демона VCMMD можно будет автоматически, на лету менять мягкие лимиты выделения памяти для контейнеров, повышая эффективность использования ресурсов хост-машины.

Очередной докладчик, генеральный директор компании Русоникс, поделился секретами успеха бизнеса сервис-провайдера.
Кроме использования купленного полного пакета Virtuozzo, значительно облегчающего задачи управления большим количеством хост-машин и контейнеров, успех ему приносит ориентация на массового стандартного клиента, которому набросали сайт-магазин на битриксе. Всем остальным предлагается виртуалка с рут-доступом для самостоятельного плавания.
А вот мы так не можем, мы всегда готовы помочь своим клиентам в любых их запросах.

Докладчик из компании CloudLinux рассказывал о нестандартном применении технологии CRIU для ускорения запуска php модулем apache. О том, в скольких местах им пришлось героически бороться, чтобы применить CRIU для своих целей, но, к сожалению, так и не сказал ничего о практической пользе этого фокуса, и чем оно лучше запуска php через php-fpm.

Начиная с версии ядра vzkernel 042stab105.4 появилась возможность запускать Docker контейнеры внутри openVZ контейнеров, разработчики OpenVZ работают в плотном контакте с разработчиками Docker, но последний развивается так быстро, что OpenVZ за ним не успевает. Так что внутри контейнера OpenVZ работает только определенная версия Docker, использовать самую последнюю пока не получится.

Инструкции по установке в вики OpenVZ openvz.org/Docker_inside_CT.
Обещают к релизу Virtuozzo 7 сделать полноценную поддержку Docker.



Очень порадовал заключительный докладчик Дмитрий Монахов. Своей энергией и харизмой он буквально взорвал уставший уже зал. И все с большим интересом прослушали историю о том, что бывает, когда файловая система, созданная работать на просторах физических дисков, загоняется в прокрустово ложе виртуального образа. И какие интересные задачи приходится решать при создании дополнительных поддерживающих утилит. Было весело и познавательно.

Слайды и видео докладов можно посмотреть тут: events.yandex.ru/events/yagosti/19-september-2015-linux

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


  1. icCE
    06.10.2015 14:13

    >так что на ванильном ядре контейнеры не запустятся, надо будет или использовать их дистрибутив CloudLinux, или устанавливать vzkernel на Red Hat/CentOS 7.

    Не совсем верно. Можно будет запустить на ОС которые не завязанны на свое ядро, например в debian, archlinux, возможно что-то еще я не пробовал.

    В целом кстати доклады были больше для галочки, чем для пользы и это печально.


    1. estet
      06.10.2015 15:12

      > В целом кстати доклады были больше для галочки, чем для пользы и это печально.

      Почему же вы так считаете?


      1. icCE
        06.10.2015 15:28
        +1

        Это общие ощущение.
        Из интересного это вступление Павла, но оно подходит для тех кто не в теме контейнеров вообще.

        Управление памятью контейнеров в проекте OpenVZ.
        Заголовок многообещающий, я думал раскажу как оно в реальной жизни, под нагрузками и как все эффективно с примерами из жизни.

        На деле:
        История как мы трудились, что получили и куда движемся дальше. Моментами позновательно.

        LibCT и контейнеры на уровне приложений
        Ну в общем опять же, больше информациии что мы есть и используйте нас. Все можно вполне найти на сайтах.

        Использование контейнерных технологий в DevOps
        Вот тут начинается Ехал докер, через докер, докер, докер, докер, докер.
        OpenVZ просто прошляпила рынок и пытается дружить с докером, чем лучше докер, чем openvz — тем что он докер.
        На мой вопрос Дмитрий не ответил, а вот я собрал кучу людей и не смог пообедать :/

        Русоникс — это вообще треш, столько пафоса и маркетинга. Мы убрали все лишнее, держимся на паре крупных клиентов и нам OK.
        Ну OK.

        CRIU: ускорение запуска PHP в CloudLinux OS
        На мой взгляд технологию использует не поназначению и решают свои проблемы через странные костыли.
        Но в общем весь мир из костылей и живем, но доклад более чем странен.

        Развёртывание приложений Docker в контейнерах Virtuozzo
        Криво, косо но мы делаем вид, что очень любим докер. Но все больше складывается озузение кусание локтей об упущенной возможности, теперь выкручиваем как можем.

        Проблема фрагментации виртуальных дисков и способы её решения
        Тут без претензий, реально хороший и интересный доклад. Таких я бы желал видеть больше.

        Да я немного утрирую, но в общем целом у меня ощущение что доклады для галочки/птички.

        Кирилл показывал намного интересней доклад по возможностей CRIO живьем на примере игры квейк. Вот такого плана доклады смотреть и слушать интереснее.


  1. estet
    06.10.2015 20:10
    +1

    > Управление памятью контейнеров в проекте OpenVZ.
    > Заголовок многообещающий, я думал раскажу как оно в реальной жизни, под нагрузками и как все эффективно с примерами из жизни.

    Такой цели не было. Володя разрабатывает новую технологию управления памятью для контейнеров в Vz7. Никаких серьезных измерений еще не проводили, пока только выпустили бету версию, где vcmmd уже работает.
    Важное достижение технологии нового поколения — возможность выкинуть часть кода из нашего ядра и перейти на использование memory cgroups.
    Для пользователей интерфейс не поменялся, а измерения производительности делают после того как основная масса багов отловлена.

    > LibCT и контейнеры на уровне приложений
    > Ну в общем опять же, больше информациии что мы есть и используйте нас. Все можно вполне найти на сайтах.

    Не каждый пойдет на сайт читать про новую библиотеку для контейнеров. Сделать доклад на эту тему — отличная возможность заинтересовать в использовании этой библиотеки. Тут скорее была проблема в том, что вас как пользователя такие детали не интересуют.
    Тем не менее на ContainerCon этот доклад имел большой успех, в том числе из-за слайда с коротким примером использования библиотеки.

    > Развёртывание приложений Docker в контейнерах Virtuozzo
    > Криво, косо но мы делаем вид, что очень любим докер. Но все больше складывается озузение кусание локтей об упущенной возможности, теперь > выкручиваем как можем.

    Эмм, мы коммерческая компания. Мы не делаем вид, мы зарабатываем деньги. У наших клиентов (хостинг провайдеров) есть потребность предоставлять изолированные окружения для запуска Docker контейнеров и мы сделали такую возможность. Тонкости реализации такой технологии так же интересны как использование вложенных виртуальных машин. Но вы почему-то услышали в этом докладе оправдание компании за упущенные возможности :) Ну ок.

    > Кирилл показывал намного интересней доклад по возможностей CRIO живьем на примере игры квейк.

    CRIO -> CRIU

    Про общие ощущения о докладах в целом понятно. Что такое «доклады для галочки» я так и не смог понять. Нас никто не заставлял доклады эти делать и организовывать встречу :)
    Это не последняя встреча с докладами про контейнеры, поэтому спасибо за фидбек.