Инструменты пользователя

Инструменты сайта


технология_lxc

Технология LXC

Debian/Ubuntu

Подготовка родительской (host) системы

Подготовка сети

  • Для режима bridge в lxc понадобиться включить «неразборчивый режим» в адаптере
  • !!! В Debian 9 необходимо убрать из ядра Модуль AppArmor
root@server:~# apt install bridge-utils

root@server:~# cat /etc/network/interfaces
auto lo
iface lo inet loopback

#auto eth0
#iface eth0 inet static
#        address 192.168.X.10
#        netmask 255.255.255.0
#        gateway 192.168.X.1

auto br0
iface br0 inet static
        address 192.168.X.10
        netmask 255.255.255.0
        gateway 192.168.X.1
        
#        bridge_ports eth0
#        bridge_ports enp0s3

#        bridge_stp off
#        bridge_maxwait 0
#        post-up /sbin/brctl setfd br0 0
root@server:~# init 6

Установка и настройка lxc

root@server:~# apt install lxc

root@server:~# cat /etc/default/lxc

root@server:~# cat /etc/default/lxc-net
...
USE_LXC_BRIDGE="false"
...

Подготовка дочерней (гостевой) системы

Создание ветки дочерней системы

ubuntu# lxc-create -t ubuntu -n www

debian# lxc-create -t debian -n www

Установка ПО в дочерней системе

root@server:~# cp /etc/ssh/sshd_config /var/lib/lxc/www/rootfs/etc/ssh/sshd_config

root@server:~# rm /var/lib/lxc/www/rootfs/etc/resolv.conf

root@server:~# cp /etc/resolv.conf /var/lib/lxc/www/rootfs/etc/resolv.conf

root@server:~# chroot /var/lib/lxc/www/rootfs /bin/bash

root@server:/# PS1='www:\w# '

www:/# apt purge isc-dhcp-client

www:/# apt purge resolvconf

www:/# apt install nano

www:/# apt install iputils-ping

Настойка сетевых параметров дочерней системы

www:/# cat /etc/hosts
127.0.0.1       localhost

192.168.X.20    www.corpX.un www

Управление учетными записями в дочерней системе

www:/# getent passwd

ubuntu# userdel -r ubuntu

www:/# passwd
123

www:/# exit

Настройка lxc для запуска дочерней системы в контейнере

root@server:~# cat /var/lib/lxc/www/config
...
#lxc.network.link = lxcbr0
...
# lxc.network.hwaddr = 00:16:3e:5c:c0:fb # need comment
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.ipv4 = 192.168.X.20/24
lxc.network.ipv4.gateway = 192.168.X.1
lxc.start.auto = 1
root@server:~# lxc-ls -f

Запуск/мониторинг/остановка контейнера

root@server:~# lxc-start -n www 

root@server:~# lxc-info -n www

root@server:~# lxc-attach -n www -- ps ax
root@server:~# lxc-attach -n www -- /bin/bash

root@server:~# ssh 192.168.X.20

root@server:~# lxc-stop -n www

root@server:~# systemctl start lxc@www

debian9# mkdir /etc/systemd/system/lxc@www.service.d/

debian9# cat /etc/systemd/system/lxc@www.service.d/kill_signal_fix.conf
[Service]
KillSignal=SIGRTMIN+3
root@server:~# systemctl stop lxc@www
технология_lxc.txt · Последние изменения: 2019/02/01 08:34 — val