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-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor TopList