The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск системы управления контейнерами LXC 2.1"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск системы управления контейнерами LXC 2.1"  +/
Сообщение от opennews (ok) on 09-Сен-17, 00:49 
После полутора лет разработки сформирован (https://insights.ubuntu.com/2017/09/06/lxc-2-1-has-been-rele.../) релиз инструментария для организации работы изолированных контейнеров LXC 2.1 (http://linuxcontainers.org). В состав инструментария LXC входит библиотека liblxc, набор утилит (lxc-create, lxc-start, lxc-stop, lxc-ls и т.п.), шаблоны для построения контейнеров и набор биндингов  для различных языков программирования. Изоляция осуществляется при помощи штатных механизмов ядра Linux. Для изоляции процессов, сетевого стека ipc, uts и точек монтирования используется механизм пространств имён (namespaces). Для ограничения ресурсов применяются cgroups. Для понижения привилегий и ограничения доступа задействованы такие возможности ядра, как профили Apparmor и SELinux, политики Seccomp, Chroots (pivot_root) и capabilities.

Ключевые изменения:

-  Поддержка ограничения ресурсов через механизм rlimit. Настройка выполняется аналогично лимитам через cgroup через директивы lxc.prlimit.имя_лимита в файле конфигурации контейнера. Например, для того чтобы снять ограничение на число процессов и установить значение nice в файл конфигурации можно добавить:


   lxc.prlimit.nproc = unlimited
   lxc.prlimit.nice = 4

-  Возможность определения виртуальных сетей  openvswitch непривилегированным пользователем:


   lxc.net.0.type = veth
   lxc.net.0.link = ovsbr0
   lxc.net.0.flags = up
   lxc.net.0.name = eth0


-   Новый параметр "lxc.cgroup.dir", позволяющий указать имя родительского cgroup, к которому будет привязан cgroup создаваемого контейнера. Например, установка "lxc.cgroup.dir = mycontainers" для контейнера "lxc.uts.name = c1" приведёт к созданию cgroups "mycontainers/c1" для всех контроллеров в иерархии cgroup;

-  Поддержка гибридного режима настройки cgroup, при котором можно сочетать новую (cgroup v2) единую унифицированная иерархию cgroup и старую (cgroup v1) гибкую систему из произвольного числа иерархий cgroup. В гибридном режиме предложено ограниченное число контроллеров для распределения ресурсов CPU, регулирования потребления памяти, контроля ввода/вывода и т.п.

-  Добавлена настройка lxc.pty.max для ограничения числа псевдотерминалов (ptys), которое можно запросить из контейнера.


-  Исполняемый файл lxc-monitord переведён в разряд устаревших и больше не требуется для запуска фоновых контейнеров. Вместо lxc-monitord теперь применяется абстрактная реализация на основе пары unix-сокетов;

-  В lxc-copy обеспечено создание снапшотов в tmpfs при запуске одноразовых контейнеров (флаг "-e");

-  Переименована достаточно большая порция параметров конфигурации с целью унификации синтаксиса настроек. Параметры разнесены по категориям, например, все сетевые настройки теперь поставляются с префиксом "lxc.net". Префикс lxc.network объявлен устаревшим, для избежания разночтений все ключи из него перенесены в lxc.net. Например, вместо серии "lxc.network.name = wlp2s0; lxc.network.name = eno1" теперь нужно указывать "lxc.net.0.name = wlp2s0; lxc.net.1.name = eno1" с явным  номера блока;

Таблица соответствия старых и новых параметров настройки:


lxc.aa_profile                       | lxc.apparmor.profile          |
lxc.aa_allow_incomplete              | lxc.apparmor.allow_incomplete |
lxc.console                          | lxc.console.path              |
lxc.devttydir                        | lxc.tty.dir                   |
lxc.haltsignal                       | lxc.signal.halt               |
lxc.id_map                           | lxc.idmap                     |
lxc.init_cmd                         | lxc.init.cmd                  |
lxc.init_gid                         | lxc.init.gid                  |
lxc.init_uid                         | lxc.init.uid                  |
lxc.kmsg                             | -                             | удалён
lxc.limit                            | lxc.prlimit                   |
lxc.logfile                          | lxc.log.file                  |
lxc.loglevel                         | lxc.log.level                 |
lxc.mount                            | lxc.mount.fstab               |
lxc.network                          | lxc.net                       |
lxc.network.                         | lxc.net.[i].                  |
lxc.network.flags                    | lxc.net.[i].flags             |
lxc.network.hwaddr                   | lxc.net.[i].hwaddr            |
lxc.network.ipv4                     | lxc.net.[i].ipv4.address      |
lxc.network.ipv4.gateway             | lxc.net.[i].ipv4.gateway      |
lxc.network.ipv6                     | lxc.net.[i].ipv6.address      |
lxc.network.ipv6.gateway             | lxc.net.[i].ipv6.gateway      |
lxc.network.link                     | lxc.net.[i].link              |
lxc.network.macvlan.mode             | lxc.net.[i].macvlan.mode      |
lxc.network.mtu                      | lxc.net.[i].mtu               |
lxc.network.name                     | lxc.net.[i].name              |
lxc.network.script.down              | lxc.net.[i].script.down       |
lxc.network.script.up                | lxc.net.[i].script.up         |
lxc.network.type                     | lxc.net.[i].type              |
lxc.network.veth.pair                | lxc.net.[i].veth.pair         |
lxc.network.vlan.id                  | lxc.net.[i].vlan.id           |
lxc.pivotdir                         | -                             | удалён
lxc.pts                              | lxc.pty.max                   |
lxc.rebootsignal                     | lxc.signal.reboot             |
lxc.rootfs                           | lxc.rootfs.path               |
lxc.se_context                       | lxc.selinux.context           |
lxc.seccomp                          | lxc.seccomp.profile           |
lxc.stopsignal                       | lxc.signal.stop               |
lxc.syslog                           | lxc.log.syslog                |
lxc.tty                              | lxc.tty.max                   |
lxc.utsname                          | lxc.uts.name                  |

-  Добавлен скрипт lxc-update-config, предназначенный для автоматического приведения старых настроек в соответствие с новыми именами параметров. При этом устаревшие имена параметров пока остаются  работоспособными, т.е. обеспечена обратная совместимость со старыми файлами конфигурации.


URL: https://insights.ubuntu.com/2017/09/06/lxc-2-1-has-been-rele.../
Новость: http://www.opennet.dev/opennews/art.shtml?num=47165

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Выпуск системы управления контейнерами LXC 2.1"  –2 +/
Сообщение от pavlinux (ok) on 09-Сен-17, 00:49 
Оно на XFS уже научилось работать?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Выпуск системы управления контейнерами LXC 2.1"  –1 +/
Сообщение от KonstantinB (ok) on 09-Сен-17, 01:23 
А что там не работает?  Квоты?
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Выпуск системы управления контейнерами LXC 2.1"  +1 +/
Сообщение от pavlinux (ok) on 09-Сен-17, 01:51 
> А что там не работает?  Квоты?

При очень большом интенсиве, при создании каталогов (хотя б скопировать исходники Qt), ядро отваливается со всякими NULL deref.
Ещё косяк в cgroups при прогоне в LXC LTP-тестов http://linux-test-project.github.io/
mkdir возвращал true, а каталог не создавался.  

Разрабы замечательно послали, типа "Какой идиот использует LTP в 2017 году" :)

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "Выпуск системы управления контейнерами LXC 2.1"  –7 +/
Сообщение от gogo on 09-Сен-17, 08:46 
Голословный наезд.
Прям как Ежик из Смешариков - "Если я вот так выгинаюсь, то у меня там косточка щелкает". Так не выгинайся! ; )
Напиши баг-рапорт, если есть что сказать по существу, а не обгаживай по мелочам за спиной.
Кто захочет, чтобы эта штука работала - поставит и особых проблем не будет.

