Как стать автором
Обновить

Комментарии 16

lxc-console лочит lvm тома до перезагрузки, кстати.
Применение легковесных контейнеров LXC в настоящий момент довольно ограничено главным образом по причине их «сырости».

Я не админ и навыки у меня так себе, но у меня уже больше 6 месяцев работает сервер с lxc контейнерами и стабильно.
В сервере стоит диск на 3ТБ, есть 8Гб памяти и 2 lxc машины, одна для TimeMachine (afp 3.0), вторая для Torrent'ов и файлопомойки (sbm, transmission-bt).
root разделы создаются обычным способом, IP адреса берутся из DHCP роута, место для бекапов и файлов создается из образов qemu-img и подключенные через mount к lxc, а сами образы лежат на 3ТБ.
Все работает шустро, по гигабитной локальной сети скорость бекапа TimeMachine до ~50мб/сек.

До этого работало все с Proxmox, он конечно клевый, но слишком сложный для таких простых задач.
Ещё вроде как Heroku использует LXC во всю. Но они по сути и есть джедаи.
У меня похожая конфигурация — домашний мини-сервер с 6 Гб памяти (набрано с предыдущих ноутбуков), 2 диска по 2Тб, одна lxc машина выделена под торрент-клиент, 2 lxc машины с инсталляциями SAP ERP 6 для тренировки на кошках ;-), на хосте через NFS+SMB раздаются файлы для ноутбуков и медиа-плейера. Прочие решения для виртуализации (Proxmox, KVM и т.д.) не подошли, так как бегает это все на MiniITX с Intel Atom на борту, без поддержки апп. виртуализации. Построено все на Oracle Linux 6.4.
О! Кто-то его использует!

Мне вот на работе попался древний Dell PowerEdge 2650, на который наставлено 12 Гб памяти (больше в него не влезет), стоит Gentoo и в нём Virtualbox с вебинтерфейсом (т.к. процы Xeon MP не знают, что бывает аппаратная виртуализация) и LXC. Всё это успешно работает в течение вот уже двух лет.

Что удивительно — на этой машине схема сетевого подключения сложная: LACP объединяет две сетевухи, дальше bond0 нарезается на VLANы и уже виланы связываются с виртуалками, причём модуль bridge вообще не используется — либо подвязывается виртуалбоксовый сетевой модуль, либо macvlan от lxc. И всё это работает!
А в чем сложность проксмокса? поставил за пять минут и управляешь через веб интерфейс для тупых юзеров.
Я не админ и навыки у меня так себе, но у меня уже больше 6 месяцев работает сервер с lxc контейнерами и стабильно.

Ну это не показатель, а частный случай. Docker, к примеру не рекомендует использовать LXC с ядрами ниже 3.8 ввиду нестабильной работы.
У меня с Ubuntu 8.04 уже начались эксперименты с LXC.
Практически с начала живу в «контейнерах». Даже десктоп в контейнере, хотя были некоторые неудобства, но постепенно все улучшается, что даже никакого дискомфорта.

А легкие контейнеры использую уже давно, правда из-за соображений безопасности у меня отдельный образ, который монтируется через aufs.

За много лет накопил знаний и граблей.
Одно время была мысль для той же цели использовать aufs. Интересно, это еще хуже, чем снапшоты lvm, или хорошая идея?
docker.io/ как раз aufs использует. Вышло неплохо.
Очень забавная особенность
Например, мы полагаем, что root в контейнере равен root в целевой системе.
Тоже не совсем понятно в чем профит от использования root целевой системы в контейнере.
Можете прокомментировать?
Речь о безопасности. При проектировании системы создается аксиома, что если у пользователя есть root доступ к контейнеру, то значит у него есть доступ и ко всей системе. И давая кому-то root доступ в определенный контейнер следует это иметь в виду.
Тоже не совсем понятно в чем профит от использования root целевой системы в контейнере.

Так как начал копаться в LXC, добавлю от себя:
root в контейнере имеет очень много прав в LXC. К примеру он может:
— перезагрузить хост. В Убунту это защищается Apparmor, а в Debian последней — нет.
— изменить время на хосте (Debian) и, соответственно, на всех контейнерах.
— читать логи ядра хоста и, соответствено, всех контейнеров
$ mount -t cgroup -o cpuset,memory,cpu,devices,net_cls none /cgroup
lxc.cgroup.memory.limit_in_bytes = 128M
lxc.cgroup.memory.memsw.limit_in_bytes = 256M

Автор, а у Вас работает ограничение памяти? Вроде пишут что для этого нужно загрузить ядро с параметрами cgroup_enable=memory swapaccount=1? Или в CenOS иначе.
Стефан Грабер (Stéphane Graber), в предверии выхода 20 февраля 2014 года релиза LXC 1.0, опубликовал цикл статей о Linux Containers.
Рассмотрены:
* Первый Ubuntu контейнер.
* Второй контейнер.
* Продвинутое использование контейнера.
* Более углублённое использование контейнера.
* Хранилище контейнеров.
* Безопасность.
* Непривилегированные контейнеры.
* Скрипты и API.
* GUI в контейнере.
* Решение проблем и отладка.
Оригинал www.stgraber.org/2013/12/20/lxc-1-0-blog-post-series/
Перевод vasilisc.com/lxc-1-0-blog-post-series
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории