Установка LXC контейнеров через Libvirt

Thank you for reading this post, don't forget to subscribe!

Преж­де чем импор­ти­ро­вать кон­тей­нер в Libvirt, его нуж­но создать сред­ства­ми LXC.

Мож­но так­же исполь­зо­вать уже суще­ству­ю­щий кон­тей­нер LXC. В таком слу­чае вы може­те перей­ти к шагу "Импорт кон­тей­не­ра в Libvirt".

Кон­тей­не­ры LXC рас­по­ло­же­ны в пап­ке /var/lib/lxc.

Ска­чать кон­тей­нер Ubuntu 18.04 мож­но командой:

Centos 7 командой:

Импорт контейнера в Libvirt

Кон­фи­гу­ра­ция LXC Кон­тей­не­ра хра­нит­ся в фай­ле config в пап­ке само­го кон­тей­не­ра. Что­бы импор­ти­ро­вать, нуж­но сна­ча­ла скон­вер­ти­ро­вать кон­фиг в фор­мат libvirt. Дела­ет­ся это сле­ду­ю­щей командой:

Если выда­ет ошиб­ку, создай­те файл вруч­ную. Если ошиб­ки нет, то отре­дак­ти­руй­те его коман­дой nano config-libvirt.xml

Содер­жи­мое фай­ла xml:

Обра­ти­те вни­ма­ние на сек­ции memory, idmap, interface, console. Задай­те в них кор­рект­ные зна­че­ния. Поме­няй­те mac адрес и про­пи­ши­те ста­ти­че­ский IP адрес. Раз­мер памя­ти мож­но узнать коман­дой free.

Импор­ти­руй­те конфигурацию:

Выпол­ни­те коман­ду, пока­зать спи­сок всех lxc кон­тей­не­ров. Ваш кон­тей­нер дол­жен быть в списке.

Запу­сти­те тесто­вый контейнер:

Про­верь­те сеть:

Включения автозапуска контейнера

Вклю­чить автозапуск:

Выклю­чить автозапуск:

Подключение к контейнеру через консоль

По умол­ча­нию в кон­тей­не­ре не будет уста­нов­лен root пароль. Поэто­му, его нуж­но уста­но­вить при­ну­ди­тель­но. Для это­го отре­дак­ти­руй­те файл shadow командой

Для root мож­но про­пи­сать строчку:

Это хэш паро­ля qwerty!2

Под­клю­чи­тесь к госте­вой кон­со­ли, исполь­зуя команду

Вве­ди­те логин root и пароль qwerty!2.

Что­бы отклю­чить­ся от тер­ми­на­ла нуж­но нажать кла­ви­ши Ctrl+5

Установка SSH

Уста­но­ви­те ваш пуб­лич­ный сер­ти­фи­кат в контейнер:

Под­клю­чи­тесь к кон­тей­не­ру через кон­соль командой:

Уста­но­ви­те SSH сервер.

Для Ubuntu:

Для Centos:

Завер­ши­те теку­щий сеанс в контейнере:

Отклю­чи­тесь от тер­ми­на­ла нажав кла­ви­ши Ctrl+5

Теперь вы може­те под­клю­чить­ся к кон­тей­не­ру через SSH:

Сбросьте root пароль контейнера

Отре­дак­ти­руй­те файл shadow командой

Для root про­пи­ши­те строчку:

Остановка контейнера

Что­бы оста­но­вить кон­тей­нер, нуж­но выпол­нить комманду:

Если воз­ни­ка­ет ошиб­ка permission denied при оста­нов­ке кон­тей­не­ра, то нуж­но настро­ить apparmor.