Годная вещица.
А баги на то и баги, чтобы со временем быть пофиксенными.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

6. "Выпуск системы управления контейнерами LXC 2.1"  +/
Сообщение от KonstantinB (ok) on 09-Сен-17, 11:28 
А багрепорты есть?
Я на стейдже использую на xfs (Ubuntu Trusty, lxc 2.0.7), проблем не замечал, но там, правда, интенсивной нагрузки никогда не было.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

23. "Выпуск системы управления контейнерами LXC 2.1"  +/
Сообщение от pavlinux (ok) on 25-Сен-17, 03:33 
> А багрепорты есть?

Хуерепорты, мне своей работы мало...
LCX Project sponsored by Canonical Ltd. Про XFS by SGI уж молчу...
Вот и пускай сами меня ловят, за бабло будут им репорты

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Выпуск системы управления контейнерами LXC 2.1"  –3 +/
Сообщение от Аноним (??) on 09-Сен-17, 15:00 
>ядро отваливается со всякими NULL deref

А нехрен в ядро проприетарные блобы совать (да-да, от Нивидии).

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

10. "Выпуск системы управления контейнерами LXC 2.1"  +2 +/
Сообщение от пох on 09-Сен-17, 18:14 
>>ядро отваливается со всякими NULL deref
> А нехрен в ядро проприетарные блобы совать (да-да, от Нивидии).

да-да, проблемы с mkdir на xfs - это ж все из-за нвидии.


Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

12. "Выпуск системы управления контейнерами LXC 2.1"  +/
Сообщение от ананим.orig on 10-Сен-17, 04:21 
Да-да, с блобом нИвидии проблемы саморассосутся.
Типа нет исходников и нет проблем.
Зыж
Тпрухин, ты штоли?
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

20. "Выпуск системы управления контейнерами LXC 2.1"  +/
Сообщение от pavlinux (ok) on 14-Сен-17, 00:11 
>>>ядро отваливается со всякими NULL deref
>> А нехрен в ядро проприетарные блобы совать (да-да, от Нивидии).
> да-да, проблемы с mkdir на xfs - это ж все из-за нвидии.

