image

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

Помимо повышения стабильности каждого компонента, ежеквартальные обновления Virtuozzo всегда несут в себе ряд новых функций. Многие из них пользователи специально заказывали и ждут их появления для того, чтобы можно было получить большую отдачу от гиперконвергентной системы и контейнеров. Например, в Virtuozzo Update 6 есть такие возможности, как работа с георепликацией для S3 или шифрование данных at rest, но давайте разберем все основные улучшения по порядку.

Безопасность


Раньше пользователи сами встраивали механизмы шифрования данных на дисках и в контейнерах Virtuozzo. Но начиная с Update 5 мы добавили возможность шифровать данные непосредственно на уровне распределенного хранилища VZ Storage. Для криптографии используется алгоритм AES256, как показала практика – самый востребованный среди пользователей. Система работы с ключами при этом используется внешняя, потому что у подавляющего большинства уже есть свои средства Key Management.

image

Шифрование at rest происходит для всех пассивных данных. Вы можете просто включить эту функцию в панели управления.

Второе новшество – это интеграция в систему каталогов LDAP и Active Directory. Эта функция открывает возможность управления правами доступа для разных пользователей в рамках одного хоста или виртуальной машины. Инфраструктура распределенного хранилища Virtuozzo Storage позволяет настраивать права для каждого отдельно взятого объекта, так что для авторизации на виртуальных машинах и в контейнерах теперь используются те же профили и те же учетные данные, что и для разделения доступа к данным.

В дополнение к этому стоит заметить, что Virtuozzo 7 по-прежнему предоставляет для всех ядер, выпущенных в течении последних 18 месяцев обновления в виде ReadyKernel live-updates. Cо времени выпуска Virtuozzo 7 пользователи не создали ни одного тикета, связанного со стабильностью этого механизма обновлений ядра хостов виртуализации.

Производительность


Наши разработчики хорошо потрудились над повышением производительности экосистемы. В частности, была ускорена установка системы: основная часть дистрибутива теперь развертывается из сжатого образа squashfs (вместо попакетной установки), поэтому чтобы попробовать Virtuozzo нужно всего несколько минут, а ускоренное развертывание в ЦОД помогает перезапускать сервисы быстрее после обслуживания.

Повышение производительности коснулось во многом пользователей виртуальных машин с ОС Windows. Для этого в гипервизор была внесена поддержка VirtIO, и виртуалки чувствуют себя «как дома», как будто они работают в экосистеме Hyper-V. Учитывая, что гипервизор Virtuozzo обеспечивает поддержку всех необходимых для этого функций, наблюдается заметный рост производительности в ВМ с MS Windows.

Для примера можем показать результаты сравнения производительности Virtuozzo и чистого KVM:

Тесты выполнялись на следующей конфигурации:

Model: IBM System x3650 M3
CPU: 24 SMP (2Sx6Cx2T) Xeon E5645 @ 2.4 GHz
RAM: 16 x 8GB DDR3 1600 MHz
HDD: RAID0 (5 x 900GB 10000 RPM SAS)
NET: 10 Gbit direct server <-> client connection


image

Используемый тест — VConsolidate (https://openvz.org/Performance/vConsolidate-UP)

Гарантированная производительность каждой ВМ или контейнера была повышена за счет появления лимитов ввода/вывода. В зависимости от типа бизнеса теперь можно настроить ограничения на I/O для некоторых операций. Это делается для того, чтобы ВМ с тяжелой нагрузкой не «отъедала» производительность у других машин, работающих на том же самом хосте, что очень актуально, если на одном узле действительно много виртуальных машин. Если говорить о сервис-провайдерах, максимальную нагрузку на ввод/вывод создает резервное копирование и миграция. Теперь пользователи могут установить предельные значения доступных ресурсов для этих и любых других категорий операций. Таким образом, при правильной настройке ВМ не будут замечать, что «соседи» вообще есть на хосте. Конечно, если количество машин соответствует производительности хоста в целом.

При этом появляется возможность размещать еще больше сервисов на одном хосте без ущерба производительности, если речь идет о не слишком мощных машинах с ограниченными потребностями. Так, в гипервизоре теперь можно определить не только количество процессоров, но и конкретное количество ядер, которые может использовать каждая ВМ или контейнер. Эта возможность позволяет лучше утилизировать ресурсы серверов с многоядерными процессорами.

Функциональность


В каждом релизе мы добавляем новые функции, которые оказываются наиболее востребованными пользователями. И в Update 5 появляется поддержка миграции для томов NFS. Как показала практика, многие пользователи контейнеров работают с NFS-накопителями, что раньше создавало ограничения в миграции данных. Теперь поддержка NFS официально реализована в контейнерах и виртуальных машинах экосистемы Virtuozzo.

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

Также в Virtuozzo 7 появилась поддержка Docker Swarm. Контейнеры Docker поддерживались и ранее, но интеграция с системой управления Docker Swarm позволяет пользователям отдельных виртуальных машин (VPS) управлять своими Docker-изированными приложениями при помощи стандартных средств. Напомним, что в дополнение к этому для Docker имеется возможность реализовать постоянное хранилище данных для временно запускаемых сервисов на базе Virtuozzo Storage for Docker.

Кстати, о хранилище. Начиная с Update 5 имеется возможность вести мониторинг его состояния через SMNP. Если раньше нужно было собирать данные через SSH, теперь можно настроить постоянную передачу всей информации о состоянии системы в единую консоль управления по протоколу SMNP.

И отдельно о миграции


Отдельного внимания заслуживает модернизация системы живой миграции контейнеров и виртуальных машин, которая позволяет производить maintenance, без остановки сервисов. Для этих задач используется инструмент CRIU, о котором мы уже писали в предыдущем посте.

В Virtuozzo 7 Update 5 была ускорена миграция, причем для этого применяется сразу несколько технологий. Для контейнеров был реализован механизм сжатия памяти при передаче информации с одного оста на другой. Для ВМ на время миграции искусственно замедляются некоторые действия, такие как обращение к диску и доступ к памяти. В результате количество данных, которые нужно передавать по сети в процессе миграции, уменьшается, и процесс завершается намного раньше.

image

Кроме этого была повышена совместимость разных узлов для переноса приложений, функциональность которых зависит от возможностей процессоров. Например, при миграции с платформы AMD на Intel бывают технические проблемы. Кстати, они нередко возникают и при перемещении виртуальной машины на систему с другим поколением архитектуры CPU. Чтобы этого не происходило при миграции отключается поддержка лишних инструкций на CPU, и приложения продолжают работать на новом хосте, как ни в чем не бывало.

Чего ждать от Version 6?


Следующая версия Virtuozzo 7 будет представлена перед новым годом. В ней появится около 15 новых фич, в числе которых – онлайн-освобождение (reclaim) не занятого места на дисках виртуальных машин, улучшение сетевой подсистемы для Windows, упрощенное создание кластера и другое. По мере выхода версии, мы расскажем об этих возможностях подробнее в нашем блоге.

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


  1. ayurtaykin
    16.11.2017 11:08

    Хотел было уже ругать за такое описание тестов производительности, но видимо графики все-таки предполагались после:

    Для примера можем показать результаты сравнения производительности Virtuozzo и чистого KVM:

    Но их все же нет.


    1. Gummio_7 Автор
      16.11.2017 12:58

      График вернулся на подобающее место. )