User Tools

Site Tools


технология_lxc

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
технология_lxc [2020/06/22 20:26]
val [Настройка lxc для запуска дочерней системы в контейнере]
технология_lxc [2025/02/01 10:11] (current)
val [Создание ветки дочерней системы]
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]]
  
  
Line 10: Line 11:
  
 ==== Подготовка сети ==== ==== Подготовка сети ====
 +==== Настройка bridge ====
  
 <​code>​ <​code>​
Line 31: Line 33:
         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 54:
  
 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 67:
 USE_LXC_BRIDGE="​false"​ USE_LXC_BRIDGE="​false"​
 ... ...
 +</​code><​code>​
 +root@server:​~#​ rm /​etc/​default/​lxc-net
 </​code>​ </​code>​
  
Line 60: Line 75:
  
 ==== Создание ветки дочерней системы ==== ==== Создание ветки дочерней системы ====
 +
 +=== Debian ===
 <​code>​ <​code>​
 +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 68: Line 109:
 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:​~#​ 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 94: Line 135:
  
 www:/# exit www:/# exit
 +
 +debian# ###umount /​dev/​vg1/​www
 </​code>​ </​code>​
  
Line 103: Line 146:
 </​code><​code>​ </​code><​code>​
 ... ...
-#​lxc.network.link = empty+
 lxc.net.0.type = veth lxc.net.0.type = veth
 lxc.net.0.link = br0 lxc.net.0.link = br0
Line 110: Line 153:
 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 123: Line 171:
  
 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 131: Line 182:
 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>​
технология_lxc.1592846815.txt.gz · Last modified: 2020/06/22 20:26 by val