The OpenNET Project / Index page

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

Выпуск системы управления контейнерами LXC 1.1, со встроенной поддержкой CRIU

03.02.2015 14:21

Анонсирован второй значительный выпуск инструментария LXC 1.1, предназначенного для организации работы изолированных контейнеров. Изоляция процессов и ресурсов осуществляется при помощи штатных механизмов ядра Linux, таких как пространства имён (namespaces) и группы управления (cgroups). Готовые пакеты с LXC 1.1 подготовлены для Ubuntu Linux.

В состав инструментария LXC входит библиотека liblxc, набор утилит (lxc-create, lxc-start, lxc-stop, lxc-ls и т.п.), шаблоны для построения контейнеров и набор биндингов для различных языков программирования. Для изоляции процессов, сетевого стека ipc, uts и точек монтирования используется механизм пространств имён (namespaces). Для ограничения ресурсов применяются cgroups. Для понижения привилегий и ограничения доступа задействованы такие возможности ядра, как профили Apparmor и SELinux, политики Seccomp, Chroots (pivot_root) и capabilities.

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

Другие улучшения:

  • Значительно расширены возможности по использованию systemd в качестве системы инициализации внутри контейнера. Комбинацию lxcfs и systemd теперь можно использовать как для привилегированных контейнеров, так и для контейнеров, выполняемых с правами обычных пользователей.
  • Обновлены скрипты инициализации, которые доступны в вариантах для systemd, sysvinit и upstart. Достигнут паритет в функциональности скриптов для разных систем инициализации, что позволило включить по умолчанию использование сетевого интерфейса lxcbr0 с DHCP и DNS-сервером (dnsmasq).
  • Добавлена поддержка образов в формате qcow2 (через qemu-img);
  • Добавлена поддержка Oracle Linux 7. Обеспечена возможность установки пакетов из произвольных репозиториев yum;
  • В Ubuntu добавлена возможность использования подразделов и снапшотов Btrfs;
  • Arch Linux и openSUSE переведены на использование типовых конфигураций;
  • Для всех дистрибутивов по умолчанию добавлен профиль seccomp, обеспечивающий блокировку небезопасных системных вызовов;
  • Поддержка сетевых мостов на базе Openvswitch;
  • В конфигурации обеспечена возможность загрузки всех файлов с расширением .conf, находящихся в указанной директории. Добавлена директория common.conf.d с настройками, общими для всех контейнеров;
  • Утилиты lxc-top и lxc-device переписаны с Lua на Си.


  1. Главная ссылка к новости (https://linuxcontainers.org/lx...)
  2. OpenNews: Выпуск CRIU 1.0, системы для заморозки и восстановления состояния процессов в Linux
  3. OpenNews: Первый релиз CRtools, утилиты для заморозки и восстановления состояния процессов в Linux
  4. OpenNews: Интервью с Павлом Емельяновым, одним из самых активных российских разработчиков ядра Linux
  5. OpenNews: Обзор достижений контейнерной изоляции за последние два года
  6. OpenNews: Релиз LXC 1.0, системы управления изолированными контейнерами Linux
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/41597-lxc
Ключевые слова: lxc
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (17) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 15:00, 03/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    как на андроиде с контейнерами дела, кто в курсе?
     
     
  • 2.5, Аноним (-), 16:19, 03/02/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    chroot, proot
     
  • 2.17, anonymousZ (?), 20:49, 03/02/2015 [^] [^^] [^^^] [ответить]  
  • +/

    Вроде есть пакет, но разумеется нужно ядро с поддержкой(в 99% случаев стоковые ядра не поддерживают, в CM ядрах вроде можно запускать контейнеры).
     
     
  • 3.19, Аноним (-), 01:55, 04/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Коммент выше вашего всё объясняет.
     
     
  • 4.21, anonymousZ (?), 20:34, 05/02/2015 [^] [^^] [^^^] [ответить]  
  • +/

    Это что он объясняет? Что chroot = lxc?
     

  • 1.2, via (??), 15:04, 03/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Клево. Особенно поддержка qcow2
     
  • 1.3, EHLO (?), 15:30, 03/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    > поддержка Oracle Linux 7
    > В Ubuntu добавлена возможность
    > Arch Linux и openSUSE переведены

    Они под каждый дистрибутив индивидуальный велосипед запиливают?

     
  • 1.4, Аноним (-), 15:31, 03/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    >Значительно расширены возможности по использованию systemd в качестве системы инициализации внутри контейнера
    >по использованию systemd .. внутри контейнера

    Сам бог велел!!

     
     
  • 2.13, Аноним (-), 20:14, 03/02/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Поттеринг?
     

  • 1.11, Аноним (-), 19:07, 03/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >без разрыва уже установленных сетевых соединений.

    Кто-нибудь разжуйте, пожалуйста, как такое может быть.

     
     
  • 2.12, Нанобот (ok), 20:11, 03/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Мне вот тоже было интересно. Вот нашёл: http://criu.org/TCP_connection
    Если вкратце: просто сохраняется/восстанавливается состояние tcp-сокета. Для миграции соединений по сети "без разрыва" нужно: на хост1 сохранить контейнер, выключить хост1, поставить на хост2 тот же ip-адрес, что был на хост1, восстановить контейнер на хост2. И молиться, чтобы за время миграции tcp-соединение не закрыли на удалённом конце
     
     
  • 3.14, Аноним (-), 20:27, 03/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо.
    Не понимаю зачем оно в таком виде нужно.
    Если соединение порвалось, то разве есть препятствия установить его заново?

    Варианты типа экономии трафика и ресурсов(на повторную установку соединения) я сразу отметаю.

     
     
  • 4.16, Michael Shigorin (ok), 20:40, 03/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Если соединение порвалось, то разве есть препятствия установить его заново?

    Клиент, не предполагающий подобного, отвалится.

     
  • 3.18, EHLO (?), 21:33, 03/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Мне вот тоже было интересно. Вот нашёл: http://criu.org/TCP_connection
    > Если вкратце: просто сохраняется/восстанавливается состояние tcp-сокета. Для миграции
    > соединений по сети "без разрыва" нужно: на хост1 сохранить контейнер, выключить
    > хост1, поставить на хост2 тот же ip-адрес, что был на хост1,
    > восстановить контейнер на хост2. И молиться, чтобы за время миграции tcp-соединение
    > не закрыли на удалённом конце

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

     

  • 1.15, Аноним (-), 20:39, 03/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    ухты! системды можно запускать внутри системды, чтобы запускать системды пока ты запускаешь системды
     
     
  • 2.20, Аноним (-), 01:57, 04/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Хотеть!


     

  • 1.22, Subcreator (ok), 10:18, 25/04/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    LXCFS
    It's designed to workaround the shortcomings of procfs, sysfs and cgroupfs by exporting files which match what a system container user would expect.

    Свершилось!

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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