OpenVZ

OpenVZ

Цикл посвящен техническим особенностям, наиболее популярной платформы для контейнерной виртуализации — OpenVZ.

Рассматриваются теоретические основы, установка, настройка, обсуждаются сильные стороны а так же проблемы.

Материалы опубликованы в журнале «Системный администратор»‘ть 1. Введение

Читать дальше

OpenVZ часть 9. Готовые сборки и панели управления

OpenVZ. Все статьи цикла

Если не охота возиться с установкой и настройкой OpenVZ, но хочется быстро получить функционал этого продукта, можно воспользоваться одной из готовых сборок. Лидером тут, пожалуй является продукт под названием Proxmox VE. Этот дистрибутив основан на Debian и включает в себя средства виртуализации KVM и OpenVZ одновременно. Управление этой гетерогенной виртуальной средой осуществляется через удобный и хорошо сделанный веб-интерфейс. Функционал этого продукта довольно богатый. Тут и средства резервного копирования, кластеризации и живой миграции ВМ. Есть собственный репозиторий с различными шаблонами для OpenVZ развернуть которые можно в несколько кликов. Единственным минусом на мой взгляд является то, что будучи проектом с открытым исходным кодом, обновления доступны только за деньги. Альтернативой является проект OpenNode Cloud Platform предоставляющий схожую функциональность.

Читать дальше

OpenVZ часть 8. Миграция контейнеров между хостами

OpenVZ. Все статьи цикла

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

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

Читать дальше

OpenVZ часть 7. Сетевой стек

OpenVZ. Все статьи цикла

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

Первый тип, используемый по умолчанию это — vnet(Virtual network). Vnet-устройство работает на третьем уровне(L3) модели OSI и не имеет своего собственного MAC-адреса. Практически, такой интерфейс является своего рода псевдонимом(alias) интерфейса хост системы. Она же, исходя из заголовков пакетов определяет какому контейнеру предназначается трафик. Настройка такого интерфейса выполняется администратором базовой системы. Плюсами такой конфигурации являются легкость настройки и максимальное среди всех типов быстродействие. Минусы же, вытекают из отсутствия у интерфейса MAC-мадреса. Это делает невозможной работу широковещательных запросов что в следствии не позволяет использовать, DHCP-сервер или Samba внутри контейнера. Так же, в связи с отсутствием MAC-адресса не будут работать приложения нуждающиеся в нем, в том числе IPv6.

Читать дальше

OpenVZ часть 6. Управление ресурсами контейнеров

OpenVZ. Все статьи цикла

Ресурсы предоставляемые гостевым окружениям могут быть нескольких видов;

гарантированные — это тот объем ресурсов который контейнер получит в любых условиях.

негарантированные — это свободные ресурсы хоста которые могут быть отданы контейнеру если он в них нуждается. Но, они так же могут быть отобраны в любой момент.

лимитированные — это максимальная планка за которую контейнер не может выйти.

Лимитирование ресурсов защищает контейнеры друг от друга а дополнительное выделение свободных ресурсов повышает производительность активных контейнеров в моменты простоя хоста.

Читать дальше

OpenVZ часть 5. Управление контейнерами

OpenVZ. Все статьи цикла

Теперь, когда у нас есть шаблон нужного нам дистрибутива, можно приступить к его развертыванию.

# vzctl create 101 —ostemplate ubuntu-13.10-x86_64

Здесь, 101 — это обязательный, уникальный идентификатор контейнера который может быть произвольным числом.

Новый экземпляр ОС будет создан в течении считанных секунд. Фактически, это время будет потрачено на распаковку архива и помещение его содержимого в каталог /vz/private/<id-контейнера>.

Читать дальше

OpenVZ часть 4. Шаблоны контейнеров

OpenVZ. Все статьи цикла

Как и в случае с LXC, для создания нового контейнера, необходим шаблон. Фактически, шаблон это корневая файловая система, различные утилиты и конфигурационные файлы какого то конкретного дистрибутива. Обычно в минимальной инсталляции. В официальном репозитории[4]OpenVZ подготовлены шаблоны для наиболее популярных ОС. Там можно найти различные версии Ubuntu, Debian, CentOS, а так же SUSE Linux. Но на мой взгляд, наиболее простой способ получить нужный шаблон это скачать его в ручную и положить в предназначенный для этого каталог /vz/template/cache/.

Читать дальше

OpenVZ часть 3. Установка

OpenVZ. Все статьи цикла

Как уже говорилось выше часть компонентов OpenVZ отсутствует в основной ветке ядра Linux, а соответственно — и в ядрах большинства дистрибутивовю. По этой причине, для того что бы использовать OpenVZ необходимо специальное ядро, в котором есть все необходимое для запуска контейнеров.

Читать дальше

OpenVZ часть 2. OpenVZ vs LXC

OpenVZ. Все статьи цикла

Проект Virtuozzo Containers, как и его открытый клон OpenVZ, существует и развивается уже порядка 10 лет. Изначально ядро платформы развивалось самостоятельно в стороне от основной ветки ядра Linux. Но, где то на половине пути, разработчики Parallels поняли, что такая стратегия разработки очень сложна и затратна. По этому было принято решение портировать все фирменные наработки в основную ветку ядра, дабы дать им самостоятельное развитие. Но, процесс вливания патчей довольно сложен и длителен. На сегодняшний день, лишь половина «ядерного» функционала Virtuozzo перекочевала в основную ветку ядра. Фактически, на этой половине[2] иосновывается LXC. Конечно же, некоторые части проекта, такие как утилиты управления, шаблоны и ряд других возможностей, разрабатываются на программистами Parallels. Но, в целом, своей жизнью и текущей функциональностью LXC обязана именно им.

Читать дальше

OpenVZ часть 1. Введение

OpenVZ. Все статьи цикла

В предыдущей статье был произведен всесторонний технический обзор платформы для создания и управления контейнерами — Linux Containers (LXC). Подводя еще раз итог, стоит сказать, что применение LXC в мало-мальски серьезных проектах, сомнительная затея. Многое еще не реализовано и не доведено до работающего состояния. Есть проблемы с безопасностью контейнеров.Более того, имеющиеся средства для управления контейнерами LXC не удобны, особенно когда поработаешь с OpenVZ. Но проект активно развивается и существующие шероховатости, дело времени. А пока над LXC ведутся активные работы, мы поговорим о продукте OpenVZ, который в отличии от своего конкурента, делает все как надо и широко применяется в сфере хостинга.

Читать дальше