The OpenNET Project / Index page

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

21.02.2014 19:41  Релиз LXC 1.0, системы управления изолированными контейнерами Linux

Представлен первый стабильный выпуск инструментария LXC 1.0, официально объявленный пригодным для промышленного применения. В рамках проекта развивает набор выполняющихся в пространстве пользователя инструментов для организации работы изолированных контейнеров, позволяющих изолировать процессы и ресурсы при помощи штатных механизмов ядра Linux, таких как пространства имён (namespaces) и группы управления (cgroups). Поддержка выпуска исправлений для ветки LXC 1.0 будет осуществляться в течение пяти лет. Готовые пакеты с LXC 1.0 подготовлены для Ubuntu Linux.

В отличие от технологий виртуализации на основе гипервизоров, контейнеры выполняются под управление единого ядра Linux, без необходимости запуска отдельного ядра и набора драйверов в каждом окружении. По своим возможностям контейнеры занимают нишу между изоляцией при помощи chroot и полноценными средствами виртуализации. В состав инструментария LXC входит библиотека liblxc, набор утилит (lxc-create, lxc-start, lxc-stop, lxc-ls и т.п.), шаблоны для построения контейнеров и набор биндингов для различных языков программирования.

Для изоляции процессов, сетевого стека ipc, uts и точек монтирования используется механизм пространств имён (namespaces). Для ограничения ресурсов применяются cgroups. Кроме того, для понижения привилегий и ограничения доступа задействованы такие возможности ядра, как профили Apparmor и SELinux, политики Seccomp, Chroots (pivot_root) и capabilities.

Ключевые улучшения в LXC 1.0:

  • Поддержка полностью непривилегированных контейнеров, работающих без возможности получения прав суперпользователя внутри;
  • Стабилизация API (liblxc1) для создания и управления контейнерами;
  • Поставка официальных биндингов для использования API в программах на языках python3, lua, ruby и Go;
  • Гибкая система размещения контейнеров в различных типах хранилищ. Поддерживается размещение контейнеров в обычном дереве директорий, в ФС btrfs и zfs, в lvm, loop-устройствах, aufs и overlayfs;
  • Поддержка клонирования работающих контейнеров и возможность заморозки их состояния через создание снапшотов;
  • Сокращенный, но более целостный, набор утилит;
  • Обновлённая и полноценная документация;
  • Поддержка нескольких методов создания контейнеров на основе недавно сгенерированных образов;
  • Поставка шаблонов для создания контейнеров на основе популярных дистрибутивов Linux. Шаблоны подготовлены для Alpine Linux, Alt Linux, Arch Linux, busybox, CentOS, Cirros, Debian, Fedora, OpenMandriva, OpenSUSE, Oracle, Plamo, sshd, Ubuntu Cloud и Ubuntu. В контейнере также можно запустить окружение Android;
  • Возможность запуска графического окружения внутри контейнера. Пример запуска Google Chrome, Steam и Skype в отдельных контейнерах.

