Linux: поднимаем контейнеры LXC за 5 минут

Контейнерная виртуализация LXC (Linux Containers) появилась в ядре с версии 2.6.29. Технология хороша тем, что не требует специфических патчей ядра в отличии от OpenVZ и очень проста в использовании. В Debian появилась в Squeeze.

Устанавливаем:

apt-get install lxc bridge-utils debootstrap


К слову, bridge-utils нужен только в случае настройки сети через мост, т.е. чтобы система в контейнере имела виртуальный сетевой интерфейс со своим mac и ip адресом. Я в данном топике настраивать мост не буду, мне LXC нужен в качестве удобного средства попробовать софт не засоряя основную систему. Без настройки моста контейнеры используют интерфейс основной машины.

Прописываем в /etc/fstab

cgroup          /cgroup         cgroup  defaults        0       0


Создаем директорию и монтируем:

mkdir /cgroup
mount -a


Создаем директорию для виртуальной системы и создаем ее с помощью скрипта lxc-debian, который установит минимальную версию Debian Lenny.

mkdir -p /var/lib/lxc/vm0


/usr/lib/lxc/templates/lxc-debian -p /var/lib/lxc/vm0/


Стартуем систему:

lxc-start -n vm0


Логин и пароль — root/root. Все команды для работы с LXC начинаются с префикса lxc- и разобраться в них очень просто.

При использовании ядра linux версии 3.0.0 я столкнулся со следующей проблемой при запуске.

lxc-start: No such file or directory — failed to rename cgroup /cgroup/28788->/cgroup/vm0
lxc-start: failed to spawn 'vm0'
lxc-start: No such file or directory — failed to remove cgroup '/cgroup/vm0'

При использовании ядра 2.6.39-2-686-pae все работает.

Почитать:

wiki.debian.org/LXC
nigel.mcnie.name/blog/a-five-minute-guide-to-linux-containers-for-debian
blog.foaa.de/2010/05/lxc-on-debian-squeeze/

Комментарии (3)

RSS свернуть / развернуть
+
0
фига себе =) ДАже не знал. Надо поюзать на досуге
avatar

durman

  • 24 сентября 2011, 19:15
+
0
очень интересная тема, но лично меня больше интересуют тяжеловесные версии с иксами, чтобы без опасений запускать разные непонятные вещи требующие рута при установке. например, игры.
интересно, доступ к видеокартам при этом достаточный…

забавно, прогнал раз 5 упаковку tar.gz /usr из контейнера и основной системы…
худший результат из контейнера выигрывал у лучшего из основной ОС даже после 10минутного простоя. на 1% но вполне стабильно. при этом процесс gzip в обоих случаях хавал ~94-98%
в общем, как минимум — не замедляет.

ЗЫ: лично для меня из-за nfs который не всегда в сети — «mount /cgroup»
avatar

BAGArt

  • 26 сентября 2011, 23:40
+
0
Вот про песочницы в Linux, в т.ч. если софт с графическим интерфейсом:
mtaalamu.ru/blog/admining/1921.html
avatar

Sergei_T

  • 27 сентября 2011, 01:27

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.