Яка загальноприйнята мудрість щодо систем, подібних до LXC та RHEL?
Особисто мені здається, що поточні налаштування дещо відсутні. LXC здається більше на перший план - безумовно, більш доглянутою.
Як ви їх реалізуєте?
В плані запропонувати це як варіант віртуалізації я не є. Я вважаю, що нинішні технологічні установки відсутні.
- Немає простору імен імені користувача.
- Деякі точки монтажу не відомі в просторі імен (cgroups, selinux)
- Значення в / proc - це введення в оману системних глобалів, які не враховують розподіл ресурсів у просторах імен.
- Порушення аудиту.
Я вважаю це дійсно приємним інструментом для захисту рівня додатків. Ми використовуємо простори імен та групи безпосередньо, щоб містити мережеві та IPC-ресурси для певних веб-додатків, керованих користувачем. Ми надаємо власний інтерфейс для управління ним. У RHEL7 я розглядаю можливість переміщення цієї функції libvirt-lxc
як новішу версію libvirt
підтримки концепції ACL користувачів.
Що стосується віртуалізації з точки зору повністю ініціалізованої системи, я чекаю, щоб заплатити те, що пропонується в RHEL7, але, чесно кажучи, я думаю, що ми можемо побачити достатньо хорошого рішення, коли ми підемо на наступний незначний реліз RHEL7, а потім, можливо лише в стані попереднього перегляду технології.
Слідкуйте за systemd-nspawn
тим, що мені підказує протягом найближчих 18 місяців, або, можливо, це може зайняти його місце - найкращий інструмент для повноцінної віртуалізації, що міститься в Linux, будь то так, що системні автори дають зрозуміти, що це не захищено зараз! Я б не здивувався, якщо в кінцевому підсумку libvirt
краплі libvirt-lxc
і просто пропонують обгортку systemd-nspawn
з визначеними системними скибочками.
Крім того, будьте обережні, що було багато розмов за останні 6 місяців щодо повторної реалізації груп як інтерфейсу програміста ядра, а не інтерфейсу файлової системи (можливо, використовуючи мережеве посилання або щось таке, не перевіряли), тому systemd повинен бути дуже гарячим на хвості, щоб це швидко було зрозуміти.
Чи є якісь переваги одного підходу проти іншого?
Я думаю, що варіант LXC (не libvirt-lxc) краще підтримується. Прочитавши libvirt-lxc
вихідний код, він відчуває себе поспіхом. Традиційний LXC, безумовно, має новіші функції, які були краще перевірені. І те й інше вимагає певної сумісності системи init, яка працює в них, але я підозрюю, що ви знайдете LXC трохи більше "під ключ", ніж libvirt-lxc
варіант, особливо щодо отримання дистрибутива для роботи в них.
Чи можуть ці співіснувати?
Звичайно, пам’ятайте, що для всіх намірів і цілей обидва роблять те саме. Організація просторів імен, груп та точок монтування. З усіма примітивами займається саме ядро. Обидві lxc
реалізації просто пропонують механізм взаємодії з наявними параметрами ядра.