Пример использования контейнеров:


   # Создадим контейнер с именем "p1", используя шаблон "ubuntu"
   sudo lxc-create -t ubuntu -n p1

   # Запустим контейнер в фоне
   sudo lxc-start -n p1 -d

   # Войдём в контейнер через консоль (для выхода нужно набрать ctrl-a + q)
   sudo lxc-console -n p1

   # Войдём в контейнер через запуск bash, минуя логин
   sudo lxc-attach -n p1

   # Войдём в контейнер через SSH:
   sudo lxc-info -n p1
   ssh ubuntu@полученный_ip

   # Заморозим состояние контейнера
   sudo lxc-freeze -n p1

   # Разморозим состояние контейнера
   sudo lxc-unfreeze -n p1

   # Пробросим устройства в контейнер
   sudo lxc-device add -n p1 /dev/ttyUSB0 /dev/ttyS0

   # Создадим снапшот (при размещении контейнера в LVM или Btrfs)
   sudo lxc-snapshot -n p1 -c snap-comment
   sudo lxc-snapshot -n p1 -L -C

   # Откатим состояние на созданный снапшот
   sudo lxc-snapshot -n p1 -r snap0
   
   # Создадим новый контейнер на основе снапшота
   sudo lxc-snapshot -n p1 -r snap0 p1-snap0

   # Завершим работу контейнера
   sudo lxc-stop -n p1

   # Принудительно закроем контейнер
   sudo lxc-stop -n p1 -k


   # Для настройки сети создадим файл конфигурации 
   cat /var/lib/lxc/p1/config
   # Проброс физического сетевого интерфейса
   lxc.network.type = phys
   lxc.network.link = eth2
   lxc.network.name = eth1
   
   # Создание виртульного сетевого интерфейса
   lxc.network.type = veth
   lxc.network.hwaddr = 00:16:3e:3a:f1:c1
   lxc.network.flags = up
   lxc.network.link = lxcbr0
   lxc.network.name = eth0


  1. Главная ссылка к новости (https://lists.linuxcontainers....)
  2. OpenNews: Выпуск CRIU 1.0, системы для заморозки и восстановления состояния процессов в Linux
Лицензия: CC-BY
Тип: Интересно / Программы
Ключевые слова: lxc, container
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Показать все | RSS
 
  • 1.1, Аноним, 20:06, 21/02/2014 [ответить] [смотреть все]     [к модератору]
  • +1 +/
    Вообще, по-хорошему, речь идет только о наборе юзерспейсных программ, являющихся... весь текст скрыт [показать]
     
     
  • 2.4, Аноним, 20:39, 21/02/2014 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    А чего конкретно сложно сделать без UID namespaces?
     
     
  • 3.9, Аноним, 22:25, 21/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Без UID namespaces, root из контейнера root на хосте Допустим, ФС хоста и се... весь текст скрыт [показать]
     
     
  • 4.12, Аноним, 22:34, 21/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    А можно подробнее на почитать Получается, что все эти разговоры про контейнеры,... весь текст скрыт [показать]
     
     
  • 5.17, Аноним, 23:13, 21/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Нет, просто LXC-контейнеры в современном их виде - не для безопасности, а для ... весь текст скрыт [показать]
     
     
  • 6.20, Аноним, 08:26, 22/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Так ведь это так и есть Для безопасности, допустим, те же сервисов, выставленны... весь текст скрыт [показать]
     
     
  • 7.44, Аноним, 20:55, 22/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    cgroups - это только компонент контейнера Таких механизмов, как изоляция точек ... весь текст скрыт [показать]
     
     
  • 8.48, Аноним, 00:26, 23/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Зачем моему сервису, крутящемуся на моей машине, изоляция точек монтирования и с... весь текст скрыт [показать]
     
     
  • 9.51, Аноним, 02:09, 23/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    this ... весь текст скрыт [показать]
     
     
  • 10.61, Аноним, 18:05, 23/02/2014 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    И?
    Дисковой квоты и обрезания прав недостаточно?

     
  • 9.53, Аноним, 06:42, 23/02/2014 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    > Xen.

    А нафига? KVM мало?

     
     
  • 10.62, Аноним, 18:06, 23/02/2014 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Медленно. Особенно в районе сети.

     
     
  • 11.63, pavel_simple, 19:18, 23/02/2014 [^] [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    > Медленно. Особенно в районе сети.

    враньё

     
  • 11.69, Аноним, 09:03, 25/02/2014 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    > Медленно. Особенно в районе сети.

    Не заметил. Virtio там есть, etc.

     
  • 9.65, pavlinux, 01:19, 24/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Чё только не придумают, лишь бы маны не читать Если ты пишешь на Опеннете, зна... весь текст скрыт [показать]
     
  • 4.19, Аноним, 02:48, 22/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Сам проверял, загрузить выгрузить ядрёный модуль тем внутренним рутом не даёт ... весь текст скрыт [показать]
     
     
  • 5.39, Аноним, 20:41, 22/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Это уже давно прикрыли Но это всего лишь одна из десятков дырочек все не упо... весь текст скрыт [показать]
     
  • 5.49, Аноним, 01:32, 23/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Ну, если не Ubuntu, могу предложить попробовать поменять системное время в конте... весь текст скрыт [показать]
     
     
  • 6.50, Аноним, 01:35, 23/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    На Ubuntu, конечно тоже будет работать, но там есть еще и много других впечатляю... весь текст скрыт [показать]
     
  • 4.22, cadmi, 10:26, 22/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Пробовал Или Мойша напел ... весь текст скрыт [показать]
     
     
  • 5.26, Анонимно, 14:26, 22/02/2014 [^] [ответить] [смотреть все]    [к модератору]  
  • +3 +/
    Я пробовал. Ubuntu 13.10 32bit.
     
  • 4.64, Антон, 00:49, 24/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Что за ересь Перегружает Только не хост, а гест LXC в 12 04LTS вполне себе р... весь текст скрыт [показать]
     
  • 4.66, Ващенаглухо, 10:23, 24/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    команда reboot из контейнера перезагружает хост наверно это только на убунте,... весь текст скрыт [показать]
     
  • 2.5, ананим, 21:42, 21/02/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –1 +/
    Создадим контейнер с именем p1 , используя шаблон ubuntu Войдём в к... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.8, Аноним, 22:23, 21/02/2014 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    > Как?

    Легко. Например, Docker это умел еще полгода назад.

     
     
  • 4.14, ананим, 22:57, 21/02/2014 [^] [ответить] [смотреть все]    [к модератору]  
  • –5 +/
    а ты ткни пальчиком, деточка, а то не видно старичку то.
     
     
  • 5.16, Аноним, 23:09, 21/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    http docs docker io en latest use Дальше сами осилите, или мне придется еще и... весь текст скрыт [показать]
     
     
  • 6.32, ананим, 19:04, 22/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • –4 +/
    понятно, ответа нет так вот, сабж, в отличие от ваших ссылок, работает а там п... весь текст скрыт [показать]
     
     
  • 7.40, Аноним, 20:43, 22/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Скорее, человек просто лень писать персонально для вас подробное руководство, и ... весь текст скрыт [показать]
     
     
  • 8.46, ананим, 21:17, 22/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Скорее вы тролль И ни разу не пробовали ни то, ни другое Вывод 8212 а напур... весь текст скрыт [показать]
     
  • 1.10, Miha, 22:30, 21/02/2014 [ответить] [смотреть все]    [к модератору]  
  • +/
    А как у него с оверхедом, например, по-сравнению с FreeBSD Jail?
     
     
  • 2.11, Аноним, 22:33, 21/02/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +1 +/
    Какой оверхед там вообще может быть Контейнер - это просто совокупность процесс... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.23, Xaionaro, 10:26, 22/02/2014 [^] [ответить] [смотреть все]    [к модератору]  
  • –3 +/
    Сам вак ключенных namespace-ов, cgroup-ов и т.п. в ядре даёт overhead-ы.
     
     
  • 4.24, Аноним, 11:48, 22/02/2014 [^] [ответить] [смотреть все]    [к модератору]  
  • +4 +/
    А уж ядро какие даёт оверхеды! То ли дело bare metal.
     
     
  • 5.56, Xaionaro, 10:11, 23/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Вы наверное удивитесь, но в разной конфигурации ядро работает с разной скоростью... весь текст скрыт [показать]
     
     
  • 6.70, Аноним, 09:08, 25/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Поэтому айда програмить в досе, на голом асме Вот там точно никакого оверхеда ... весь текст скрыт [показать]
     
  • 4.35, ананим, 20:01, 22/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Нет Не даёт Фактически это только куда смотрит как на рут граф ... весь текст скрыт [показать]
     
     
  • 5.57, Xaionaro, 10:13, 23/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Хм, а в документация к ядру и lwn net думают иначе 1 , насколько я помню 1 h... весь текст скрыт [показать]
     
  • 4.41, Аноним, 20:44, 22/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Нет Только отдельные контроллеры cgroups, типа memory Но их включать не обязат... весь текст скрыт [показать]
     
     
  • 5.58, Xaionaro, 10:14, 23/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Давая контейнеру доступ ко всей памяти получается слишком плохая изоляция Получ... весь текст скрыт [показать]
     
  • 3.34, Аноним, 20:00, 22/02/2014 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    0.93% в среднем
     
  • 1.13, Стоян, 22:38, 21/02/2014 [ответить] [смотреть все]    [к модератору]  
  • +/
    Фантастичная статья - огромное спасибо - долго искал короткое описание, как например есть у зони Соляриса - всего доброго!!!
    :)
     
     
  • 2.36, ананим, 20:02, 22/02/2014 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    совсем другой подход в реализации.
     
  • 1.18, Василий, 23:14, 21/02/2014 [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    Стефан Грабер (Stéphane Graber), в преддверии выхода 20 февраля 2014 года релиза LXC 1.0, опубликовал цикл статей о Linux Containers.
    Рассмотрены:
    * Первый Ubuntu контейнер.
    * Второй контейнер.
    * Продвинутое использование контейнера.
    * Более углублённое использование контейнера.
    * Хранилище контейнеров.
    * Безопасность.
    * Непривилегированные контейнеры.
    * Скрипты и API.
    * GUI в контейнере.
    * Решение проблем и отладка.
    Оригинал https://www.stgraber.org/2013/12/20/lxc-1-0-blog-post-series
    Перевод  http://vasilisc.com/lxc-1-0-blog-post-series
     
  • 1.21, аывыв, 09:48, 22/02/2014 [ответить] [смотреть все]    [к модератору]  
  • +/
    >По своим возможностям контейнеры занимают нишу между изоляцией при помощи chroot

    намного безопаснее chroot'а?

     
     
  • 2.71, Аноним, 09:09, 25/02/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Ощутимо - изолируется не только ФС но и иные неймспейсы, что явно лучше ... весь текст скрыт [показать] [показать ветку]
     
  • 1.25, Аноним, 13:41, 22/02/2014 [ответить] [смотреть все]     [к модератору]  
  • +/
    Когда игрался на убунте 12 4 обнаружил невозможность ограничить даже размер памя... весь текст скрыт [показать]
     
     
  • 2.27, Аноним, 14:56, 22/02/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –3 +/
    Это называется resource management Отсутствует как класс в лине ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.28, Apple, 15:17, 22/02/2014 [^] [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    И давно оно стало отсутствовать? И у кого присутствует лучше?
     
     
  • 4.38, Аноним, 20:28, 22/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Оно просто никогда не было написано А присутствует дофига где В Солярис 10, на... весь текст скрыт [показать]
     
     
  • 5.43, Аноним, 20:52, 22/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    У меня не получилось Следовательно, в солярке тоже отсутствует как класс ... весь текст скрыт [показать]
     
  • 3.72, Аноним, 09:10, 25/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    То-то линем все хостеры ползуются Что для впсок на опенвзе, что для виртуалок н... весь текст скрыт [показать]
     
  • 2.29, Apple, 15:26, 22/02/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –1 +/
    Нужно пробовать на 14 04, там будет новый LXC 1 0, в 12 04 4 да, всё грустно с н... весь текст скрыт [показать] [показать ветку]
     
  • 2.30, CssfPZS, 15:52, 22/02/2014 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +2 +/
    Поставь Linux и бдет тебе счастье.
    К.О.
     
     
  • 3.33, Аноним, 19:45, 22/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • –3 +/
    Подозреваю, дебиан тоже не линукс На роль домашнего серверо-декстопа с поддерж... весь текст скрыт [показать]
     
     
  • 4.37, CssfPZS, 20:12, 22/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    В отличие от горбатой убунту, Debian как раз таки один из нормальных представите... весь текст скрыт [показать]
     
     
  • 5.55, Аноним, 06:45, 23/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Вот только найти 10 отличий между ними не подсматривая в версии софта ... весь текст скрыт [показать]
     
  • 4.45, Аноним, 20:57, 22/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    К сожалению, именно у Ubuntu в частности, из-за особенностей сборки ядра и проб... весь текст скрыт [показать]
     
  • 2.42, Аноним, 20:51, 22/02/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Сравнительно старое ядро особенности убунтовой сборки Сейчас посмотрел ко... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.52, Kibab, 02:49, 23/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Если у команд управления инитом из контейнера получается убить хост-систему -- т... весь текст скрыт [показать]
     
     
  • 4.54, Аноним, 06:44, 23/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    Ну да, сейчас нам бздюки дадут краткий курс использования контейнеров Правда по... весь текст скрыт [показать]
     
     
  • 5.59, Kibab, 11:22, 23/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Заканчивай истерику и внимательно перечитай вопрос, на который отвечаешь Каким... весь текст скрыт [показать]
     
     
  • 6.73, Аноним, 09:24, 25/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Интимные особенности работы апстарта, сигнал приезжает неожиданным маршрутом к... весь текст скрыт [показать]
     
     
  • 7.76, Kibab_not_logged_in, 21:31, 25/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Причем тут вообще апстарт Каким образом userland-приложение стало причиной то... весь текст скрыт [показать]
     
  • 5.60, Аноним, 18:00, 23/02/2014 [^] [ответить] [смотреть все]    [к модератору]  
  • –2 +/
    Ну не видели люди SmartOS с нормальными Zones.
     
     
  • 6.74, Аноним, 09:25, 25/02/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Кому было сильно надо - сто лет юзают OpenVZ в продакшне Ну и виртуалки вот А ... весь текст скрыт [показать]
     
  • 1.67, Ващенаглухо, 10:29, 24/02/2014 [ответить] [смотреть все]    [к модератору]  
  • +/
    Вот бы ещё эти контейнеры могли использовать KSM. 20 запущенных контейнеров сожрали 14 гигов.
    Кстати пробовал ядро с UKSM, хрень полная... не работает.
     
     
  • 2.68, Stax, 18:54, 24/02/2014 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    Ну, не просто так его до сих пор в ядро не включили :)
    KSM+KVM/QEMU хотя бы реальный эффект дают..
     
  • 2.75, Онаним, 10:46, 25/02/2014 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    > Вот бы ещё эти контейнеры могли использовать KSM.

    Не секурно. Да и память нынче дешева.

     

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


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