This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
технология_lxc [2020/06/22 19:50] val [Подготовка сети] |
технология_lxc [2025/08/04 16:11] (current) val [Debian/Ubuntu] |
||
|---|---|---|---|
| Line 2: | Line 2: | ||
| * [[http://ru.wikipedia.org/wiki/LXC|LXC wiki]] | * [[http://ru.wikipedia.org/wiki/LXC|LXC wiki]] | ||
| - | * [[https://help.ubuntu.com/lts/serverguide/lxc.html|Ubuntu-Руководство по Ubuntu Server-Виртуализация]] | + | * [[https://wiki.debian.org/LXC|debian.org/LXC]] |
| + | * [[https://linuxcontainers.org/lxc/getting-started/|LXC Getting started]] | ||
| ===== Debian/Ubuntu ===== | ===== Debian/Ubuntu ===== | ||
| + | * Сервис SalesPlatform Vtiger CRM Russian [[Сервис SalesPlatform Vtiger CRM Russian#Информация по установке в LXC]] | ||
| ===== Подготовка родительской (host) системы ===== | ===== Подготовка родительской (host) системы ===== | ||
| ==== Подготовка сети ==== | ==== Подготовка сети ==== | ||
| + | ==== Настройка bridge ==== | ||
| <code> | <code> | ||
| Line 31: | Line 34: | ||
| gateway 192.168.X.1 | gateway 192.168.X.1 | ||
| | | ||
| - | # bridge_ports eth0 | + | bridge_ports eth0 |
| - | # bridge_ports enp0s3 | + | |
| # bridge_stp off | # bridge_stp off | ||
| # bridge_maxwait 0 | # bridge_maxwait 0 | ||
| # post-up /sbin/brctl setfd br0 0 | # post-up /sbin/brctl setfd br0 0 | ||
| - | </code><code> | + | |
| + | </code> | ||
| + | |||
| + | * !!! понадобиться включить «**неразборчивый режим**» в адаптере | ||
| + | |||
| + | <code> | ||
| root@server:~# init 0 | root@server:~# init 0 | ||
| </code> | </code> | ||
| - | * Для режима bridge в lxc понадобиться включить «**неразборчивый режим**» в адаптере | + | |
| ==== Установка и настройка lxc ==== | ==== Установка и настройка lxc ==== | ||
| Line 48: | Line 55: | ||
| root@server:~# cat /etc/default/lxc | root@server:~# cat /etc/default/lxc | ||
| + | </code><code> | ||
| + | ... | ||
| + | #[ ! -f /etc/default/lxc-net ] || . /etc/default/lxc-net | ||
| + | </code> | ||
| + | ИЛИ | ||
| + | |||
| + | <code> | ||
| root@server:~# cat /etc/default/lxc-net | root@server:~# cat /etc/default/lxc-net | ||
| </code><code> | </code><code> | ||
| Line 54: | Line 68: | ||
| USE_LXC_BRIDGE="false" | USE_LXC_BRIDGE="false" | ||
| ... | ... | ||
| + | </code><code> | ||
| + | root@server:~# rm /etc/default/lxc-net | ||
| </code> | </code> | ||
| Line 60: | Line 76: | ||
| ==== Создание ветки дочерней системы ==== | ==== Создание ветки дочерней системы ==== | ||
| + | |||
| + | === Debian === | ||
| <code> | <code> | ||
| - | ubuntu# lxc-create -t ubuntu -n www | + | debian# ls /usr/share/lxc/templates/ |
| debian# lxc-create -t debian -n www | debian# lxc-create -t debian -n www | ||
| + | |||
| + | debian# ls /var/cache/lxc | ||
| </code> | </code> | ||
| + | |||
| + | == С использованием LVM == | ||
| + | |||
| + | * [[Управление файловыми системами в Linux#Создание и использование новой логической группы томов]] LVM | ||
| + | |||
| + | <code> | ||
| + | debian# ###lxc-create -t debian -n www -B lvm --vgname=vg1 --fssize=4G --fstype=ext4 | ||
| + | debian# ###mount /dev/vg1/www /var/lib/lxc/www/rootfs/ | ||
| + | </code> | ||
| + | |||
| + | === Ubuntu === | ||
| + | <code> | ||
| + | ubuntu# lxc-create -t download -n www -- -d ubuntu -r focal -a amd64 | ||
| + | |||
| + | ubuntu24# time lxc-create -t ubuntu -n www | ||
| + | 15 минут | ||
| + | </code> | ||
| + | |||
| + | |||
| + | |||
| ==== Установка ПО в дочерней системе ==== | ==== Установка ПО в дочерней системе ==== | ||
| Line 70: | Line 110: | ||
| root@server:~# cp /etc/ssh/sshd_config /var/lib/lxc/www/rootfs/etc/ssh/sshd_config | 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:~# cp /etc/resolv.conf /var/lib/lxc/www/rootfs/etc/resolv.conf | + | |
| root@server:~# chroot /var/lib/lxc/www/rootfs /bin/bash | root@server:~# chroot /var/lib/lxc/www/rootfs /bin/bash | ||
| Line 80: | Line 118: | ||
| www:/# apt purge isc-dhcp-client | www:/# apt purge isc-dhcp-client | ||
| - | www:/# apt purge resolvconf | + | www:/# apt install nano vim iputils-ping |
| - | + | ||
| - | www:/# apt install nano | + | |
| - | + | ||
| - | www:/# apt install iputils-ping | + | |
| </code> | </code> | ||
| Line 98: | Line 132: | ||
| ==== Управление учетными записями в дочерней системе ==== | ==== Управление учетными записями в дочерней системе ==== | ||
| <code> | <code> | ||
| - | www:/# getent passwd | ||
| - | |||
| - | ubuntu# userdel -r ubuntu | ||
| - | |||
| www:/# passwd | www:/# passwd | ||
| - | 123 | + | ... 123 |
| www:/# exit | www:/# exit | ||
| + | |||
| + | debian# ###umount /dev/vg1/www | ||
| </code> | </code> | ||
| Line 115: | Line 147: | ||
| </code><code> | </code><code> | ||
| ... | ... | ||
| - | #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.net.0.type = veth | lxc.net.0.type = veth | ||
| Line 130: | Line 154: | ||
| lxc.net.0.ipv4.gateway = 192.168.X.1 | lxc.net.0.ipv4.gateway = 192.168.X.1 | ||
| - | lxc.start.auto = 1 | + | #lxc.start.auto = 1 # now - systemctl enable lxc@www |
| + | |||
| + | lxc.cgroup2.cpuset.cpus = 0-0 | ||
| + | lxc.cgroup2.cpu.max = 10000 100000 #/sys/fs/cgroup/lxc.payload.www/cpu.max | ||
| + | lxc.cgroup2.memory.max = 512M | ||
| + | lxc.cgroup2.memory.high = 512M #/sys/fs/cgroup/lxc.payload.www/memory.high | ||
| </code><code> | </code><code> | ||
| root@server:~# lxc-ls -f | root@server:~# lxc-ls -f | ||
| Line 142: | Line 172: | ||
| root@server:~# lxc-attach -n www -- ps ax | root@server:~# lxc-attach -n www -- ps ax | ||
| + | или | ||
| + | root@server:~# ps -eo pid,cmd,lxc | grep www | ||
| + | |||
| root@server:~# lxc-attach -n www -- /bin/bash | root@server:~# lxc-attach -n www -- /bin/bash | ||
| Line 150: | Line 183: | ||
| root@server:~# systemctl start lxc@www | root@server:~# systemctl start lxc@www | ||
| + | root@server:~# systemctl stop lxc@www | ||
| - | debian9# systemctl edit lxc@server | + | root@server:~# systemctl enable lxc@www --now |
| - | + | ||
| - | или | + | |
| - | + | ||
| - | debian9# mkdir /etc/systemd/system/lxc@www.service.d/ | + | |
| - | debian9# cat /etc/systemd/system/lxc@www.service.d/kill_signal_fix.conf | + | |
| - | </code><code> | + | |
| - | [Service] | + | |
| - | KillSignal=SIGRTMIN+3 | + | |
| - | </code><code> | + | |
| - | root@server:~# systemctl stop lxc@www | + | |
| </code> | </code> | ||