Нигадяи :)

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

9. "Выпуск системы управления контейнерами LXC 2.1"  +/
Сообщение от пох on 09-Сен-17, 18:14 
> Разрабы замечательно послали, типа "Какой идиот использует LTP в 2017 году" :)

действительно, неидиоты же используют только те тесты, которые им удобны.
Фигак-фигак, в продакшн, версия 2.1 (хотя по сути - 0.2.1), инвесторы это любят.

  

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

15. "Выпуск системы управления контейнерами LXC 2.1"  +/
Сообщение от Nicknnn (ok) on 12-Сен-17, 08:04 
>> А что там не работает?  Квоты?
> При очень большом интенсиве, при создании каталогов (хотя б скопировать исходники Qt),
> ядро отваливается со всякими NULL deref.

Как это связано с LXC?


Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

16. "Выпуск системы управления контейнерами LXC 2.1"  +/
Сообщение от пох on 12-Сен-17, 14:58 
> Как это связано с LXC?

проявляется, когда исходники qt в контейнере человек копирует, или тест в нем запускает, чего непонятно?
Еще бы ядро валилось при попытке их копировать не в контейнере...

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

14. "Выпуск системы управления контейнерами LXC 2.1"  +/
Сообщение от Nicknnn (ok) on 12-Сен-17, 07:57 
а почему не должно? как связан "скрипт" для создания неймспейсов и cgroup с возможностью процессов создавать файлы на XFS?
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

17. "Выпуск системы управления контейнерами LXC 2.1"  +/
Сообщение от пох on 12-Сен-17, 15:00 
> а почему не должно? как связан "скрипт" для создания неймспейсов и cgroup
> с возможностью процессов создавать файлы на XFS?

больше проверок - больше шансов для рейса или локапа. Ну или просто сильнее тормозит - и опять больше шансов для рейса и локапа.

Что вам мешает самому-то потестить, если интересно?

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

18. "Выпуск системы управления контейнерами LXC 2.1"  +/
Сообщение от Nicknnn (ok) on 12-Сен-17, 21:53 
> больше проверок - больше шансов для рейса или локапа. Ну или просто
> сильнее тормозит - и опять больше шансов для рейса и локапа.
> Что вам мешает самому-то потестить, если интересно?

Так мне интересно, хочу постестить. Но достаточно ли просто переложить исходники?
Очевидно нет, так как павлинукс не привёл конфига контейнера, имя исходного образа. А без этой информации мой, я уверен успешный, тест ничего не покажет. Может он там докер образ крутил, на оверлейфс поверх xfs  без ftype=2. А с этим докероговном можно всё что угодно словить.

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

21. "Выпуск системы управления контейнерами LXC 2.1"  +/
Сообщение от пох on 14-Сен-17, 18:05 
> Так мне интересно, хочу постестить. Но достаточно ли просто переложить исходники?

ну так сделайте - мы хотя бы будем знать, что в простом случае-  недостаточно. Мне вот интересно, но не настолько, поскольку для работы прям щас - не требуется.

> Очевидно нет, так как павлинукс не привёл конфига контейнера

как и детального описания своего железа/доступных ресурсов и много чего еще. Но нам, в конце-концов, не на его системе надо чтоб работало, а на своей.
Ссылка на LTP ж дана - что мешает попробовать? Можно прямо во всех наличных контейнерах.

> А с этим докерог*вном можно всё что угодно словить.

с overlay да, можно ничего не тестировать, даже на правильной xfs или на кошерном ext4 - оно все равно рассыплется. К тому же послезавтра их новая муха укусит, и они выпустят overlay3, или сразу 30.

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

7. "Выпуск системы управления контейнерами LXC 2.1"  +/
Сообщение от Страдалец email on 09-Сен-17, 11:38 
А stateful snapshot у кого-нибудь работает? Это там где контейнер дампится вместе с содержимым памяти включая сетевые сокеты. Уже третий год жду пока заработает из коробки. Нет, я, конечно, по инструкции CRIU какую-то ночную сборку заставил работать, но это не продакшн.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

11. "Выпуск системы управления контейнерами LXC 2.1"  +2 +/
Сообщение от Аноним (??) on 09-Сен-17, 21:52 
С btrfs всё норм работает в продакшен достаточнно давно
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "Выпуск системы управления контейнерами LXC 2.1"  +1 +/
Сообщение от via (??) on 11-Сен-17, 23:24 
стоп, lxc-ls, lxc-start,... - это ж набор из lxc 1.0  В двойке чистая lxc с аргументами. Главное, с возможностью работы под обычным юзером
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

19. "Выпуск системы управления контейнерами LXC 2.1"  +/
Сообщение от Аноним (??) on 13-Сен-17, 20:42 
Вы путаете с lxd, там как раз lxc и работа от юзера дефолт.
В lxc есть работа от юзера, но довольно неудобная.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру