Посещение встречи разработчиков Linux-контейнеров
Когда руководство предложило мне посетить встречу разработчиков 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