Linux: поднимаем контейнеры LXC за 5 минут
Контейнерная виртуализация LXC (Linux Containers) появилась в ядре с версии 2.6.29. Технология хороша тем, что не требует специфических патчей ядра в отличии от OpenVZ и очень проста в использовании. В Debian появилась в Squeeze.
Устанавливаем:
К слову, bridge-utils нужен только в случае настройки сети через мост, т.е. чтобы система в контейнере имела виртуальный сетевой интерфейс со своим mac и ip адресом. Я в данном топике настраивать мост не буду, мне LXC нужен в качестве удобного средства попробовать софт не засоряя основную систему. Без настройки моста контейнеры используют интерфейс основной машины.
Прописываем в /etc/fstab
Создаем директорию и монтируем:
Создаем директорию для виртуальной системы и создаем ее с помощью скрипта lxc-debian, который установит минимальную версию Debian Lenny.
Стартуем систему:
Логин и пароль — root/root. Все команды для работы с LXC начинаются с префикса lxc- и разобраться в них очень просто.
При использовании ядра linux версии 3.0.0 я столкнулся со следующей проблемой при запуске.
При использовании ядра 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/
Устанавливаем:
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/
- —
- 24 сентября 2011, 18:00
Комментарии (3)
RSS свернуть / развернутьdurman
интересно, доступ к видеокартам при этом достаточный…
забавно, прогнал раз 5 упаковку tar.gz /usr из контейнера и основной системы…
худший результат из контейнера выигрывал у лучшего из основной ОС даже после 10минутного простоя. на 1% но вполне стабильно. при этом процесс gzip в обоих случаях хавал ~94-98%
в общем, как минимум — не замедляет.
ЗЫ: лично для меня из-за nfs который не всегда в сети — «mount /cgroup»
BAGArt
mtaalamu.ru/blog/admining/1921.html
Sergei_T
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.