Каково современное мнение о LXC и RHEL-подобных системах сегодня?
Лично мне не хватает текущей настройки. LXC, кажется, больше на переднем крае - конечно, больше поддерживается.
Как вы их реализуете?
С точки зрения предлагать это как вариант виртуализации я не. Я считаю, что текущая технологическая установка отсутствует.
- Нет имени пользователя пространства.
- Некоторые точки монтирования не поддерживают пространство имен (cgroups, selinux)
- Значения в / proc вводят в заблуждение системные глобальные переменные, которые не учитывают разделение ресурсов в пространствах имен.
- Перерывы аудита.
Однако я считаю, что это действительно хороший инструмент для сдерживания на уровне приложений. Мы используем пространства имен и cgroups напрямую, чтобы содержать сетевые ресурсы и ресурсы IPC для определенных пользовательских веб-приложений. Мы предоставляем собственный интерфейс для управления им. В RHEL7 я рассматриваю возможность перенести эту функциональность libvirt-lxc
в более новую редакцию libvirt
поддержки концепции пользовательских ACL.
Что касается виртуализации с точки зрения полностью инициализированной системы, я жду того, что предлагается в RHEL7, но, честно говоря, я чувствую, что мы можем увидеть достаточно хорошее решение только после того, как перейдем к более позднему выпуску RHEL7, а затем, возможно, только в состоянии предварительного просмотра технологии.
Следите за тем, systemd-nspawn
что мне скажут, в ближайшие 18 месяцев или около того, это может занять его место - лучший инструмент для полностью виртуализированной Linux, будь то, когда авторы systemd ясно дадут понять, что сейчас она небезопасна! Я не удивлюсь, если в конце концов libvirt
упадет libvirt-lxc
и просто предложит оболочку systemd-nspawn
с определенными срезами systemd.
Кроме того, будьте осторожны, за последние 6 месяцев было много разговоров о повторной реализации cgroups в качестве интерфейса программиста ядра, а не интерфейса файловой системы (возможно, с использованием netlink или чего-то еще, не проверенного), поэтому systemd должен быть очень горячим на хвосте, чтобы получить это право очень быстро.
Есть ли преимущества у одного подхода по сравнению с другим?
Я думаю, что опция LXC (не libvirt-lxc) лучше поддерживается. Прочитав libvirt-lxc
исходный код, он чувствует себя поспешно. Традиционный LXC, безусловно, имеет новые функции, которые были лучше протестированы. И то, и другое требует определенной совместимости от запускаемой в них системы инициализации, но я подозреваю, что вы найдете LXC чуть более «под ключ», чем libvirt-lxc
опция, особенно в том, что касается установки в них дистрибутивов.
Могут ли они сосуществовать?
Конечно, помните, что для всех намерений и целей, оба делают то же самое. Организация пространств имен, групп и точек монтирования. Все примитивы обрабатываются самим ядром. Обе lxc
реализации просто предлагают механизм взаимодействия с доступными опциями ядра.