LXD Π΅ ΡΠ»Π΅Π΄Π½Π°ΡΠ° Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΌΠ΅Π½Π°ΡΠ΅Ρ, ΡΠ°ΠΊΠ° ΠΏΠΈΡΡΠ²Π°
LXD ΡΠ°Π΄ΡΠΎ Π΅ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠ°Π½ Π΄Π΅ΠΌΠΎΠ½ (ΡΡΠ»ΡΠ³Π° ΡΡΠΎ ΡΠ°Π±ΠΎΡΠΈ ΡΠΎ ΠΏΡΠ°Π²Π° Π½Π° root) ΡΡΠΎ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° REST API ΠΏΡΠ΅ΠΊΡ Π»ΠΎΠΊΠ°Π»Π΅Π½ ΡΠ½ΠΈΠΊΡ ΠΏΡΠΈΠΊΠ»ΡΡΠΎΠΊ, ΠΊΠ°ΠΊΠΎ ΠΈ ΠΏΡΠ΅ΠΊΡ ΠΌΡΠ΅ΠΆΠ°ΡΠ° Π°ΠΊΠΎ Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π° ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°. ΠΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ Π΅ Π°Π»Π°ΡΠΊΠ°ΡΠ° Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π° Π»ΠΈΠ½ΠΈΡΠ° ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½Π° ΡΠΎ LXD, ΠΏΠΎΠ΄Π½Π΅ΡΡΠ²Π°Π°Ρ Π±Π°ΡΠ°ΡΠ° ΠΏΡΠ΅ΠΊΡ ΠΎΠ²ΠΎΡ REST API. ΠΠ²Π° Π·Π½Π°ΡΠΈ Π΄Π΅ΠΊΠ° Π±Π΅Π· ΡΠ°Π·Π»ΠΈΠΊΠ° Π΄Π°Π»ΠΈ ΠΏΡΠΈΡΡΠ°ΠΏΡΠ²Π°ΡΠ΅ Π΄ΠΎ Π»ΠΎΠΊΠ°Π»Π΅Π½ Ρ ΠΎΡΡ ΠΈΠ»ΠΈ ΠΎΠ΄Π΄Π°Π»Π΅ΡΠ΅Π½ Π΄ΠΎΠΌΠ°ΡΠΈΠ½, ΡΓ¨ ΡΠ°Π±ΠΎΡΠΈ ΠΈΡΡΠΎ.
ΠΠΎ ΠΎΠ²Π°Π° ΡΡΠ°ΡΠΈΡΠ°, Π½Π΅ΠΌΠ° Π΄Π° ΡΠ΅ Π·Π°Π΄ΡΠΆΠΈΠΌΠ΅ Π΄Π΅ΡΠ°Π»Π½ΠΎ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΠ΅ Π½Π° LXD; Π½Π΅ΠΌΠ° Π΄Π° Π³ΠΈ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΡΠΈΡΠ΅ Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΈ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈ Π²ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ°, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈ Π½Π΅ΠΎΠ΄Π°ΠΌΠ½Π΅ΡΠ½Π°ΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π²ΠΎ Π½Π°ΡΠ½ΠΎΠ²ΠΈΡΠ΅ Π²Π΅ΡΠ·ΠΈΠΈ Π½Π° LXD Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° QEMU Π²ΠΈΡΡΡΠ΅Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ ΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈΡΠ΅. ΠΠ°ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ°, ΡΠ΅ Π³ΠΈ Π½Π°ΡΡΠΈΠΌΠ΅ ΡΠ°ΠΌΠΎ ΠΎΡΠ½ΠΎΠ²ΠΈΡΠ΅ Π½Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ ΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ - ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ Π±Π°Π·Π΅Π½ΠΈ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅, Π²ΠΌΡΠ΅ΠΆΡΠ²Π°ΡΠ΅, Π²ΠΎΠ΄Π΅ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ, ΠΏΡΠΈΠΌΠ΅Π½Π° Π½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ° Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΡΠ΅ Π·Π° LXD ΠΈ Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ Π½Π° Linux.
ΠΠ° ΡΠ΅Π»ΠΎΡΠ½ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π²Π΅ ΠΌΠΎΠ»ΠΈΠΌΠ΅ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΡΠ΅ Π³ΠΎ ΠΎΡΠΈΡΠΈΡΠ°Π»Π½ΠΈΠΎΡ ΠΈΠ·Π²ΠΎΡ:
ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡΠ°
ΠΠ½ΡΡΠ°Π»Π°ΡΠΈΡΠ° LXD Π‘ΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ LXD (Π‘ΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅) ΠΠ½ΠΈΡΠΈΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° LXD ΠΠ·Π±ΠΎΡ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ Π·Π° Storage Pool ΠΠ½ΠΈΡΠΈΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΠΈ Π±Π°Π·Π΅Π½ΠΎΡ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° Π²ΠΎΠ»ΡΠ΅Π±Π½ΠΈΠΊΠΎΡ Π‘ΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ Π±Π°Π·Π΅Π½ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ΠΠ΅Π·Π±Π΅Π΄Π½ΠΎΡΡ. ΠΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ Π·Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ ΠΡΠ΅ΠΈΡΠ°ΡΠ΅ Π²ΠΈΡΡΡΠ΅Π»Π΅Π½ ΠΌΡΠ΅ΠΆΠ΅Π½ ΠΏΡΠ΅ΠΊΠΈΠ½ΡΠ²Π°Ρ ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΡΠΈΠ» Π‘ΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ Π·Π° ΡΠ»ΠΈΠΊΠΈ LXD ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°
ΠΡΠ΅ΠΈΡΠ°ΡΠ΅ ΠΈ ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ
ΠΠ½ΡΡΠ°Π»Π°ΡΠΈΡΠ° LXD ^
ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ LXD Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ Π½Π° Ubuntu ^
ΠΠΎ ΠΏΠ°ΠΊΠ΅ΡΠΎΡ Π·Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΠ° Π½Π° Ubuntu 19.10 lxd
ΠΈΠΌΠ° ΠΏΡΠ΅Π½ΠΎΡ Π½Π°
apt search lxd
lxd/eoan 1:0.7 all
Transitional package - lxd -> snap (lxd)
ΠΠ²Π° Π·Π½Π°ΡΠΈ Π΄Π΅ΠΊΠ° Π΄Π²Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΡΠ΅ ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π°Ρ ΠΎΠ΄Π΅Π΄Π½Π°Ρ, Π΅Π΄Π½ΠΈΠΎΡ ΠΊΠ°ΠΊΠΎ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ, Π° Π΄ΡΡΠ³ΠΈΠΎΡ ΠΊΠ°ΠΊΠΎ snap ΠΏΠ°ΠΊΠ΅Ρ. ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° Π΄Π²Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠΎΠ·Π΄Π°Π΄Π΅ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΊΠ°Π΄Π΅ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈΠΎΡ ΠΏΠ°ΠΊΠ΅Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡΡΠ°Π½Π΅ ΡΠΈΡΠ°ΠΊ Π°ΠΊΠΎ snap ΠΏΠ°ΠΊΠ΅ΡΠΎΡ Π³ΠΎ ΠΎΡΡΡΡΠ°Π½ΠΈ ΠΌΠ΅Π½Π°ΡΠ΅ΡΠΎΡ Π½Π° snap ΠΏΠ°ΠΊΠ΅ΡΠΈ.
ΠΠ°ΡΠ΄Π΅ΡΠ΅ ΠΏΠ°ΠΊΠ΅Ρ lxd
Π²ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠΎ snap ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΡΠ»Π΅Π΄Π½Π°Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°:
snap find lxd
Name Version Summary
lxd 3.21 System container manager and API
lxd-demo-server 0+git.6d54658 Online software demo sessions using LXD
nova ocata OpenStack Compute Service (nova)
nova-hypervisor ocata OpenStack Compute Service - KVM Hypervisor (nova)
distrobuilder 1.0 Image builder for LXC and LXD
fabrica 0.1 Build snaps by simply pointing a web form to...
satellite 0.1.2 Advanced scalable Open source intelligence platform
Π‘ΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° list
ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ΡΠ΅ ΡΠΈΠ³ΡΡΠ½ΠΈ Π΄Π΅ΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΡ lxd
ΡΡΡΠ΅ Π½Π΅ Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½:
snap list
Name Version Rev Tracking Publisher Notes
core 16-2.43.3 8689 stable canonicalβ core
Π ΠΏΠΎΠΊΡΠ°Ρ ΡΠ°ΠΊΡΠΎΡ Π΄Π΅ΠΊΠ° LXD Π΅ snap ΠΏΠ°ΠΊΠ΅Ρ, ΡΠΎΡ ΠΌΠΎΡΠ° Π΄Π° ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ° ΠΏΡΠ΅ΠΊΡ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈΠΎΡ ΠΏΠ°ΠΊΠ΅Ρ lxd
, ΡΠΎ ΡΡΠΎ ΡΠ΅ ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄Π΅ ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½Π°ΡΠ° Π³ΡΡΠΏΠ° Π²ΠΎ ΡΠΈΡΡΠ΅ΠΌΠΎΡ, ΠΏΠΎΡΡΠ΅Π±Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΡΠ½Π°Π»Π½ΠΈ ΡΡΠ»ΡΠ³ΠΈ Π²ΠΎ /usr/bin
ΠΈΡΠ½
sudo apt update
sudo apt install lxd
ΠΡΠ΄Π΅ Π΄Π° ΡΠ΅ ΡΠ²Π΅ΡΠΈΠΌΠ΅ Π΄Π΅ΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΡ Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ ΠΊΠ°ΠΊΠΎ snap ΠΏΠ°ΠΊΠ΅Ρ:
snap list
Name Version Rev Tracking Publisher Notes
core 16-2.43.3 8689 stable canonicalβ core
lxd 3.21 13474 stable/β¦ canonicalβ -
ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ LXD Π½Π° Arch Linux Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ ^
ΠΠ° Π΄Π° Π³ΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΡ LXD Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ, ΡΡΠ΅Π±Π° Π΄Π° Π³ΠΈ ΠΈΠ·Π²ΡΡΠΈΡΠ΅ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΏΡΠ²Π°ΡΠ° ΡΠ΅ ΡΠ° Π°ΠΆΡΡΠΈΡΠ° Π»ΠΈΡΡΠ°ΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π΄ΠΎΡΡΠ°ΠΏΠ½Π° Π²ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠΎ, Π²ΡΠΎΡΠ°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΡΠ΅ Π³ΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΡ:
sudo pacman -Syyu && sudo pacman -S lxd
ΠΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΎΡ, Π·Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ LXD ΠΎΠ΄ ΡΠ΅Π΄ΠΎΠ²Π΅Π½ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ, ΡΠΎΡ ΠΌΠΎΡΠ° Π΄Π° ΡΠ΅ Π΄ΠΎΠ΄Π°Π΄Π΅ Π²ΠΎ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠ°ΡΠ° Π³ΡΡΠΏΠ° lxd
:
sudo usermod -a -G lxd user1
ΠΡΠ΄Π΅ Π΄Π° ΡΠ΅ ΡΠ²Π΅ΡΠΈΠΌΠ΅ Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ user1
Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° Π²ΠΎ Π³ΡΡΠΏΠ°ΡΠ° lxd
:
id -Gn user1
user1 adm dialout cdrom floppy sudo audio dip video plugdev netdev lxd
ΠΠΎΠΊΠΎΠ»ΠΊΡ Π³ΡΡΠΏΠ°ΡΠ° lxd
Π½Π΅ Π΅ Π²ΠΈΠ΄Π»ΠΈΠ² Π²ΠΎ ΡΠΏΠΈΡΠΎΠΊΠΎΡ, ΡΠΎΠ³Π°Ρ ΡΡΠ΅Π±Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π΄Π° ΡΠ° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ ΡΠ΅ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ. ΠΠ° Π΄Π° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΎΠ²Π°, ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ ΠΎΠ΄ΡΠ°Π²ΠΈΡΠ΅ ΠΈ Π΄Π° ΡΠ΅ Π½Π°ΡΠ°Π²ΠΈΡΠ΅ ΠΏΠΎΠ΄ ΠΈΡΡΠΈΠΎΡ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ.
ΠΠΊΡΠΈΠ²ΠΈΡΠ°ΡΡΠ΅ Π²ΠΎ systemd
Π²ΡΠΈΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° LXD ΠΏΡΠΈ ΡΡΠ°ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ:
sudo systemctl enable lxd
ΠΠ° ΡΠ° Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌΠ΅ ΡΡΠ»ΡΠ³Π°ΡΠ°:
sudo systemctl start lxd
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΡΠ°ΡΡΡΠΎΡ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°:
sudo systemctl status lxd
Π‘ΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ LXD (Π‘ΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅) ^
ΠΡΠ΅Π΄ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ ΠΈΠ½ΠΈΡΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΠ°ΡΠ°, ΡΡΠ΅Π±Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΠ΅ ΠΊΠ°ΠΊΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ΡΠΎ Π²ΠΎ LXD Π΅ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄Π΅Π½ΠΎ.
Π‘ΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ (Π‘ΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅)
- Π‘Π»ΠΈΠΊΠΈ - ΠΎΠ²Π° ΡΠ΅ ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π½ΠΎ ΡΠΎΡΡΠ°Π²Π΅Π½ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ Π±Π΅Π· ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ Π½Π° Linux ΠΈ Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΈ ΠΎΠ΄ Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ½ΠΈ ΠΈΠ·Π²ΠΎΡΠΈ
- ΠΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ - ΠΎΠ²Π° ΡΠ΅ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄Π΅Π½ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ ΠΎΠ΄ ΡΠ»ΠΈΠΊΠΈ, ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π°
- Π‘Π½ΠΈΠΌΠΊΠΈ - ΠΎΠ²Π° ΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ ΠΎΠ΄ ΡΠΎΡΡΠΎΡΠ±Π°ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ Π²ΡΠ°ΡΠΈΡΠ΅
ΠΠ° Π΄Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ΡΠΎ Π²ΠΎ LXD, ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° lxc storage
ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π·Π° ΠΊΠΎΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅ΡΠ΅ ΡΠΎ Π½Π°Π²Π΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠ»ΡΡΠΎΡ - lxc storage --help
Π‘Π»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π° ΡΠΏΠΈΡΠΎΠΊ Π½Π° ΡΠΈΡΠ΅ ΠΠ°Π·Π΅Π½ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π²ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ LXD:
lxc storage list
+---------+-------------+--------+--------------------------------+---------+
| NAME | DESCRIPTION | DRIVER | SOURCE | USED BY |
+---------+-------------+--------+--------------------------------+---------+
| hddpool | | btrfs | /dev/loop1 | 2 |
+---------+-------------+--------+--------------------------------+---------+
| ssdpool | | btrfs | /var/lib/lxd/disks/ssdpool.img | 4 |
+---------+-------------+--------+--------------------------------+---------+
ΠΠ° Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΠΏΠΈΡΠΎΠΊ Π½Π° ΡΠΈΡΠ΅ ΠΠΎΠ»ΡΠΌΠ΅Π½ Π½Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π²ΠΎ ΠΈΠ·Π±ΡΠ°Π½ΠΈΡΠ΅ ΠΠ°Π·Π΅Π½ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ΠΌΡ ΡΠ»ΡΠΆΠΈ Π½Π° ΡΠΈΠΌΠΎΡ lxc storage volume list
:
lxc storage volume list hddpool
+-------+----------------------------------+-------------+---------+
| TYPE | NAME | DESCRIPTION | USED BY |
+-------+----------------------------------+-------------+---------+
| image | ebd565585223487526ddb3607f515... | | 1 |
+-------+----------------------------------+-------------+---------+
lxc storage volume list ssdpool
+-----------+----------------------------------+-------------+---------+
| TYPE | NAME | DESCRIPTION | USED BY |
+-----------+----------------------------------+-------------+---------+
| container | alp3 | | 1 |
+-----------+----------------------------------+-------------+---------+
| container | jupyter | | 1 |
+-----------+----------------------------------+-------------+---------+
| image | ebd565585223487526ddb3607f515... | | 1 |
+-----------+----------------------------------+-------------+---------+
ΠΡΡΠΎ ΡΠ°ΠΊΠ°, Π°ΠΊΠΎ Π·Π° ΠΠ°Π·Π΅Π½ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ΠΡΠΈ ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ΡΠΎ, Π±Π΅ΡΠ΅ ΠΈΠ·Π±ΡΠ°Π½ Π΄Π°ΡΠΎΡΠ΅ΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ BTRFS, Π° ΠΏΠΎΡΠΎΠ° Π΄ΠΎΠ±ΠΈΡΡΠ΅ Π»ΠΈΡΡΠ° ΠΠΎΠ»ΡΠΌΠ΅Π½ Π½Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π²ΠΎΠ»ΡΠΌΠΈ Π²ΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° BTRFS, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠ»Π΅ΡΠΎΡ ΡΠΎ Π°Π»Π°ΡΠΊΠΈ Π½Π° ΠΎΠ²ΠΎΡ Π΄Π°ΡΠΎΡΠ΅ΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ:
sudo btrfs subvolume list -p /var/lib/lxd/storage-pools/hddpool
ID 257 gen 818 parent 5 top level 5 path images/ebd565585223487526ddb3607f5156e875c15a89e21b61ef004132196da6a0a3
sudo btrfs subvolume list -p /var/lib/lxd/storage-pools/ssdpool
ID 257 gen 1820 parent 5 top level 5 path images/ebd565585223487526ddb3607f5156e875c15a89e21b61ef004132196da6a0a3
ID 260 gen 1819 parent 5 top level 5 path containers/jupyter
ID 263 gen 1820 parent 5 top level 5 path containers/alp3
ΠΠ½ΠΈΡΠΈΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° LXD ^
ΠΡΠ΅Π΄ Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΠΈ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ, ΠΌΠΎΡΠ° Π΄Π° ΠΈΠ·Π²ΡΡΠΈΡΠ΅ ΠΎΠΏΡΡΠ° ΠΈΠ½ΠΈΡΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° LXD ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π²Π° ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ° ΠΌΡΠ΅ΠΆΠ° ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅. ΠΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΡΠ°ΡΠ½ΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΊΠΎΠΈ ΡΠ΅ Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΈ Π²ΠΎ ΡΠΏΠΈΡΠΎΠΊΠΎΡ ΡΠΎ ΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° lxc --help
ΠΈΠ»ΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΎ Π²ΠΎΠ»ΡΠ΅Π±Π½ΠΈΠΊΠΎΡ Π·Π° ΠΈΠ½ΠΈΡΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΠ° lxd init
ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ°ΡΡΠΈ Π½Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΏΡΠ°ΡΠ°ΡΠ°.
ΠΠ·Π±ΠΎΡ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ Π·Π° Storage Pool ^
ΠΠ° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ½ΠΈΡΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΠ°ΡΠ°, LXD ΠΏΠΎΡΡΠ°Π²ΡΠ²Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΏΡΠ°ΡΠ°ΡΠ°, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈ ΠΎΠ΄ΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° ΡΠΈΠΏΠΎΡ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΡΠ½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ Π·Π° ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΈΠΎΡ ΠΠ°Π·Π΅Π½ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅. Π‘ΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ, Π·Π° Π½Π΅Π³ΠΎ Π΅ ΠΈΠ·Π±ΡΠ°Π½ Π΄Π°ΡΠΎΡΠ΅ΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ BTRFS. ΠΠ΅ Π±ΠΈΠ΄Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΠΌΠ΅Π½ΠΈ Π²ΠΎ Π΄ΡΡΠ³ FS ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ΡΠΎ. ΠΠ° Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ FS, ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°
ΡΡΠ½ΠΊΡΠΈΡΠ°
Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ
Btrfs
LVM
ZFS
CEPH
ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠ»ΠΈΠΊΠΈ
Π±Ρ
ΠΠ°
ΠΠ°
ΠΠ°
ΠΠ°
ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠΈ
Π±Ρ
ΠΠ°
ΠΠ°
ΠΠ°
ΠΠ°
ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ
Π±Ρ
ΠΠ°
ΠΠ°
ΠΠ°
ΠΠ°
ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ ΠΏΡΠ΅Π½ΠΎΡ Π½Π° ΡΠ»ΠΈΠΊΠΈ
Π±Ρ
ΠΠ°
Π±Ρ
ΠΠ°
ΠΠ°
ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ ΠΏΡΠ΅Π½ΠΎΡ Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ
Π±Ρ
ΠΠ°
Π±Ρ
ΠΠ°
ΠΠ°
ΠΠΎΠΏΠΈΡΠ°Ρ Π½Π° ΠΏΠΈΡΡΠ²Π°ΡΠ΅
Π±Ρ
ΠΠ°
ΠΠ°
ΠΠ°
ΠΠ°
ΠΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π±Π»ΠΎΠΊ
Π±Ρ
Π±Ρ
ΠΠ°
Π±Ρ
ΠΠ°
ΠΠ½ΡΡΠ°Π½Ρ ΠΊΠ»ΠΎΠ½ΠΈΡΠ°ΡΠ΅
Π±Ρ
ΠΠ°
ΠΠ°
ΠΠ°
ΠΠ°
ΠΠ²ΠΈΠ³Π°ΡΠ΅Π» Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ
ΠΠ°
ΠΠ°
Π±Ρ
Π±Ρ
Π±Ρ
ΠΡΠ°ΡΠ°ΡΠ΅ ΠΎΠ΄ ΠΏΠΎΡΡΠ°ΡΠΈ ΡΠ½ΠΈΠΌΠΊΠΈ (Π½Π΅ Π½Π°ΡΠ½ΠΎΠ²ΠΈ)
ΠΠ°
ΠΠ°
ΠΠ°
Π±Ρ
ΠΠ°
ΠΠ²ΠΎΡΠΈ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅
Π΄Π° (*)
ΠΠ°
ΠΠ°
ΠΠ°
Π±Ρ
ΠΠ½ΠΈΡΠΈΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΠΈ Π±Π°Π·Π΅Π½ΠΎΡ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° Π²ΠΎΠ»ΡΠ΅Π±Π½ΠΈΠΊΠΎΡ ^
Π‘Π»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡΠΎ ΡΠ΅ ΡΠ° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ Π½Π° Π³Π»Π°Π²Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° LXD ΡΠΎ ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ°ΡΠ΅ Π½Π° Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΈ ΠΏΡΠ°ΡΠ°ΡΠ° ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° Π²ΠΎΠ»ΡΠ΅Π±Π½ΠΈΠΊΠΎΡ Π·Π° ΠΈΠ½ΠΈΡΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΠ°.
ΠΠ·Π²ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° lxc init
ΠΈ Π²Π½Π΅ΡΠ΅ΡΠ΅ Π³ΠΈ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠΈΡΠ΅ Π½Π° ΠΏΡΠ°ΡΠ°ΡΠ°ΡΠ° ΠΏΠΎ Π΄Π΅Π±Π΅Π»ΠΎΡΠΎ ΡΡΠ΅Π²ΠΎ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ Π΅ ΠΏΡΠΈΠΊΠ°ΠΆΠ°Π½ΠΎ Π²ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΡ ΠΏΠΎΠ΄ΠΎΠ»Ρ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π΅ΡΠ΅ Π³ΠΈ ΡΠΏΠΎΡΠ΅Π΄ Π²Π°ΡΠΈΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈ:
lxd init
Would you like to use LXD clustering? (yes/no) [default=no]:
Do you want to configure a new storage pool? (yes/no) [default=yes]:
Name of the new storage pool [default=default]: ssdpool
Name of the storage backend to use (lvm, btrfs, dir) [default=btrfs]:
Create a new BTRFS pool? (yes/no) [default=yes]:
Would you like to use an existing block device? (yes/no) [default=no]:
Size in GB of the new loop device (1GB minimum) [default=15GB]: 10GB
Would you like to connect to a MAAS server? (yes/no) [default=no]:
Would you like to create a new local network bridge? (yes/no) [default=yes]:
What should the new bridge be called? [default=lxdbr0]:
What IPv4 address should be used? (CIDR subnet notation, βautoβ or βnoneβ) [default=auto]: 10.0.5.1/24
Would you like LXD to NAT IPv4 traffic on your bridge? [default=yes]:
What IPv6 address should be used? (CIDR subnet notation, βautoβ or βnoneβ) [default=auto]: none
Would you like LXD to be available over the network? (yes/no) [default=no]:
Would you like stale cached images to be updated automatically? (yes/no) [default=yes] no
Would you like a YAML "lxd init" preseed to be printed? (yes/no) [default=no]:
Π‘ΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ Π±Π°Π·Π΅Π½ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ^
ΠΠΎ ΠΏΡΠ΅ΡΡ
ΠΎΠ΄Π½ΠΈΠΎΡ ΡΠ΅ΠΊΠΎΡ ΡΡΠΎ Π³ΠΎ ΡΠΎΠ·Π΄Π°Π΄ΠΎΠ²ΠΌΠ΅ ΠΠ°Π·Π΅Π½ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ΠΊΠΎΡ Π³ΠΎ Π΄ΠΎΠ±ΠΈ ΠΈΠΌΠ΅ΡΠΎ ssdpool
ΠΈ ΡΠΈΡΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΡΠ΅ Π½Π°ΠΎΡΠ° Π½Π° ΠΌΠΎΡΠΎΡ ΡΠΈΡΡΠ΅ΠΌ Π½Π° /var/lib/lxd/disks/ssdpool.img
. ΠΠ²Π°Π° Π°Π΄ΡΠ΅ΡΠ° Π½Π° Π΄Π°ΡΠΎΡΠ΅ΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ° Π½Π° ΡΠΈΠ·ΠΈΡΠΊΠΈΠΎΡ SSD-ΡΡΠ΅Π΄ Π½Π° ΠΌΠΎΡΠΎΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ.
Π‘Π»Π΅Π΄Π½ΠΈΠ²Π΅ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ, Π·Π° Π΄Π° ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠΈ ΡΠ°Π·Π±ΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΡΠ»ΠΎΠ³Π°ΡΠ° ΡΡΠΎ ΡΠ° ΠΈΠ³ΡΠ° ΠΠ°Π·Π΅Π½ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π²ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠΎ, ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄Π΅ΠΌΠ΅ Π²ΡΠΎΡΠΎ ΠΠ°Π·Π΅Π½ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ΠΊΠΎΡ ΡΠΈΠ·ΠΈΡΠΊΠΈ ΡΠ΅ ΡΠ΅ Π½Π°ΠΎΡΠ° Π½Π° ΡΠ°Π·Π»ΠΈΡΠ΅Π½ ΡΠΈΠΏ Π½Π° Π΄ΠΈΡΠΊ, HDD. ΠΡΠΎΠ±Π»Π΅ΠΌΠΎΡ Π΅ ΡΡΠΎ LXD Π½Π΅ Π²ΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΠΠ°Π·Π΅Π½ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π°Π΄Π²ΠΎΡ ΠΎΠ΄ Π°Π΄ΡΠ΅ΡΠ°ΡΠ° /var/lib/lxd/disks/
ΠΏΠ° Π΄ΡΡΠΈ ΠΈ ΡΠΈΠΌΠ±ΠΎΠ»ΠΈΡΠ½ΠΈΡΠ΅ Π²ΡΡΠΊΠΈ Π½Π΅ΠΌΠ° Π΄Π° ΡΠ°Π±ΠΎΡΠ°Ρ, source
.
ΠΠ½Π°ΡΠΈ, ΠΏΡΠ΅Π΄ Π΄Π° ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄Π΅ ΠΠ°Π·Π΅Π½ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ΡΡΠ΅Π±Π° Π΄Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΡΠ΅ Loopback Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΈΠ»ΠΈ ΠΏΠΎΡΡΠΎΠ΅ΡΠΊΠ° ΠΏΠ°ΡΡΠΈΡΠΈΡΠ° Π½Π° Π²Π°ΡΠΈΠΎΡ Π΄Π°ΡΠΎΡΠ΅ΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ ΡΡΠΎ ΡΠ΅ ΡΠ° ΠΊΠΎΡΠΈΡΡΠΈ. ΠΠ° Π΄Π° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΎΠ²Π°, ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄Π΅ΠΌΠ΅ ΠΈ ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΡΡΠΎ ΡΠ΅ ΡΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠΌΠ΅ Π²ΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° Π½Π° 10 GB:
dd if=/dev/zero of=/mnt/work/lxd/hddpool.img bs=1MB count=10000
10000+0 records in
10000+0 records out
10000000000 bytes (10 GB, 9,3 GiB) copied, 38,4414 s, 260 MB/s
ΠΡΠ΄Π΅ Π΄Π° ΡΠ° ΠΏΠΎΠ²ΡΠ·Π΅ΠΌΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° loopback ΡΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ΅Π½ ΡΡΠ΅Π΄ Π·Π° Π²ΡΠ°ΡΠ°ΡΠ΅ Π½Π° ΡΠ°ΠΌΠΊΠ°ΡΠ°:
sudo losetup --find --show /mnt/work/lxd/hddpool.img
/dev/loop1
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ»ΡΡΠΎΡ --show
ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Π³ΠΎ Π²ΡΠ°ΡΠ° Π½Π° Π΅ΠΊΡΠ°Π½ΠΎΡ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΡΡΠ΅Π΄ΠΎΡ Π²ΠΎ ΠΊΠΎΡ Π΅ ΠΏΠΎΠ²ΡΠ·Π°Π½Π° Π½Π°ΡΠ°ΡΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° Π·Π° Π²ΡΠ°ΡΠ°ΡΠ΅ Π½Π° ΡΠ°ΠΌΠΊΠ°ΡΠ°. ΠΠΎΠΊΠΎΠ»ΠΊΡ Π΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΏΡΠΈΠΊΠ°ΠΆΠ΅ΠΌΠ΅ ΡΠΏΠΈΡΠΎΠΊ Π½Π° ΡΠΈΡΠ΅ Π·Π°ΡΠ°ΡΠ΅Π½ΠΈ ΡΡΠ΅Π΄ΠΈ ΠΎΠ΄ ΠΎΠ²ΠΎΡ ΡΠΈΠΏ Π·Π° Π΄Π° ΡΠ΅ ΡΠ²Π΅ΡΠΈΠΌΠ΅ Π΄Π΅ΠΊΠ° Π½Π°ΡΠΈΡΠ΅ ΠΏΠΎΡΡΠ°ΠΏΠΊΠΈ ΡΠ΅ ΡΠΎΡΠ½ΠΈ:
losetup -l
NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE DIO LOG-SEC
/dev/loop1 0 0 0 0 /mnt/work/lxd/hddpool.img 0 512
/dev/loop0 0 0 1 0 /var/lib/lxd/disks/ssdpool.img 0 512
ΠΠ΄ ΡΠΏΠΈΡΠΎΠΊΠΎΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΎΡΠΊΡΠΈΠ΅ΡΠ΅ Π΄Π΅ΠΊΠ° ΡΡΠ΅Π΄ΠΎΡ ΠΈΠΌΠ° /dev/loop1
ΠΠΊΠ»ΡΡΠ΅Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΡΠΎ ΡΠ°ΠΌΠΊΠ° /mnt/work/lxd/hddpool.img
, ΠΈ Π²ΠΎ ΡΡΠ΅Π΄ΠΎΡ /dev/loop0
ΠΠΊΠ»ΡΡΠ΅Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΡΠΎ ΡΠ°ΠΌΠΊΠ° /var/lib/lxd/disks/ssdpool.img
ΡΡΠΎ ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ° Π½Π° ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎΡΠΎ ΠΠ°Π·Π΅Π½ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅.
Π‘Π»Π΅Π΄Π½Π°Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠΎΠ·Π΄Π°Π²Π° Π½ΠΎΠ²Π° ΠΠ°Π·Π΅Π½ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π²ΠΎ LXD Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° loopback ΡΡΠΎ ΡΡΠΎΡΡΠΊΡ ΡΠ° ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΠΈΠ²ΠΌΠ΅. LXD ΡΠ΅ ΡΠ° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° ΡΠΎ ΡΠ°ΠΌΠΊΠ° /mnt/work/lxd/hddpool.img
Π²ΠΎ ΡΡΠ΅Π΄ΠΎΡ /dev/loop1
Π·Π° Π΄Π°ΡΠΎΡΠ΅ΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ BTRFS:
lxc storage create hddpool btrfs size=10GB source=/dev/loop1
ΠΡΠ΄Π΅ Π΄Π° ΠΏΡΠΈΠΊΠ°ΠΆΠ΅ΠΌΠ΅ ΡΠΏΠΈΡΠΎΠΊ Π½Π° ΡΠΈΡΠ΅ ΠΠ°Π·Π΅Π½ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π° Π΅ΠΊΡΠ°Π½ΠΎΡ:
lxc storage list
+---------+-------------+--------+--------------------------------+---------+
| NAME | DESCRIPTION | DRIVER | SOURCE | USED BY |
+---------+-------------+--------+--------------------------------+---------+
| hddpool | | btrfs | /dev/loop1 | 0 |
+---------+-------------+--------+--------------------------------+---------+
| ssdpool | | btrfs | /var/lib/lxd/disks/ssdpool.img | 0 |
+---------+-------------+--------+--------------------------------+---------+
ΠΠ³ΠΎΠ»Π΅ΠΌΡΠ²Π°ΡΠ΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° Π½Π° Π±Π°Π·Π΅Π½ΠΎΡ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ^
ΠΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ΡΠΎ ΠΠ°Π·Π΅Π½ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅, Π΄ΠΎΠΊΠΎΠ»ΠΊΡ Π΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠΈ. ΠΠ° ΠΠ°Π·Π΅Π½ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π΄Π°ΡΠΎΡΠ΅ΡΠ½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ BTRFS, ΠΈΠ·Π²ΡΡΠ΅ΡΠ΅ Π³ΠΈ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ:
sudo truncate -s +5G /mnt/work/lxd/hddpool.img
sudo losetup -c /dev/loop1
sudo btrfs filesystem resize max /var/lib/lxd/storage-pools/hddpool
ΠΠ²ΡΠΎΠΌΠ°ΡΡΠΊΠΎ Π²ΠΌΠ΅ΡΠ½ΡΠ²Π°ΡΠ΅ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΡΠΎ ΠΏΠΎΠ²ΡΠ°ΡΠ½Π° Π²ΡΡΠΊΠ° Π²ΠΎ ΠΎΡΠ²ΠΎΡΠΎΡ Π·Π° ΡΡΠ΅Π΄ ΡΠΎ ΠΏΠΎΠ²ΡΠ°ΡΠ½Π° Π²ΡΡΠΊΠ° ^
ΠΠΌΠ°ΠΌΠ΅ Π΅Π΄Π΅Π½ ΠΌΠ°Π» ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΠΏΡΠΈ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π½Π° Π΄ΠΎΠΌΠ°ΡΠΈΠ½ΠΎΡ, Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° /mnt/work/lxd/hddpool.img
ΡΠ΅ βΠ»Π΅ΡΠ°β Π½Π°Π΄Π²ΠΎΡ ΠΎΠ΄ ΡΡΠ΅Π΄ΠΎΡ /dev/loop1
ΠΈ ΡΡΠ»ΡΠ³Π°ΡΠ° LXD ΡΠ΅ ΠΏΠ°Π΄Π½Π΅ ΠΏΡΠΈ Π²ΡΠΈΡΡΠ²Π°ΡΠ΅ Π±ΠΈΠ΄Π΅ΡΡΠΈ Π½Π΅ΠΌΠ° Π΄Π° ΡΠ° Π²ΠΈΠ΄ΠΈ Π½Π° ΠΎΠ²ΠΎΡ ΡΡΠ΅Π΄. ΠΠ° Π΄Π° Π³ΠΎ ΡΠ΅ΡΠΈΡΠ΅ ΠΎΠ²ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΡΡΠ΅Π±Π° Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠ° ΡΡΠ»ΡΠ³Π° ΠΊΠΎΡΠ° ΡΠ΅ ΡΠ° Π²ΠΌΠ΅ΡΠ½Π΅ ΠΎΠ²Π°Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° Π²ΠΎ ΡΡΠ΅Π΄ΠΎΡ /dev/loop1
ΠΊΠΎΠ³Π° ΡΠ΅ ΡΠ΅ ΠΏΠΎΠ΄ΠΈΠ³Π½Π΅ ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π½Π° Π΄ΠΎΠΌΠ°ΡΠΈΠ½ΠΎΡ.
ΠΡΠ΄Π΅ Π΄Π° ΡΠΎΠ·Π΄Π°Π΄Π΅ΠΌΠ΅ Π΅Π΄ΠΈΠ½ΠΈΡΠ° ΡΠΈΠΏ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° Π‘Π΅ΡΠ²ΠΈΡ Π² /etc/systemd/system/
Π·Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π·Π° ΠΈΠ½ΠΈΡΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° SystemD:
cat << EOF | sudo tee -a /etc/systemd/system/lxd-hddpool.service
[Unit]
Description=Losetup LXD Storage Pool (hddpool)
After=local-fs.target
[Service]
Type=oneshot
ExecStart=/sbin/losetup /dev/loop1 /mnt/work/lxd/hddpool.img
RemainAfterExit=true
[Install]
WantedBy=local-fs.target
EOF
ΠΠΊΡΠΈΠ²ΠΈΡΠ°ΡΡΠ΅ ΡΠ° ΡΡΠ»ΡΠ³Π°ΡΠ°:
sudo systemctl enable lxd-hddpool
Created symlink /etc/systemd/system/local-fs.target.wants/lxd-hddpool.service β /etc/systemd/system/lxd-hddpool.service.
ΠΠΎ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π΄ΠΎΠΌΠ°ΡΠΈΠ½, Π³ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°ΠΌΠ΅ ΡΡΠ°ΡΡΡΠΎΡ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°:
systemctl status lxd-hddpool.service
β lxd-hddpool.service - Losetup LXD Storage Pool (hddpool)
Loaded: loaded (/etc/systemd/system/lxd-hddpool.service; enabled; vendor preset: disabled)
Active: active (exited) since Wed 2020-04-08 03:43:53 MSK; 1min 37s ago
Process: 711 ExecStart=/sbin/losetup /dev/loop1 /mnt/work/lxd/hddpool.img (code=exited, status=0/SUCCESS)
Main PID: 711 (code=exited, status=0/SUCCESS)
Π°ΠΏΡ 08 03:43:52 manjaro systemd[1]: Starting Losetup LXD Storage Pool (hddpool)...
Π°ΠΏΡ 08 03:43:53 manjaro systemd[1]: Finished Losetup LXD Storage Pool (hddpool).
ΠΠ΄ ΠΈΠ·Π»Π΅Π·ΠΎΡ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΏΠΎΡΠ²ΡΠ΄ΠΈΠΌΠ΅ Π΄Π΅ΠΊΠ° ΡΠΎΡΡΠΎΡΠ±Π°ΡΠ° Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° Π΅ Π°ΠΊΡΠΈΠ²Π΅Π½, ΠΈ ΠΏΠΎΠΊΡΠ°Ρ ΡΠ°ΠΊΡΠΎΡ ΡΡΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Π½Π°ΡΠ°ΡΠ° ΡΠΊΡΠΈΠΏΡΠ° ΠΎΠ΄ Π΅Π΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±Π΅ΡΠ΅ Π·Π°Π²ΡΡΠ΅Π½ΠΎ, ΠΎΠΏΡΠΈΡΠ°ΡΠ° Π½ΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΠΌΠ΅ ΠΎΠ²Π° RemainAfterExit=true
.
ΠΠ΅Π·Π±Π΅Π΄Π½ΠΎΡΡ. ΠΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ Π·Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ ^
ΠΠΈΠ΄Π΅ΡΡΠΈ ΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΡΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ Π²ΡΡΡΠ½ΠΎΡΡ ΡΠ°Π±ΠΎΡΠ°Ρ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ-Π΄ΠΎΠΌΠ°ΡΠΈΠ½ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΎ Π½Π΅Π³ΠΎΠ²ΠΎΡΠΎ ΡΠ°Π΄ΡΠΎ, Π·Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° Π³ΠΎ Π·Π°ΡΡΠΈΡΠΈ ΠΏΡΠΈΡΡΠ°ΠΏΠΎΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ Π΄ΠΎ ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π½Π° Π΄ΠΎΠΌΠ°ΡΠΈΠ½ΠΎΡ, LXD Π½ΡΠ΄ΠΈ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡ, ΠΊΠ°Π΄Π΅ ΡΡΠΎ:
-
ΠΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠ°Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ - ΠΎΠ²Π° ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ Π²ΠΎ ΠΊΠΎΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ ΡΠΎ UID ΠΈ GID ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ°Π°Ρ Π½Π° ΠΈΡΡΠΈΠΎΡ ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΈΠΊ ΠΊΠ°ΠΊΠΎ ΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π΄ΠΎΠΌΠ°ΡΠΈΠ½. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΡΠ΅Ρ ΠΊΠΎΡ ΡΠ°Π±ΠΎΡΠΈ Π²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ ΡΠΎ UID ΠΎΠ΄ 0 Π³ΠΈ ΠΈΠΌΠ° ΡΠΈΡΠ΅ ΠΈΡΡΠΈ ΠΏΡΠ°Π²Π° Π·Π° ΠΏΡΠΈΡΡΠ°ΠΏ ΠΊΠ°ΠΊΠΎ ΠΏΡΠΎΡΠ΅Ρ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π΄ΠΎΠΌΠ°ΡΠΈΠ½ ΡΠΎ UID ΠΎΠ΄ 0. Π‘ΠΎ Π΄ΡΡΠ³ΠΈ Π·Π±ΠΎΡΠΎΠ²ΠΈ, root ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ Π²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ Π³ΠΈ ΠΈΠΌΠ° ΡΠΈΡΠ΅ ΠΏΡΠ°Π²Π° Π½Π΅ ΡΠ°ΠΌΠΎ Π²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ, Π½ΠΎ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π½Π° Π΄ΠΎΠΌΠ°ΡΠΈΠ½ΠΎΡ Π°ΠΊΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΠ΄ΠΈ Π½Π°Π΄Π²ΠΎΡ ΠΎΠ΄ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈΠΎΡ ΠΈΠΌΠ΅Π½ΡΠΊΠΈ ΠΏΡΠΎΡΡΠΎΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ.
-
ΠΠ΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠ°Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ - ΡΠΎΠ° ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ Π²ΠΎ ΠΊΠΎΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ ΠΏΡΠΈΠΏΠ°ΡΠ°Π°Ρ Π½Π° ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΈΠΊΠΎΡ Π½Π° UID ΠΈ GID ΡΠΎ Π±ΡΠΎΡ ΠΎΠ΄ 0 Π΄ΠΎ 65535, Π½ΠΎ Π·Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π΄ΠΎΠΌΠ°ΡΠΈΠ½ ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΈΠΊΠΎΡ Π΅ ΠΌΠ°ΡΠΊΠΈΡΠ°Π½ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° Π΄ΠΎΠ΄Π°Π΄Π΅Π½ΠΈΡΠ΅ Π±ΠΈΡΠΎΠ²ΠΈ SubUID ΠΈ SubGID, ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΎ. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ ΡΠΎ UID=0 Π²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ ΡΠ΅ ΡΠ΅ Π³Π»Π΅Π΄Π° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π΄ΠΎΠΌΠ°ΡΠΈΠ½ ΠΊΠ°ΠΊΠΎ
SubUID + UID
. ΠΠ²Π° Π³ΠΎ ΡΡΠΈΡΠΈ ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π½Π° Π΄ΠΎΠΌΠ°ΡΠΈΠ½ΠΎΡ Π·Π°ΡΠΎΠ° ΡΡΠΎ Π°ΠΊΠΎ ΠΊΠΎΡ Π±ΠΈΠ»ΠΎ ΠΏΡΠΎΡΠ΅Ρ Π²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π±Π΅Π³Π° ΠΎΠ΄ Π½Π΅Π³ΠΎΠ²ΠΈΠΎΡ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ ΠΈΠΌΠ΅Π½ΡΠΊΠΈ ΠΏΡΠΎΡΡΠΎΡ, ΡΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΊΠΎΠΌΡΠ½ΠΈΡΠΈΡΠ° ΡΠ°ΠΌΠΎ ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π½Π° Π΄ΠΎΠΌΠ°ΡΠΈΠ½ΠΎΡ ΠΊΠ°ΠΊΠΎ ΠΏΡΠΎΡΠ΅Ρ ΡΠΎ Π½Π΅ΠΏΠΎΠ·Π½Π°Ρ, ΠΌΠ½ΠΎΠ³Ρ Π²ΠΈΡΠΎΠΊ UID/GID.
Π‘ΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ, Π½ΠΎΠ²ΠΎΡΠΎΠ·Π΄Π°Π΄Π΅Π½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ ΠΈΠΌΠ°Π°Ρ Π½Π΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠ°Π½ ΡΡΠ°ΡΡΡ ΠΈ Π·Π°ΡΠΎΠ° ΠΌΠΎΡΠ° Π΄Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΠΌΠ΅ SubUID ΠΈ SubGID.
ΠΡΠ΄Π΅ Π΄Π° ΡΠΎΠ·Π΄Π°Π΄Π΅ΠΌΠ΅ Π΄Π²Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠΊΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ Π²ΠΎ ΠΊΠΎΠΈ ΡΠ΅ ΡΠ° ΠΏΠΎΡΡΠ°Π²ΠΈΠΌΠ΅ ΠΌΠ°ΡΠΊΠ°ΡΠ° Π·Π° SubUID ΠΈ SubGID, ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΎ:
sudo touch /etc{/subuid,/subgid}
sudo usermod --add-subuids 1000000-1065535 root
sudo usermod --add-subgids 1000000-1065535 root
ΠΠ° Π΄Π° Π³ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, ΡΡΠ»ΡΠ³Π°ΡΠ° LXD ΠΌΠΎΡΠ° Π΄Π° ΡΠ΅ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°:
sudo systemctl restart lxd
ΠΡΠ΅ΠΈΡΠ°ΡΠ΅ Π²ΠΈΡΡΡΠ΅Π»Π΅Π½ ΠΌΡΠ΅ΠΆΠ΅Π½ ΠΏΡΠ΅ΠΊΠΈΠ½ΡΠ²Π°Ρ ^
ΠΠΈΠ΄Π΅ΡΡΠΈ ΠΏΡΠ΅ΡΡ
ΠΎΠ΄Π½ΠΎ ΡΠ° ΠΈΠ½ΠΈΡΠΈΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π²ΠΌΠ΅ ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΎ Π²ΠΎΠ»ΡΠ΅Π±Π½ΠΈΠΊΠΎΡ Π·Π° ΠΈΠ½ΠΈΡΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΠ° lxd init
ΠΈ ΡΠΎΠ·Π΄Π°Π΄Π΅ ΠΌΡΠ΅ΠΆΠ΅Π½ ΡΡΠ΅Π΄ lxdbr0, ΡΠΎΠ³Π°Ρ Π²ΠΎ ΠΎΠ²ΠΎΡ Π΄Π΅Π» Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ ΡΠ΅ ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ΠΌΠ΅ ΡΠΎ Π²ΠΌΡΠ΅ΠΆΡΠ²Π°ΡΠ΅ΡΠΎ Π²ΠΎ LXD ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΠΌΠ΅ Π²ΠΈΡΡΡΠ΅Π»Π΅Π½ ΠΏΡΠ΅ΠΊΠΈΠ½ΡΠ²Π°Ρ (ΠΌΠΎΡΡ) ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° ΠΊΠ»ΠΈΠ΅Π½Ρ.
Π‘Π»Π΅Π΄Π½ΠΈΠΎΡ Π΄ΠΈΡΠ°Π³ΡΠ°ΠΌ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π° ΠΊΠ°ΠΊΠΎ ΠΏΡΠ΅ΠΊΠΈΠ½ΡΠ²Π°ΡΠΎΡ (ΠΌΠΎΡΡ) Π³ΠΈ ΠΏΠΎΠ²ΡΠ·ΡΠ²Π° Π΄ΠΎΠΌΠ°ΡΠΈΠ½ΠΎΡ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈΡΠ΅ Π²ΠΎ ΠΌΡΠ΅ΠΆΠ°:
ΠΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈΡΠ΅ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΠΊΠΎΠΌΡΠ½ΠΈΡΠΈΡΠ°Π°Ρ ΠΏΡΠ΅ΠΊΡ ΠΌΡΠ΅ΠΆΠ° ΡΠΎ Π΄ΡΡΠ³ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ ΠΈΠ»ΠΈ ΡΠΎ Π΄ΠΎΠΌΠ°ΡΠΈΠ½ΠΎΡ Π½Π° ΠΊΠΎΡ ΡΠ΅ ΡΠ»ΡΠΆΠ°Ρ ΠΎΠ²ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ. ΠΠ° Π΄Π° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΎΠ²Π°, ΡΡΠ΅Π±Π° Π΄Π° Π³ΠΈ ΠΏΠΎΠ²ΡΠ·Π΅ΡΠ΅ Π²ΠΈΡΡΡΠ΅Π»Π½ΠΈΡΠ΅ ΠΌΡΠ΅ΠΆΠ½ΠΈ ΠΊΠ°ΡΡΠΈΡΠΊΠΈ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈΡΠ΅ ΡΠΎ Π²ΠΈΡΡΡΠ΅Π»Π΅Π½ ΠΏΡΠ΅ΠΊΠΈΠ½ΡΠ²Π°Ρ. ΠΡΠ²ΠΎ ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄Π΅ΠΌΠ΅ ΠΏΡΠ΅ΠΊΠΈΠ½ΡΠ²Π°Ρ, Π° ΠΌΡΠ΅ΠΆΠ½ΠΈΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΈ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ ΡΠ΅ Π±ΠΈΠ΄Π°Ρ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ Π²ΠΎ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΏΠΎΠ³Π»Π°Π²ΡΠ°, ΠΎΡΠΊΠ°ΠΊΠΎ ΡΠ°ΠΌΠΈΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ ΡΠ΅ Π±ΠΈΠ΄Π΅ ΠΊΡΠ΅ΠΈΡΠ°Π½.
Π‘Π»Π΅Π΄Π½Π°Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠΎΠ·Π΄Π°Π²Π° ΠΏΡΠ΅ΠΊΠΈΠ½ΡΠ²Π°Ρ ΡΠΎ ΠΏΠΎΠ΄ΠΌΡΠ΅ΠΆΠ° 10.0.5.0/24
ΠΈ IPv4 Π°Π΄ΡΠ΅ΡΠ° 10.0.5.1/24
, Π° ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π²ΠΊΠ»ΡΡΡΠ²Π° ipv4.nat
ΡΠ°ΠΊΠ° ΡΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈΡΠ΅ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΠΏΡΠΈΡΡΠ°ΠΏΠ°Ρ Π½Π° ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΏΡΠ΅ΠΊΡ Π΄ΠΎΠΌΠ°ΡΠΈΠ½ΠΎΡ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΡΠ° ΡΡΠ»ΡΠ³Π°ΡΠ° NAT:
lxc network create lxdbr0 ipv4.address=10.0.5.1/24 ipv4.nat=true ipv6.address=none
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠΏΠΈΡΠΎΠΊΠΎΡ ΡΠΎ ΠΌΡΠ΅ΠΆΠ½ΠΈ ΡΡΠ΅Π΄ΠΈ Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΈ Π²ΠΎ LXD:
lxc network list
+--------+----------+---------+-------------+---------+
| NAME | TYPE | MANAGED | DESCRIPTION | USED BY |
+--------+----------+---------+-------------+---------+
| eno1 | physical | NO | | 0 |
+--------+----------+---------+-------------+---------+
| lxdbr0 | bridge | YES | | 0 |
+--------+----------+---------+-------------+---------+
ΠΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π΄Π° ΠΏΠΎΡΠ²ΡΠ΄ΠΈΡΠ΅ Π΄Π΅ΠΊΠ° ΠΌΡΠ΅ΠΆΠ΅Π½ ΡΡΠ΅Π΄ Π΅ ΡΠΎΠ·Π΄Π°Π΄Π΅Π½ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½Π°ΡΠ° Π°Π»Π°ΡΠΊΠ° Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΠ°ΡΠ° Linux - ip link
ΠΈΠ»ΠΈ ip addr
:
ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether bc:ee:7b:5a:6b:44 brd ff:ff:ff:ff:ff:ff
altname enp0s25
inet6 fe80::9571:11f3:6e0c:c07b/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: lxdbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether c2:38:90:df:cb:59 brd ff:ff:ff:ff:ff:ff
inet 10.0.5.1/24 scope global lxdbr0
valid_lft forever preferred_lft forever
inet6 fe80::c038:90ff:fedf:cb59/64 scope link
valid_lft forever preferred_lft forever
5: veth3ddab174@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master lxdbr0 state UP group default qlen 1000
link/ether ca:c3:5c:1d:22:26 brd ff:ff:ff:ff:ff:ff link-netnsid 0
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΡΠΈΠ» ^
Π‘Π΅ΠΊΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ Π²ΠΎ LXD ΠΈΠΌΠ° ΡΠ²ΠΎΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ° ΠΏΡΠΎΡΠΈΡΠΈ ΡΠΎ Π³Π»ΠΎΠ±Π°Π»Π½ΠΎ Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΠ°Π½ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½Π°ΡΠ΅ΡΠ΅Π½ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈ. ΠΡΠΈΠΌΠ΅Π½Π°ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠΊΠΈΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΈΠΌΠ° ΠΊΠ°ΡΠΊΠ°Π΄Π΅Π½ ΠΌΠΎΠ΄Π΅Π», ΡΠ»Π΅Π΄Π½ΠΈΠΎΠ² ΠΏΡΠΈΠΌΠ΅Ρ Π³ΠΎ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π° ΠΎΠ²Π°:
ΠΠΎ ΠΎΠ²ΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈ ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄Π΅Π½ΠΈ Π²ΠΎ ΡΠΈΡΡΠ΅ΠΌΠΎΡ LXD: default
, hddpool
ΠΈ hostfs
. Π‘ΠΈΡΠ΅ ΡΡΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈ ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ²Π°Π°Ρ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΊΠΎΡ ΠΈΠΌΠ° Π»ΠΎΠΊΠ°Π»Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° (ΡΠΈΠ²Π° Π·ΠΎΠ½Π°). ΠΡΠΎΡΠΈΠ» default
ΠΈΠΌΠ° ΡΡΠ΅Π΄ root
ΠΊΠΎΡ ΠΈΠΌΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°Ρ pool
Π΅Π΄Π½Π°ΠΊΠ²ΠΈ ssdpool
, Π½ΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΎΡ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° Π½Π° ΠΊΠ°ΡΠΊΠ°Π΄Π°, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠ΅ ΠΏΡΠΎΡΠΈΠ» Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ hddpool
ΠΊΠΎΡ ΠΈΠΌΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°Ρ pool
ΡΠ΅ Π³ΠΎ ΠΎΡΡΡΠ»ΠΈ ΠΈΡΡΠΈΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°Ρ ΠΎΠ΄ ΠΏΡΠΎΡΠΈΠ»ΠΎΡ default
ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ ΡΠ΅ ΡΠ° Π΄ΠΎΠ±ΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΡΡΠ΅Π΄ΠΎΡ root
ΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°Ρ pool
Π΅Π΄Π½Π°ΠΊΠ²ΠΈ hddpool
, ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΎΡ hostfs
Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ Π΄ΠΎΠ΄Π°Π²Π° Π½ΠΎΠ² ΡΡΠ΅Π΄ Π²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ.
ΠΠ° Π΄Π° ΡΠ° Π²ΠΈΠ΄ΠΈΡΠ΅ Π»ΠΈΡΡΠ°ΡΠ° Π½Π° Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°, ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ ΡΠ° ΡΠ»Π΅Π΄Π½Π°Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°:
lxc profile list
+---------+---------+
| NAME | USED BY |
+---------+---------+
| default | 1 |
+---------+---------+
| hddroot | 0 |
+---------+---------+
| ssdroot | 1 |
+---------+---------+
ΠΠΎΠΌΠΏΠ»Π΅ΡΠ½Π° Π»ΠΈΡΡΠ° Π½Π° Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° ΡΠΎ ΠΏΡΠΎΡΠΈΠ» ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π΄ΠΎΠ±ΠΈΠ΅ ΡΠΎ Π΄ΠΎΠ΄Π°Π²Π°ΡΠ΅ Π½Π° ΠΊΠ»ΡΡΠΎΡ --help
:
lxc profile --help
Description:
Manage profiles
Usage:
lxc profile [command]
Available Commands:
add Add profiles to instances
assign Assign sets of profiles to instances
copy Copy profiles
create Create profiles
delete Delete profiles
device Manage instance devices
edit Edit profile configurations as YAML
get Get values for profile configuration keys
list List profiles
remove Remove profiles from instances
rename Rename profiles
set Set profile configuration keys
show Show profile configurations
unset Unset profile configuration keys
Π£ΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° Π²Π°ΡΠΈΠΎΡ ΠΏΡΠΎΡΠΈΠ» ^
Π‘ΡΠ°Π½Π΄Π°ΡΠ΄Π΅Π½ ΠΏΡΠΎΡΠΈΠ» Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° default
Π½Π΅ΠΌΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° Π½Π° ΠΌΡΠ΅ΠΆΠ½Π° ΠΊΠ°ΡΡΠΈΡΠΊΠ° Π·Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ ΠΈ ΡΠΈΡΠ΅ Π½ΠΎΠ²ΠΎΡΠΎΠ·Π΄Π°Π΄Π΅Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ Π½Π΅ΠΌΠ°Π°Ρ ΠΌΡΠ΅ΠΆΠ°, Π·Π° Π½ΠΈΠ² Π΅ Π½Π΅ΠΎΠΏΡ
ΠΎΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄Π°Ρ Π»ΠΎΠΊΠ°Π»Π½ΠΈ (ΠΏΠΎΡΠ²Π΅ΡΠ΅Π½ΠΈ) ΠΌΡΠ΅ΠΆΠ½ΠΈ ΡΡΠ΅Π΄ΠΈ ΡΠΎ ΠΏΠΎΡΠ΅Π±Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π½ΠΎ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΡΠΎΠ·Π΄Π°Π΄Π΅ΠΌΠ΅ Π³Π»ΠΎΠ±Π°Π»Π΅Π½ ΠΌΡΠ΅ΠΆΠ΅Π½ ΡΡΠ΅Π΄ Π²ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°ΡΠ° ΠΏΡΠΎΡΠΈΠ» ΠΊΠΎΡ ΡΠ΅ Π±ΠΈΠ΄Π΅ ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½ ΠΏΠΎΠΌΠ΅ΡΡ ΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ ΠΊΠΎΠΈ Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΎΠ²ΠΎΡ ΠΏΡΠΎΡΠΈΠ». ΠΠ° ΠΎΠ²ΠΎΡ Π½Π°ΡΠΈΠ½, Π²Π΅Π΄Π½Π°Ρ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Π·Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ Π½ΠΎΠ² ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ, ΡΠΈΠ΅ ΡΠ΅ ΠΈΠΌΠ°Π°Ρ ΠΌΡΠ΅ΠΆΠ° ΡΠΎ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΠΌΡΠ΅ΠΆΠ°ΡΠ°. ΠΠΎ ΠΈΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅, Π½Π΅ΠΌΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ°; ΡΠ΅ΠΊΠΎΠ³Π°Ρ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΡΠΎΠ·Π΄Π°Π΄Π΅ΠΌΠ΅ ΡΡΠ΅Π΄ Π·Π° Π»ΠΎΠΊΠ°Π»Π½Π° ΠΌΡΠ΅ΠΆΠ° ΠΏΠΎΠ΄ΠΎΡΠ½Π° Π΄ΠΎΠΊΠΎΠ»ΠΊΡ Π΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ.
Π‘Π»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ΅ Π³ΠΎ Π΄ΠΎΠ΄Π°Π΄Π΅ ΡΡΠ΅Π΄ΠΎΡ Π²ΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΎΡ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° eth0
ΡΠΈΠΏ nic
ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ° lxdbr0
:
lxc profile device add default eth0 nic network=lxdbr0 name=eth0
ΠΠ°ΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΠΎΠΌΠ΅Π½Π΅ Π΄Π΅ΠΊΠ° Π±ΠΈΠ΄Π΅ΡΡΠΈ Π²ΡΡΡΠ½ΠΎΡΡ Π³ΠΎ Π΄ΠΎΠ΄Π°Π΄ΠΎΠ²ΠΌΠ΅ ΡΡΠ΅Π΄ΠΎΡ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΠΈΠ», Π°ΠΊΠΎ Π½Π°Π²Π΅Π΄ΠΎΠ²ΠΌΠ΅ ΡΡΠ°ΡΠΈΡΠ½Π° IP Π°Π΄ΡΠ΅ΡΠ° Π²ΠΎ ΡΡΠ΅Π΄ΠΎΡ, ΡΠΎΠ³Π°Ρ ΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ ΡΡΠΎ ΡΠ΅ Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΎΠ²ΠΎΡ ΠΏΡΠΎΡΠΈΠ» ΡΠ΅ ΡΠ° Π΄Π΅Π»Π°Ρ ΠΈΡΡΠ°ΡΠ° IP Π°Π΄ΡΠ΅ΡΠ°. ΠΠΊΠΎ ΠΈΠΌΠ° ΠΏΠΎΡΡΠ΅Π±Π° Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ ΡΠΎ ΡΡΠ°ΡΠΈΡΠ½Π° IP Π°Π΄ΡΠ΅ΡΠ° Π΄ΠΎΠ΄Π΅Π»Π΅Π½Π° Π·Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ, ΡΠΎΠ³Π°Ρ ΡΡΠ΅Π±Π° Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° Π½Π° ΠΌΡΠ΅ΠΆΠ΅Π½ ΡΡΠ΅Π΄ Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ (Π»ΠΎΠΊΠ°Π»Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°) ΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°ΡΠΎΡ Π·Π° IP Π°Π΄ΡΠ΅ΡΠ°, Π° Π½Π΅ Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° ΠΏΡΠΎΡΠΈΠ».
ΠΡΠ΄Π΅ Π΄Π° Π³ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΎΡ:
lxc profile show default
config: {}
description: Default LXD profile
devices:
eth0:
name: eth0
network: lxdbr0
type: nic
root:
path: /
pool: ssdpool
type: disk
name: default
used_by: []
ΠΠΎ ΠΎΠ²ΠΎΡ ΠΏΡΠΎΡΠΈΠ» ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌΠ΅ Π΄Π΅ΠΊΠ° Π·Π° ΡΠΈΡΠ΅ Π½ΠΎΠ²ΠΎΡΠΎΠ·Π΄Π°Π΄Π΅Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ ΡΠ΅ ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄Π°Ρ Π΄Π²Π° ΡΡΠ΅Π΄ΠΈ:
eth0
β Π’ΠΈΠΏ Π½Π° ΡΡΠ΅Π΄nic
ΠΏΠΎΠ²ΡΠ·Π°Π½ ΡΠΎ ΠΏΡΠ΅ΠΊΠΈΠ½ΡΠ²Π°Ρ (ΠΌΡΠ΅ΠΆΠ΅Π½ ΠΌΠΎΡΡ)lxdbr0
root
β Π’ΠΈΠΏ Π½Π° ΡΡΠ΅Π΄disk
ΠΊΠΎΡ ΠΊΠΎΡΠΈΡΡΠΈ Π±Π°Π·Π΅Π½ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ssdpool
ΠΡΠ΅ΠΈΡΠ°ΡΠ΅ Π½Π° Π½ΠΎΠ²ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈ ^
ΠΠ° Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΏΡΠ΅ΡΡ
ΠΎΠ΄Π½ΠΎ ΠΊΡΠ΅ΠΈΡΠ°Π½ΠΎ ΠΠ°Π·Π΅Π½ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ, ΠΊΡΠ΅ΠΈΡΠ°ΡΡΠ΅ ΠΏΡΠΎΡΠΈΠ» Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° ssdroot
Π²ΠΎ ΠΊΠΎΡ ΡΠ΅ Π΄ΠΎΠ΄Π°Π΄Π΅ΠΌΠ΅ ΡΡΠ΅Π΄ ΠΊΠ°ΠΊΠΎ disk
ΡΠΎ ΡΠΎΡΠΊΠ° Π½Π° ΠΌΠΎΠ½ΡΠΈΡΠ°ΡΠ΅ /
(root) ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΎ ΠΏΡΠ΅ΡΡ
ΠΎΠ΄Π½ΠΎ ΠΊΡΠ΅ΠΈΡΠ°Π½ΠΎΡΠΎ ΠΠ°Π·Π΅Π½ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ - ssdpool
:
lxc profile create ssdroot
lxc profile device add ssdroot root disk path=/ pool=ssdpool
Π‘Π»ΠΈΡΠ½ΠΎ Π½Π° ΡΠΎΠ°, ΡΠΎΠ·Π΄Π°Π²Π°ΠΌΠ΅ ΡΡΠ΅Π΄ ΠΊΠ°ΠΊΠΎ disk
, Π½ΠΎ Π²ΠΎ ΠΎΠ²ΠΎΡ ΡΠ»ΡΡΠ°Ρ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΠΠ°Π·Π΅Π½ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ - hddpool
:
lxc profile create hddroot
lxc profile device add hddroot root disk path=/ pool=hddpool
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠΊΠΈΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈ:
lxc profile show ssdroot
config: {}
description: ""
devices:
root:
path: /
pool: ssdpool
type: disk
name: ssdroot
used_by: []
lxc profile show hddroot
config: {}
description: ""
devices:
root:
path: /
pool: hddpool
type: disk
name: hddroot
used_by: []
Π‘ΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ Π·Π° ΡΠ»ΠΈΠΊΠΈ ^
ΠΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈΡΠ΅ ΡΠ΅ ΠΊΡΠ΅ΠΈΡΠ°Π½ΠΈ ΠΎΠ΄ ΡΠ»ΠΈΠΊΠΈ ΠΊΠΎΠΈ ΡΠ΅ ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π½ΠΎ ΡΠΎΡΡΠ°Π²Π΅Π½ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ ΠΊΠΎΠΈ Π½Π΅ΠΌΠ°Π°Ρ ΠΊΠ΅ΡΠ½Π΅Π» ΠΠΈΠ½ΡΠΊΡ. ΠΠ°ΡΠΎΠ°, ΠΏΡΠ΅Π΄ Π΄Π° Π³ΠΎ ΡΡΠ°ΡΡΡΠ²Π°ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ, ΡΠΎΡ ΠΌΠΎΡΠ° Π΄Π° Π±ΠΈΠ΄Π΅ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄Π΅Π½ ΠΎΠ΄ ΠΎΠ²Π°Π° ΡΠ»ΠΈΠΊΠ°. ΠΠ·Π²ΠΎΡΠΎΡ Π½Π° ΡΠ»ΠΈΠΊΠΈΡΠ΅ Π΅ Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ Π²ΠΎ ΠΊΠΎΠ΅ ΡΠ»ΠΈΠΊΠΈΡΠ΅ ΡΠ΅ ΠΏΡΠ΅Π·Π΅ΠΌΠ°Π°Ρ ΠΎΠ΄ Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ½ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ°.
ΠΠ°Π»Π΅ΡΠΈΠ½ΡΠΊΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ° Π·Π° ΡΠ»ΠΈΠΊΠΈ ^
Π‘ΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ, LXD Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ Π΄Π° ΠΏΡΠΈΠΌΠ° ΡΠ»ΠΈΠΊΠΈ ΠΎΠ΄ ΡΡΠΈ Π΄Π°Π»Π΅ΡΠΈΠ½ΡΠΊΠΈ ΠΈΠ·Π²ΠΎΡΠΈ:
- ΡΠ±ΡΠ½ΡΡ: (Π·Π° ΡΡΠ°Π±ΠΈΠ»Π½ΠΈ Ubuntu ΡΠ»ΠΈΠΊΠΈ)
- ΡΠ±ΡΠ½ΡΡ-Π΄Π½Π΅Π²Π΅Π½: (Π·Π° Π΄Π½Π΅Π²Π½ΠΈ ΡΠ»ΠΈΠΊΠΈ Π½Π° Ubuntu)
- ΡΠ»ΠΈΠΊΠΈ: (Π·Π° Π΅Π΄Π΅Π½ ΠΊΡΠΏ Π΄ΡΡΠ³ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ)
lxc remote list
+-----------------+------------------------------------------+--------+--------+
| NAME | URL | PUBLIC | STATIC |
+-----------------+------------------------------------------+--------+--------+
| images | https://images.linuxcontainers.org | YES | NO |
+-----------------+------------------------------------------+--------+--------+
| local (default) | unix:// | NO | YES |
+-----------------+------------------------------------------+--------+--------+
| ubuntu | https://cloud-images.ubuntu.com/releases | YES | YES |
+-----------------+------------------------------------------+--------+--------+
| ubuntu-daily | https://cloud-images.ubuntu.com/daily | YES | YES |
+-----------------+------------------------------------------+--------+--------+
ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ ubuntu:
Π³ΠΈ ΠΈΠΌΠ° ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΡΠ»ΠΈΠΊΠΈ:
lxc image -c dasut list ubuntu: | head -n 11
+----------------------------------------------+--------------+----------+------------+
| DESCRIPTION | ARCHITECTURE | SIZE | TYPE |
+----------------------------------------------+--------------+----------+------------+
| ubuntu 12.04 LTS amd64 (release) (20150728) | x86_64 | 153.72MB | CONTAINER |
+----------------------------------------------+--------------+----------+------------+
| ubuntu 12.04 LTS amd64 (release) (20150819) | x86_64 | 152.91MB | CONTAINER |
+----------------------------------------------+--------------+----------+------------+
| ubuntu 12.04 LTS amd64 (release) (20150906) | x86_64 | 154.69MB | CONTAINER |
+----------------------------------------------+--------------+----------+------------+
| ubuntu 12.04 LTS amd64 (release) (20150930) | x86_64 | 153.86MB | CONTAINER |
+----------------------------------------------+--------------+----------+------------+
ΠΠ° ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π°ΡΠ΅ Π½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ Π±ΡΠΎΡ Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΡΠ° ΠΈΡΠΊΠΎΡΠΈΡΡΠΈΠ²ΠΌΠ΅ ΠΎΠΏΡΠΈΡΠ°ΡΠ° -c
ΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ dasut
, Π° ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈ Π΄ΠΎΠ»ΠΆΠΈΠ½Π°ΡΠ° Π½Π° Π»ΠΈΡΡΠ°ΡΠ° ΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° head
.
ΠΠΎΡΡΠ°ΠΏΠ½ΠΎ Π΅ ΡΠΈΠ»ΡΡΠΈΡΠ°ΡΠ΅ Π·Π° ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π°ΡΠ΅ Π»ΠΈΡΡΠ° Π½Π° ΡΠ»ΠΈΠΊΠΈ. Π‘Π»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ΅ Π³ΠΈ Π½Π°Π²Π΅Π΄Π΅ ΡΠΈΡΠ΅ Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΈ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠΈ Π·Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΠ°
lxc image -c ldast list images:alpine/3.11
+------------------------------+--------------------------------------+--------------+
| ALIAS | DESCRIPTION | ARCHITECTURE |
+------------------------------+--------------------------------------+--------------+
| alpine/3.11 (3 more) | Alpine 3.11 amd64 (20200220_13:00) | x86_64 |
+------------------------------+--------------------------------------+--------------+
| alpine/3.11/arm64 (1 more) | Alpine 3.11 arm64 (20200220_13:00) | aarch64 |
+------------------------------+--------------------------------------+--------------+
| alpine/3.11/armhf (1 more) | Alpine 3.11 armhf (20200220_13:00) | armv7l |
+------------------------------+--------------------------------------+--------------+
| alpine/3.11/i386 (1 more) | Alpine 3.11 i386 (20200220_13:01) | i686 |
+------------------------------+--------------------------------------+--------------+
| alpine/3.11/ppc64el (1 more) | Alpine 3.11 ppc64el (20200220_13:00) | ppc64le |
+------------------------------+--------------------------------------+--------------+
| alpine/3.11/s390x (1 more) | Alpine 3.11 s390x (20200220_13:00) | s390x |
+------------------------------+--------------------------------------+--------------+
ΠΠΎΠΊΠ°Π»Π½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ Π·Π° ΡΠ»ΠΈΠΊΠΈ ^
ΠΠ° Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅ Π΄Π° Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ, ΡΡΠ΅Π±Π° Π΄Π° Π΄ΠΎΠ΄Π°Π΄Π΅ΡΠ΅ ΡΠ»ΠΈΠΊΠ° ΠΎΠ΄ Π³Π»ΠΎΠ±Π°Π»Π½ΠΎΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ Π²ΠΎ Π»ΠΎΠΊΠ°Π»Π½ΠΎΡΠΎ local:
. Π‘Π΅Π³Π° Π»ΠΎΠΊΠ°Π»Π½ΠΎΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ Π΅ ΠΏΡΠ°Π·Π½ΠΎ, ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° ΡΠ΅ ΡΠ΅ ΡΠ²Π΅ΡΠΈ Π²ΠΎ ΡΠΎΠ° lxc image list
. ΠΠΎΠΊΠΎΠ»ΠΊΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΡ list
Π½Π΅ Π½Π°Π²Π΅Π΄Π΅ΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅, ΡΠΎΠ³Π°Ρ Π»ΠΎΠΊΠ°Π»Π½ΠΎΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ ΡΠ΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ - local:
lxc image list local:
+-------+-------------+--------+-------------+--------------+------+------+
| ALIAS | FINGERPRINT | PUBLIC | DESCRIPTION | ARCHITECTURE | TYPE | SIZE |
+-------+-------------+--------+-------------+--------------+------+------+
Π‘Π»ΠΈΠΊΠΈΡΠ΅ Π²ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠΎ ΡΠ΅ ΡΠΏΡΠ°Π²ΡΠ²Π°Π°Ρ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° ΡΠ»Π΅Π΄Π½ΠΈΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈ:
Π’ΠΈΠΌ
ΠΠΏΠΈΡ
lxc ΡΠ»ΠΈΠΊΠ° Π°Π»ΠΈΡΠ°Ρ
Π£ΠΏΡΠ°Π²ΡΠ²Π°ΡΡΠ΅ ΡΠΎ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠΈ Π½Π° ΡΠ»ΠΈΠΊΠΈ
lxc ΡΠ»ΠΈΠΊΠ° ΠΊΠΎΠΏΠΈΡΠ°ΡΠ΅
ΠΠΎΠΏΠΈΡΠ°ΡΡΠ΅ ΡΠ»ΠΈΠΊΠΈ ΠΏΠΎΠΌΠ΅ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΈΡΠ΅
lxc ΡΠ»ΠΈΠΊΠ° ΠΈΠ·Π±ΡΠΈΡΠ΅ΡΠ΅
ΠΠ·Π±ΡΠΈΡΠ΅ΡΠ΅ ΡΠ»ΠΈΠΊΠΈ
lxc ΡΠ»ΠΈΠΊΠ° ΡΡΠ΅Π΄ΡΠ²Π°ΡΠ΅
Π£ΡΠ΅Π΄Π΅ΡΠ΅ Π³ΠΈ ΡΠ²ΠΎΡΡΡΠ²Π°ΡΠ° Π½Π° ΡΠ»ΠΈΠΊΠ°ΡΠ°
lxc ΡΠ»ΠΈΠΊΠ° ΠΈΠ·Π²ΠΎΠ·
ΠΠ·Π²Π΅Π·Π΅ΡΠ΅ ΠΈ ΠΏΡΠ΅Π·Π΅ΠΌΠ΅ΡΠ΅ ΡΠ»ΠΈΠΊΠΈ
lxc ΡΠ»ΠΈΠΊΠ° ΡΠ²ΠΎΠ·
Π£Π²Π΅Π·Π΅ΡΠ΅ ΡΠ»ΠΈΠΊΠΈ Π²ΠΎ ΠΏΡΠΎΠ΄Π°Π²Π½ΠΈΡΠ°ΡΠ° Π·Π° ΡΠ»ΠΈΠΊΠΈ
lxc ΡΠ»ΠΈΠΊΠ° info
ΠΠΎΠΊΠ°ΠΆΠ΅ΡΠ΅ ΠΊΠΎΡΠΈΡΠ½ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° ΡΠ»ΠΈΠΊΠΈΡΠ΅
lxc ΡΠ»ΠΈΠΊΠ° Π»ΠΈΡΡΠ°
ΠΠ°Π²Π΅Π΄Π΅ΡΠ΅ ΡΠ»ΠΈΠΊΠΈ
lxc ΡΠ»ΠΈΠΊΠ° ΠΎΡΠ²Π΅ΠΆΡΠ²Π°ΡΠ΅
ΠΡΠ²Π΅ΠΆΠ΅ΡΠ΅ Π³ΠΈ ΡΠ»ΠΈΠΊΠΈΡΠ΅
lxc ΡΠ»ΠΈΠΊΠ° ΠΠΎΠΊΠ°ΠΆΠΈ
ΠΡΠΈΠΊΠ°ΠΆΠΈ ΡΠ²ΠΎΡΡΡΠ²Π° Π½Π° ΡΠ»ΠΈΠΊΠ°ΡΠ°
ΠΠΎΠΏΠΈΡΠ°ΡΡΠ΅ ΡΠ° ΡΠ»ΠΈΠΊΠ°ΡΠ° Π²ΠΎ Π»ΠΎΠΊΠ°Π»Π½ΠΎΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ ΠΎΠ΄ Π³Π»ΠΎΠ±Π°Π»Π½ΠΎΡΠΎ images:
:
lxc image copy images:alpine/3.11/amd64 local: --alias=alpine3
Image copied successfully!
ΠΡΠ΄Π΅ Π΄Π° ΠΏΡΠΈΠΊΠ°ΠΆΠ΅ΠΌΠ΅ ΡΠΏΠΈΡΠΎΠΊ Π½Π° ΡΠΈΡΠ΅ ΡΠ»ΠΈΠΊΠΈ ΡΡΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»Π½ΠΎ ΡΠ΅ Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΈ Π²ΠΎ Π»ΠΎΠΊΠ°Π»Π½ΠΎΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ local:
:
lxc image -c lfdatsu list local:
+---------+--------------+------------------------------------+--------------+
| ALIAS | FINGERPRINT | DESCRIPTION | ARCHITECTURE |
+---------+--------------+------------------------------------+--------------+
| alpine3 | 73a3093d4a5c | Alpine 3.11 amd64 (20200220_13:00) | x86_64 |
+---------+--------------+------------------------------------+--------------+
LXD ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° ^
ΠΠΎΠΊΡΠ°Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΈΠΎΡ ΡΠ΅ΠΆΠΈΠΌ, LXD ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° ΠΈ Π½Π΅ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°, ΠΎΠ²Π° Π΅ ΠΊΠΎΠ³Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°ΡΠ° Π΅ Π½Π°Π²Π΅Π΄Π΅Π½Π° Π²ΠΎ ΡΠΎΡΠΌΠ° Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° YAML, ΠΏΠΎΡΠ΅Π±Π΅Π½ ΡΠΎΡΠΌΠ°Ρ ΠΊΠΎΡ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΡΠ° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΡΠ΅Π»Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° ΠΎΠ΄Π΅Π΄Π½Π°Ρ, Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΡΠ²Π°ΡΡΠΈ Π³ΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ ΠΎΠ΄ ΠΌΠ½ΠΎΠ³Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΊΠΎΠΈ Π±Π΅Π° Π΄ΠΈΡΠΊΡΡΠΈΡΠ°Π½ΠΈ ΠΏΠΎΠ³ΠΎΡΠ΅ Π²ΠΎ ΠΎΠ²ΠΎΡ Π½Π°ΠΏΠΈΡ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈ ΠΌΡΠ΅ΠΆΠ½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°, ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈ ΠΈΡΠ½. ΠΠΈΠ΅ Π½Π΅ΠΌΠ° Π΄Π° ΡΠ° ΠΏΠΎΠΊΡΠΈΠ΅ΠΌΠ΅ ΠΎΠ²Π°Π° ΠΎΠ±Π»Π°ΡΡ ΠΎΠ²Π΄Π΅, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΠΌΠΈ Π΄Π° ΡΠ° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅.
Π‘Π»Π΅Π΄Π½Π° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° lxc config
ΠΊΠΎΡ ΡΠ΅ Π³ΠΎ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΡΠ° ΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°ΡΠ°. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° Π΄Π° ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΠ°ΠΌΠ΅ Π΄Π΅ΠΊΠ° ΠΏΡΠ΅Π·Π΅ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ»ΠΈΠΊΠΈ Π²ΠΎ Π»ΠΎΠΊΠ°Π»Π½ΠΎΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ Π½Π΅ ΡΠ΅ Π°ΠΆΡΡΠΈΡΠ°Π°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΈ ΠΎΠ΄ Π³Π»ΠΎΠ±Π°Π»Π½ΠΈΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ°, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π³ΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈΠΌΠ΅ ΠΎΠ²Π° ΠΎΠ΄Π½Π΅ΡΡΠ²Π°ΡΠ΅ ΡΠΎ ΡΠ»Π΅Π΄Π½Π°Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°:
lxc config set images.auto_update_cached=false
ΠΡΠ΅ΠΈΡΠ°ΡΠ΅ ΠΈ ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ ^
ΠΠ° Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ, ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° lxc init
Π½Π° ΠΊΠΎΠΈ ΡΠ΅ ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π°Π°Ρ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ:ΠΎΠ±ΡΠ°Π·
Π° ΠΏΠΎΡΠΎΠ° ΡΠ°ΠΊΠ°Π½ΠΈΠΎΡ ID Π·Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ. Π‘ΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°Π·Π½Π°ΡΠΈ ΠΊΠ°ΠΊΠΎ Π»ΠΎΠΊΠ°Π»Π½ΠΎ local:
ΡΠ°ΠΊΠ° ΠΈ ΡΠ΅ΠΊΠΎΡΠ° Π³Π»ΠΎΠ±Π°Π»Π½Π°. ΠΠΊΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠΎ Π½Π΅ Π΅ Π½Π°Π²Π΅Π΄Π΅Π½ΠΎ, ΡΠΎΠ³Π°Ρ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ Π»ΠΎΠΊΠ°Π»Π½ΠΎΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° ΠΏΡΠ΅Π±Π°ΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ»ΠΈΠΊΠ°ΡΠ°. ΠΠΊΠΎ ΡΠ»ΠΈΠΊΠ°ΡΠ° Π΅ Π½Π°Π²Π΅Π΄Π΅Π½Π° ΠΎΠ΄ Π³Π»ΠΎΠ±Π°Π»Π½ΠΎΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅, ΡΠΎΠ³Π°Ρ ΡΠ»ΠΈΠΊΠ°ΡΠ° ΠΏΡΠ²ΠΎ ΡΠ΅ ΡΠ΅ ΠΏΡΠ΅Π·Π΅ΠΌΠ΅ Π²ΠΎ Π»ΠΎΠΊΠ°Π»Π½ΠΎΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅, Π° ΠΏΠΎΡΠΎΠ° ΡΠ΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ.
ΠΡΠ΄Π΅ Π΄Π° ΡΠ° ΠΈΠ·Π²ΡΡΠΈΠΌΠ΅ ΡΠ»Π΅Π΄Π½Π°Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π° Π΄Π° Π³ΠΎ ΡΠΎΠ·Π΄Π°Π΄Π΅ΠΌΠ΅ Π½Π°ΡΠΈΠΎΡ ΠΏΡΠ² ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ:
lxc init alpine3 alp --storage=hddpool --profile=default --profile=hddroot
ΠΡΠ΄Π΅ Π΄Π° Π³ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡΠ΅ ΠΊΠΎΠΏΡΠΈΡΠ° ΡΡΠΎ Π³ΠΈ ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ ΠΎΠ²Π΄Π΅ ΠΏΠΎ ΡΠ΅Π΄ΠΎΡΠ»Π΅Π΄:
alpine3
β ΠΠ°Π²Π΅Π΄Π΅Π½ Π΅ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ (Π°Π»ΠΈΡΠ°Ρ) Π·Π° ΡΠ»ΠΈΠΊΠ°ΡΠ° ΡΡΠΎ ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ Π±ΠΈΠ»Π° ΠΏΠΎΡΡΠ°Π²Π΅Π½Π° Π²ΠΎ Π»ΠΎΠΊΠ°Π»Π½ΠΎΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅. ΠΠΊΠΎ Π°Π»ΠΈΡΠ°ΡΠΎΡ Π½Π΅ Π΅ ΡΠΎΠ·Π΄Π°Π΄Π΅Π½ Π·Π° ΠΎΠ²Π°Π° ΡΠ»ΠΈΠΊΠ°, ΡΠΎΠ³Π°Ρ ΡΠ΅ΠΊΠΎΠ³Π°Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΠ²ΠΈΠΊΠ°ΡΠ΅ Π½Π° ΡΠ»ΠΈΠΊΠ°ΡΠ° ΠΏΠΎ Π½Π΅ΡΠ·ΠΈΠ½ΠΎ ΠΡΠΏΠ΅ΡΠ°ΡΠΎΠΊ ΠΎΠ΄ ΠΏΡΡΡ ΠΊΠΎΡ Π΅ ΠΏΡΠΈΠΊΠ°ΠΆΠ°Π½ Π²ΠΎ ΡΠ°Π±Π΅Π»Π°ΡΠ°.alp
β ΠΠΎ ΠΏΠΎΡΡΠ°Π²ΡΠ²Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΡ Π·Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ--storage
β ΠΠ²Π° ΠΊΠΎΠΏΡΠ΅ ΠΎΠ·Π½Π°ΡΡΠ²Π° Π²ΠΎ ΠΊΠΎΠ΅ ΠΠ°Π·Π΅Π½ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ΡΠ΅ ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄Π΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ--profile
β ΠΠ²ΠΈΠ΅ ΠΊΠΎΠΏΡΠΈΡΠ° ΠΊΠ°ΡΠΊΠ°Π΄Π° ΡΠ° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ²Π°Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°ΡΠ° ΠΎΠ΄ ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ ΠΊΡΠ΅ΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ
ΠΠΎ Π»Π°Π½ΡΠΈΡΠ°ΠΌΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ, ΠΊΠΎΡ Π·Π°ΠΏΠΎΡΠ½ΡΠ²Π° Π΄Π° Π³ΠΎ Π»Π°Π½ΡΠΈΡΠ° ΠΏΠΎΡΠ΅ΡΠ½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΠ°:
lxc start alp
ΠΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π΄Π° ΡΠ° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° lxc launch
ΡΡΠΎ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°ΡΠ΅ ΡΠΈΠΌΠΎΠ²ΠΈ lxc init
ΠΈ lxc start
Π²ΠΎ Π΅Π΄Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ°.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠΎΡΡΠΎΡΠ±Π°ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ:
lxc list -c ns46tb
+------+---------+------------------+------+-----------+--------------+
| NAME | STATE | IPV4 | IPV6 | TYPE | STORAGE POOL |
+------+---------+------------------+------+-----------+--------------+
| alp | RUNNING | 10.0.5.46 (eth0) | | CONTAINER | hddpool |
+------+---------+------------------+------+-----------+--------------+
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ:
lxc config show alp
architecture: x86_64
config:
image.architecture: amd64
image.description: Alpine 3.11 amd64 (20200326_13:39)
image.os: Alpine
image.release: "3.11"
image.serial: "20200326_13:39"
image.type: squashfs
volatile.base_image: ebd565585223487526ddb3607f5156e875c15a89e21b61ef004132196da6a0a3
volatile.eth0.host_name: vethb1fe71d8
volatile.eth0.hwaddr: 00:16:3e:5f:73:3e
volatile.idmap.base: "0"
volatile.idmap.current: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":65536}]'
volatile.idmap.next: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":65536}]'
volatile.last_state.idmap: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":65536}]'
volatile.last_state.power: RUNNING
devices:
root:
path: /
pool: hddpool
type: disk
ephemeral: false
profiles:
- default
- hddroot
stateful: false
description: ""
ΠΠΎ Π΄Π΅Π»ΠΎΡ profiles
ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΡΠ΅ ΡΠ²Π΅ΡΠΈΠΌΠ΅ Π΄Π΅ΠΊΠ° ΠΎΠ²ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΊΠΎΡΠΈΡΡΠΈ Π΄Π²Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈ β default
ΠΈ hddroot
. ΠΠΎ Π΄Π΅Π»ΠΎΡ devices
ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΎΡΠΊΡΠΈΠ΅ΠΌΠ΅ ΡΠ°ΠΌΠΎ Π΅Π΄Π΅Π½ ΡΡΠ΅Π΄ Π±ΠΈΠ΄Π΅ΡΡΠΈ ΠΌΡΠ΅ΠΆΠ½ΠΈΠΎΡ ΡΡΠ΅Π΄ Π΅ ΡΠΎΠ·Π΄Π°Π΄Π΅Π½ Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° ΠΏΡΠΎΡΠΈΠ» default
. ΠΠ° Π΄Π° Π³ΠΈ Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΠΈΡΠ΅ ΡΡΠ΅Π΄ΠΈ ΡΡΠΎ Π³ΠΈ ΠΊΠΎΡΠΈΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ, ΡΡΠ΅Π±Π° Π΄Π° Π΄ΠΎΠ΄Π°Π΄Π΅ΡΠ΅ ΠΊΠ»ΡΡ --expanded
:
lxc config show alp --expanded
architecture: x86_64
config:
image.architecture: amd64
image.description: Alpine 3.11 amd64 (20200326_13:39)
image.os: Alpine
image.release: "3.11"
image.serial: "20200326_13:39"
image.type: squashfs
volatile.base_image: ebd565585223487526ddb3607f5156e875c15a89e21b61ef004132196da6a0a3
volatile.eth0.host_name: vethb1fe71d8
volatile.eth0.hwaddr: 00:16:3e:5f:73:3e
volatile.idmap.base: "0"
volatile.idmap.current: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":65536}]'
volatile.idmap.next: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":65536}]'
volatile.last_state.idmap: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":65536}]'
volatile.last_state.power: RUNNING
devices:
eth0:
name: eth0
network: lxdbr0
type: nic
root:
path: /
pool: hddpool
type: disk
ephemeral: false
profiles:
- default
- hddroot
stateful: false
description: ""
ΠΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΡΠ°ΡΠΈΡΠΊΠ° IP Π°Π΄ΡΠ΅ΡΠ° ^
ΠΠΊΠΎ ΡΠ΅ ΠΎΠ±ΠΈΠ΄Π΅ΠΌΠ΅ Π΄Π° ΠΏΠΎΡΡΠ°Π²ΠΈΠΌΠ΅ IP Π°Π΄ΡΠ΅ΡΠ° Π·Π° ΠΌΡΠ΅ΠΆΠ΅Π½ ΡΡΠ΅Π΄ eth0
ΡΠΈΠΌ lxc config device set alp
Π½Π°ΠΌΠ΅Π½Π΅ΡΠ° Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ, ΡΠΎΠ³Π°Ρ ΡΠ΅ Π΄ΠΎΠ±ΠΈΠ΅ΠΌΠ΅ Π³ΡΠ΅ΡΠΊΠ° ΠΊΠΎΡΠ° ΡΠ΅ ΠΏΡΠΈΡΠ°Π²ΠΈ Π΄Π΅ΠΊΠ° ΡΡΠ΅Π΄ΠΎΡ Π½Π΅ ΠΏΠΎΡΡΠΎΠΈ Π±ΠΈΠ΄Π΅ΡΡΠΈ ΡΡΠ΅Π΄ΠΎΡ eth0
ΡΡΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΎΠ΄ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ ΠΏΡΠΈΠΏΠ°ΡΠ° Π½Π° ΠΏΡΠΎΡΠΈΠ»ΠΎΡ default
:
lxc config device set alp eth0 ipv4.address 10.0.5.5
Error: The device doesn't exist
Π‘Π΅ ΡΠ°Π·Π±ΠΈΡΠ°, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΏΠΎΡΡΠ°Π²ΠΈΠΌΠ΅ ΡΡΠ°ΡΠΈΡΠ½Π° IP Π°Π΄ΡΠ΅ΡΠ° Π·Π° eth0
ΡΡΠ΅Π΄ΠΈ Π²ΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΎΡ, Π½ΠΎ ΡΠ΅ Π±ΠΈΠ΄Π΅ ΠΈΡΡΠΎ Π·Π° ΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ ΡΡΠΎ ΡΠ΅ Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΎΠ²ΠΎΡ ΠΏΡΠΎΡΠΈΠ». ΠΠ°ΡΠΎΠ°, Π°ΡΠ΄Π΅ Π΄Π° Π΄ΠΎΠ΄Π°Π΄Π΅ΠΌΠ΅ ΡΡΠ΅Π΄ ΠΏΠΎΡΠ²Π΅ΡΠ΅Π½ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ:
lxc config device add alp eth0 nic name=eth0 nictype=bridged parent=lxdbr0 ipv4.address=10.0.5.5
ΠΠΎΡΠΎΠ° ΡΡΠ΅Π±Π° Π΄Π° Π³ΠΎ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ:
lxc restart alp
ΠΠΊΠΎ ΡΠ΅Π³Π° ΡΠ° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ, Π½Π΅ ΡΡΠ΅Π±Π° Π΄Π° ΡΠ° ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ ΠΎΠΏΡΠΈΡΠ°ΡΠ° --expanded
Π·Π° Π΄Π° Π³ΠΎ Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΌΡΠ΅ΠΆΠ½ΠΈΠΎΡ ΡΡΠ΅Π΄ eth0
, Π±ΠΈΠ΄Π΅ΡΡΠΈ Π³ΠΎ ΡΠΎΠ·Π΄Π°Π΄ΠΎΠ²ΠΌΠ΅ Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΈ ΡΠ΅ ΠΏΡΠ΅ΡΡΠ»ΠΈ Π½Π° ΠΈΡΡΠΈΠΎΡ ΡΡΠ΅Π΄ ΠΎΠ΄ ΠΏΡΠΎΡΠΈΠ»ΠΎΡ default
:
lxc config show alp
architecture: x86_64
config:
image.architecture: amd64
image.description: Alpine 3.11 amd64 (20200326_13:39)
image.os: Alpine
image.release: "3.11"
image.serial: "20200326_13:39"
image.type: squashfs
volatile.base_image: ebd565585223487526ddb3607f5156e875c15a89e21b61ef004132196da6a0a3
volatile.eth0.host_name: veth2a1dc59d
volatile.eth0.hwaddr: 00:16:3e:0e:e2:71
volatile.idmap.base: "0"
volatile.idmap.current: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":65536}]'
volatile.idmap.next: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":65536}]'
volatile.last_state.idmap: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":65536}]'
volatile.last_state.power: RUNNING
devices:
eth0:
ipv4.address: 10.0.5.5
name: eth0
nictype: bridged
parent: lxdbr0
type: nic
root:
path: /
pool: hddpool
type: disk
ephemeral: false
profiles:
- default
- hddroot
stateful: false
description: ""
ΠΡΡΡΡΠ°Π½ΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ ^
ΠΠ° Π΄Π° ΠΎΡΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ, ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° lxc delete
, Π½ΠΎ ΠΏΡΠ΅Π΄ Π΄Π° Π³ΠΎ ΠΎΡΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ, ΠΌΠΎΡΠ° Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΊΠΈΠ½Π΅ ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° lxc stop
:
lxc stop alp
lxc list
+------+---------+-------------------+------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+------+---------+-------------------+------+-----------+-----------+
| alp | STOPPED | 10.0.5.10 (eth0) | | CONTAINER | 0 |
+------+---------+-------------------+------+-----------+-----------+
ΠΡΠΊΠ°ΠΊΠΎ ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ΄ΠΈΠΌΠ΅ Π΄Π΅ΠΊΠ° ΡΠΎΡΡΠΎΡΠ±Π°ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ ΡΡΠ°Π½Π°Π»Π° Π‘Π’ΠΠΠΠΠ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΡΡΡΡΠ°Π½ΠΈ ΠΎΠ΄ ΠΠ°Π·Π΅Π½ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅:
lxc delete alp
ΠΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ ^
ΠΠ° Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ, Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΡΠ²Π°ΡΡΠΈ Π³ΠΈ ΠΌΡΠ΅ΠΆΠ½ΠΈΡΠ΅ Π²ΡΡΠΊΠΈ, ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° lxc exec
ΠΊΠΎΡ Π³ΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ Π²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ Π±Π΅Π· Π΄Π° ΡΠ° ΡΡΠ°ΡΡΡΠ²Π° ΡΠΈΡΡΠ΅ΠΌΡΠΊΠ°ΡΠ° ΡΠΊΠΎΠ»ΠΊΠ°. ΠΠΊΠΎ ΡΡΠ΅Π±Π° Π΄Π° ΠΈΠ·Π²ΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΠΎ ΡΠΊΠΎΠ»ΠΊΠ° ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΠΎΠ±ΡΠ°ΡΡΠΈ Π½Π° ΡΠΊΠΎΠ»ΠΊΠ°, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, ΠΏΡΠ΅Π½Π°ΡΠΎΡΡΠ²Π°ΡΠ° Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ (ΡΠ΅Π²ΠΊΠ°) ΠΈΡΠ½., ΡΠΎΠ³Π°Ρ ΡΡΠ΅Π±Π° Π΅ΠΊΡΠΏΠ»ΠΈΡΠΈΡΠ½ΠΎ Π΄Π° ΡΠ° ΡΡΠ°ΡΡΡΠ²Π°ΡΠ΅ ΡΠΊΠΎΠ»ΠΊΠ° ΠΈ Π΄Π° ΡΠ° ΠΏΡΠ΅Π½Π΅ΡΠ΅ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° ΠΊΠ°ΠΊΠΎ ΠΊΠ»ΡΡ, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ:
lxc exec alp -- /bin/sh -c "echo $HOME"
ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π΅Π½ Π·Π½Π°ΠΊ Π·Π° Π±Π΅Π³ΡΡΠ²ΠΎ Π·Π° ΠΏΠΎΡΠ΅Π±Π΅Π½ ΠΊΠ°ΡΠ°ΠΊΡΠ΅Ρ
$
ΡΠ°ΠΊΠ° ΡΡΠΎ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° $HOME
Π½Π΅ ΡΠ΅ ΡΠΎΠ»ΠΊΡΠ²Π°ΡΠ΅ Π½Π° ΠΌΠ°ΡΠΈΠ½Π°ΡΠ° Π΄ΠΎΠΌΠ°ΡΠΈΠ½, ΡΡΠΊΡ Π±Π΅ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠ°Π½Π° ΡΠ°ΠΌΠΎ Π²Π½Π°ΡΡΠ΅ Π²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ.
ΠΡΡΠΎ ΡΠ°ΠΊΠ°, ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΡΡΠ°ΡΡΡΠ²Π° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΈΠΎΡ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΠΊΠΎΠ»ΠΊΠ°, Π° ΠΏΠΎΡΠΎΠ° Π΄Π° ΡΠ΅ Π·Π°Π²ΡΡΠΈ ΡΠ΅ΡΠΈΡΠ°ΡΠ° ΡΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠΏΡΠ΅ CTRL+D
:
lxc exec alp -- /bin/sh
Π£ΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΡΠΊΠΈ ΡΠ΅ΡΡΡΡΠΈ ^
ΠΠΎ LXD, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π΅Π½ ΡΠ΅Ρ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ. ΠΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΡΠ΄Π΅ ΠΊΠΎΠΌΠΏΠ»Π΅ΡΠ½Π° Π»ΠΈΡΡΠ° Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ
ΠΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π½Π° RAM ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° ^
ΠΠ°ΡΠ°ΠΌΠ΅ΡΠ°Ρ limits.memory
ΡΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π° ΠΊΠΎΠ»ΠΈΡΠΈΠ½Π°ΡΠ° Π½Π° RAM ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π΄ΠΎΡΡΠ°ΠΏΠ½Π° Π·Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ. ΠΡΠ΅Π΄Π½ΠΎΡΡΠ° Π΅ Π±ΡΠΎΡ ΠΈ Π΅Π΄Π΅Π½ ΠΎΠ΄
ΠΡΠ΄Π΅ Π΄Π° Π³ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΠΌΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° RAM ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ Π½Π° 256 MB:
lxc config set alp limits.memory 256MB
ΠΡΡΠΎ ΡΠ°ΠΊΠ°, ΠΏΠΎΡΡΠΎΡΠ°Ρ ΠΈ Π΄ΡΡΠ³ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°:
limits.memory.enforce
limits.memory.hugepages
limits.memory.swap
limits.memory.swap.priority
Π’ΠΈΠΌ lxc config show
Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΡΠ° ΠΏΡΠΈΠΊΠ°ΠΆΠ΅ΡΠ΅ ΡΠ΅Π»Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ, Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΡΠΈ Π³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅ΡΠΈΠΎΡ Π»ΠΈΠΌΠΈΡ Π½Π° ΡΠ΅ΡΡΡΡΠΈ ΡΡΠΎ Π±Π΅ΡΠ΅ ΠΏΠΎΡΡΠ°Π²Π΅Π½:
lxc config show alp
architecture: x86_64
config:
image.architecture: amd64
image.description: Alpine 3.11 amd64 (20200220_13:00)
image.os: Alpine
image.release: "3.11"
image.serial: "20200220_13:00"
image.type: squashfs
limits.memory: 256MB
volatile.base_image: 73a3093d4a5ce0148fd84b95369b3fbecd19a537ddfd2e2d20caa2eef0e8fd60
volatile.eth0.host_name: veth75b6df07
volatile.eth0.hwaddr: 00:16:3e:a1:e7:46
volatile.idmap.base: "0"
volatile.idmap.current: '[]'
volatile.idmap.next: '[]'
volatile.last_state.idmap: '[]'
volatile.last_state.power: RUNNING
devices: {}
ephemeral: false
profiles:
- default
stateful: false
description: ""
ΠΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ ^
ΠΠΎΡΡΠΎΡΠ°Ρ Π½Π΅ΠΊΠΎΠ»ΠΊΡ Π½Π°ΡΠΈΠ½ΠΈ Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ.
limit.cpu
- Π²ΡΠ·ΡΠ²Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ ΡΠΎ Π΅Π΄Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΠ°Π΄ΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡlimits.cpu.allowance
- ΡΠΏΡΠ°Π²ΡΠ²Π° ΠΈΠ»ΠΈ ΡΠΎ ΠΊΠ²ΠΎΡΠΈΡΠ΅ Π½Π° ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠΎΡ Π½Π° CFS ΠΊΠΎΠ³Π° ΡΠ΅ ΠΏΠΎΠΌΠΈΠ½Π΅ Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΎΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ΅, ΠΈΠ»ΠΈ ΡΠΎ ΡΠ½ΠΈΠ²Π΅ΡΠ·Π°Π»Π½ΠΈΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·Π°ΠΌ Π·Π° ΡΠΏΠΎΠ΄Π΅Π»ΡΠ²Π°ΡΠ΅ ΡΠ΅ΡΡΡΡΠΈ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ ΠΊΠΎΠ³Π° ΠΏΡΠΎΡΠ΅Π½ΡΠΎΡ ΡΠ΅ ΠΏΠΎΠΌΠΈΠ½Π΅limits.cpu.priority
- ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ Π½Π° ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠΎΡ ΠΊΠΎΠ³Π° Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΎΡΠΈ ΠΊΠΎΠΈ ΡΠΏΠΎΠ΄Π΅Π»ΡΠ²Π°Π°Ρ ΡΠ΅Ρ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ ΠΈΠΌ Π΅ Π΄ΠΎΠ΄Π΅Π»Π΅Π½ ΠΈΡΡ ΠΏΡΠΎΡΠ΅Π½Ρ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ
lxc config set alp limits.cpu.allowance 40%
lxc config show alp
architecture: x86_64
config:
image.architecture: amd64
image.description: Alpine 3.11 amd64 (20200220_13:00)
image.os: Alpine
image.release: "3.11"
image.serial: "20200220_13:00"
image.type: squashfs
limits.cpu.allowance: 40%
limits.memory: 256MB
volatile.base_image: 73a3093d4a5ce0148fd84b95369b3fbecd19a537ddfd2e2d20caa2eef0e8fd60
volatile.eth0.host_name: veth75b6df07
volatile.eth0.hwaddr: 00:16:3e:a1:e7:46
volatile.idmap.base: "0"
volatile.idmap.current: '[]'
volatile.idmap.next: '[]'
volatile.last_state.idmap: '[]'
volatile.last_state.power: RUNNING
devices: {}
ephemeral: false
profiles:
- default
stateful: false
description: ""
ΠΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΡΠΎΡΡΠΎΡΠΎΡ Π½Π° Π΄ΠΈΡΠΊΠΎΡ ^
ΠΠΎΠΊΡΠ°Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ°ΡΠ° ΠΊΠ°ΠΊΠΎ limits.read
, limits.write
Π½ΠΈΠ΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π³ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠΌΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΏΡΠΎΡΡΠΎΡ Π½Π° Π΄ΠΈΡΠΊΠΎΡ ΡΡΠΎ Π³ΠΎ ΡΡΠΎΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ (ΡΠ°Π±ΠΎΡΠΈ ΡΠ°ΠΌΠΎ ΡΠΎ ZFS ΠΈΠ»ΠΈ BTRFS):
lxc config device set alp root size=2GB
ΠΠΎ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΠ°ΡΠ°, Π²ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°ΡΠΎΡ devices.root.size
ΠΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π³ΠΎ ΠΏΠΎΡΠ²ΡΠ΄ΠΈΠΌΠ΅ ΠΏΠΎΡΡΠ°Π²Π΅Π½ΠΎΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ΅:
lxc config show alp
...
devices:
root:
path: /
pool: hddpool
size: 2GB
type: disk
ephemeral: false
profiles:
- default
- hddroot
stateful: false
description: ""
ΠΠ° Π΄Π° Π³ΠΈ Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΈΡΠΊΠΎΡΠΈΡΡΠ΅Π½ΠΈΡΠ΅ ΠΊΠ²ΠΎΡΠΈ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΠΈ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π³ΠΈ Π΄ΠΎΠ±ΠΈΠ΅ΠΌΠ΅ ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° lxc info
:
lxc info alp
...
Resources:
Processes: 5
Disk usage:
root: 1.05GB
CPU usage:
CPU usage (in seconds): 1
Memory usage:
Memory (current): 5.46MB
Network usage:
eth0:
Bytes received: 802B
Bytes sent: 1.59kB
Packets received: 4
Packets sent: 14
lo:
Bytes received: 0B
Bytes sent: 0B
Packets received: 0
Packets sent: 0
Π ΠΏΠΎΠΊΡΠ°Ρ ΡΠ°ΠΊΡΠΎΡ ΡΡΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΠ²ΠΌΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ΅ Π·Π° ΠΊΠΎΡΠ΅Π½ΡΠΊΠΈΠΎΡ ΡΡΠ΅Π΄ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ Π½Π° 2 GB, ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈΡΠ΅ ΠΊΠΎΠΌΡΠ½Π°Π»Π½ΠΈ ΡΡΠ»ΡΠ³ΠΈ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ df
Π½Π΅ΠΌΠ° Π΄Π° Π³ΠΎ Π²ΠΈΠ΄ΠΈ ΠΎΠ²Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ΅. ΠΠ° Π΄Π° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΎΠ²Π°, ΡΠ΅ ΡΠΏΡΠΎΠ²Π΅Π΄Π΅ΠΌΠ΅ ΠΌΠ°Π» ΡΠ΅ΡΡ ΠΈ ΡΠ΅ Π΄ΠΎΠ·Π½Π°Π΅ΠΌΠ΅ ΠΊΠ°ΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°.
ΠΡΠ΄Π΅ Π΄Π° ΡΠΎΠ·Π΄Π°Π΄Π΅ΠΌΠ΅ 2 Π½ΠΎΠ²ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ Π²ΠΎ ΠΈΡΡΠΈΡΠ΅ ΠΠ°Π·Π΅Π½ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ (hddpool):
lxc init alpine3 alp1 --storage=hddpool --profile=default --profile=hddroot
lxc init alpine3 alp2 --storage=hddpool --profile=default --profile=hddroot
lxc list
+------+---------+------------------+------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+------+---------+------------------+------+-----------+-----------+
| alp1 | RUNNING | 10.0.5.46 (eth0) | | CONTAINER | 0 |
+------+---------+------------------+------+-----------+-----------+
| alp2 | RUNNING | 10.0.5.30 (eth0) | | CONTAINER | 0 |
+------+---------+------------------+------+-----------+-----------+
ΠΡΠ΄Π΅ Π΄Π° ΡΠΎΠ·Π΄Π°Π΄Π΅ΠΌΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΎΠ΄ 1 GB Π²ΠΎ Π΅Π΄Π΅Π½ ΠΎΠ΄ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈΡΠ΅:
lxc exec alp1 -- dd if=/dev/urandom of=file.img bs=1M count=1000
ΠΡΠ΄Π΅ Π΄Π° ΡΠ΅ ΡΠ²Π΅ΡΠΈΠΌΠ΅ Π΄Π΅ΠΊΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° Π΅ ΠΊΡΠ΅ΠΈΡΠ°Π½Π°:
lxc exec alp1 -- ls -lh
total 1000M
-rw-r--r-- 1 root root 1000.0M Mar 27 10:16 file.img
ΠΠΊΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ Π²ΠΎ Π²ΡΠΎΡΠΈΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ, ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌΠ΅ Π΄Π°Π»ΠΈ ΠΏΠΎΡΡΠΎΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° Π½Π° ΠΈΡΡΠ°ΡΠ° Π»ΠΎΠΊΠ°ΡΠΈΡΠ°, ΡΠΎΠ³Π°Ρ ΠΎΠ²Π°Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° Π½Π΅ΠΌΠ° Π΄Π° Π±ΠΈΠ΄Π΅ ΡΠ°ΠΌΡ, ΡΡΠΎ ΡΠ΅ ΠΎΡΠ΅ΠΊΡΠ²Π°, Π±ΠΈΠ΄Π΅ΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈΡΠ΅ ΡΠ΅ ΠΊΡΠ΅ΠΈΡΠ°Π½ΠΈ ΡΠ°ΠΌΠΈ ΠΠΎΠ»ΡΠΌΠ΅Π½ Π½Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π²ΠΎ ΠΈΡΡΠΎΡΠΎ ΠΠ°Π·Π΅Π½ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅:
lxc exec alp2 -- ls -lh
total 0
ΠΠΎ, Π΄Π° Π³ΠΈ ΡΠΏΠΎΡΠ΅Π΄ΠΈΠΌΠ΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈΡΠ΅ ΡΡΠΎ Π³ΠΈ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄ΡΠ²Π° df
Π½Π° Π΅Π΄Π½ΠΈΠΎΡ ΠΈ Π½Π° Π΄ΡΡΠ³ΠΈΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ:
lxc exec alp1 -- df -hT
Filesystem Type Size Used Available Use% Mounted on
/dev/loop1 btrfs 9.3G 1016.4M 7.8G 11% /
...
lxc exec alp2 -- df -hT
Filesystem Type Size Used Available Use% Mounted on
/dev/loop1 btrfs 9.3G 1016.4M 7.8G 11% /
...
Π£ΡΠ΅Π΄ /dev/loop1
ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π° ΠΊΠ°ΠΊΠΎ ΡΡΠΎ Π΅ root ΠΏΠ°ΡΡΠΈΡΠΈΡΠ°ΡΠ° ΠΠ°Π·Π΅Π½ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ΡΡΠΎ Π³ΠΈ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΎΠ²ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ, ΡΠ°ΠΊΠ° ΡΡΠΎ Π³ΠΎ Π΄Π΅Π»Π°Ρ Π½Π΅Π³ΠΎΠ²ΠΈΠΎΡ Π²ΠΎΠ»ΡΠΌΠ΅Π½ ΠΏΠΎΠΌΠ΅ΡΡ Π΄Π²Π°.
Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ° Π·Π° ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠ° Π½Π° ΡΠ΅ΡΡΡΡΠΈ ^
ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ° Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°ΡΠ° Π·Π° ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠ° Π½Π° ΡΠ΅ΡΡΡΡΠΈ Π·Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ°:
lxc info alp
Name: alp
Location: none
Remote: unix://
Architecture: x86_64
Created: 2020/04/08 18:05 UTC
Status: Running
Type: container
Profiles: default, hddroot
Pid: 19219
Ips:
eth0: inet 10.0.5.5 veth2a1dc59d
eth0: inet6 fe80::216:3eff:fe0e:e271 veth2a1dc59d
lo: inet 127.0.0.1
lo: inet6 ::1
Resources:
Processes: 5
Disk usage:
root: 495.62kB
CPU usage:
CPU usage (in seconds): 1
Memory usage:
Memory (current): 4.79MB
Network usage:
eth0:
Bytes received: 730B
Bytes sent: 1.59kB
Packets received: 3
Packets sent: 14
lo:
Bytes received: 0B
Bytes sent: 0B
Packets received: 0
Packets sent: 0
Π Π°Π±ΠΎΡΠ° ΡΠΎ ΡΠ½ΠΈΠΌΠΊΠΈ ^
LXD ΠΈΠΌΠ° ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΠΊΡΠ΅ΠΈΡΠ° ΡΠ½ΠΈΠΌΠΊΠΈ ΠΈ Π΄Π° ΡΠ° Π²ΡΠ°ΡΠΈ ΡΠΎΡΡΠΎΡΠ±Π°ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ ΠΎΠ΄ Π½ΠΈΠ².
ΠΠ° Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΡΠ»ΠΈΠΊΠ°, ΠΈΠ·Π²ΡΡΠ΅ΡΠ΅ ΡΠ° ΡΠ»Π΅Π΄Π½Π°Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°:
lxc snapshot alp snapshot1
Π’ΠΈΠΌΠΎΡ lxc snapshot
Π½Π΅ΠΌΠ° Π΄ΠΎΡΡΠ°ΠΏΠ΅Π½ ΠΊΠ»ΡΡ list
, Π·Π°ΡΠΎΠ°, Π·Π° Π΄Π° ΡΠ° Π²ΠΈΠ΄ΠΈΡΠ΅ Π»ΠΈΡΡΠ°ΡΠ° Π½Π° ΡΠ½ΠΈΠΌΠΊΠΈ, ΡΡΠ΅Π±Π° Π΄Π° ΡΠ° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° ΡΡΠΎ ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π° ΠΎΠΏΡΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ:
lxc info alp
...
...
Snapshots:
snapshot1 (taken at 2020/04/08 18:18 UTC) (stateless)
ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΡΠ°ΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΎΠ΄ ΡΠ»ΠΈΠΊΠ° ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° lxc restore
Π½Π°Π²Π΅Π΄ΡΠ²Π°ΡΡΠΈ Π³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ Π·Π° ΠΊΠΎΡ ΡΠ΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΠΈ ΡΠ΅ΡΡΠ°Π²ΡΠ°ΡΠΈΡΠ°ΡΠ° ΠΈ Π°Π»ΠΈΡΠ°ΡΠΎΡ Π½Π° ΡΠ½ΠΈΠΌΠΊΠ°ΡΠ°:
lxc restore alp snapshot1
Π‘Π»Π΅Π΄Π½Π°Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° Π±ΡΠΈΡΠ΅ΡΠ΅ ΡΠ»ΠΈΠΊΠ°. ΠΠ°Π±Π΅Π»Π΅ΠΆΠ΅ΡΠ΅ Π΄Π΅ΠΊΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠ°ΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Π½Π΅ Π΅ ΡΠ»ΠΈΡΠ½Π° Π½Π° ΡΠΈΡΠ΅ Π΄ΡΡΠ³ΠΈ; ΠΎΠ²Π΄Π΅ ΡΡΠ΅Π±Π° Π΄Π° Π½Π°Π²Π΅Π΄Π΅ΡΠ΅ ΠΊΠΎΡΠ° ΡΡΡΠ° Π½Π°ΠΏΡΠ΅Π΄ ΠΏΠΎ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ. ΠΠΊΠΎ ΡΠ΅ ΠΈΡΠΏΡΡΡΠΈ ΠΊΠΎΡΠ° ΡΡΡΠ°, ΡΠΎΠ³Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Π·Π° Π±ΡΠΈΡΠ΅ΡΠ΅ ΡΠ»ΠΈΠΊΠ° ΡΠ΅ ΡΠΎΠ»ΠΊΡΠ²Π° ΠΊΠ°ΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π° Π±ΡΠΈΡΠ΅ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ!
lxc delete alp/snapshot1
ΠΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΡ ΠΏΠΎΠ³ΠΎΡΠ΅, Π³ΠΈ ΡΠ°Π·Π³Π»Π΅Π΄Π°Π²ΠΌΠ΅ ΡΠ°ΠΊΠ°Π½Π°ΡΠ΅ΡΠ΅Π½ΠΈΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ Π±Π΅Π· Π΄ΡΠΆΠ°Π²ΡΠ°Π½ΡΡΠ²ΠΎ. LXD ΠΈΠΌΠ° Π΄ΡΡΠ³ ΡΠΈΠΏ Π½Π° ΡΠ½ΠΈΠΌΠΊΠΈ - ΡΡΠ°ΡΡΡΠ½ΠΈ, ΡΡΠΎ ΡΠ° Π·Π°ΡΡΠ²ΡΠ²Π° ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»Π½Π°ΡΠ° ΡΠΎΡΡΠΎΡΠ±Π° Π½Π° ΡΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ Π²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ. ΠΠΎΡΡΠΎΡΠ°Ρ Π³ΠΎΠ»Π΅ΠΌ Π±ΡΠΎΡ Π½Π° ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΈ ΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ ΡΠ½ΠΈΠΌΠΊΠΈΡΠ΅ ΡΠΎ ΡΡΠ°ΡΡΡ.
Π¨ΡΠΎ Π΄ΡΡΠ³ΠΎ? ^
- ΠΠΎΠ΄ΡΠ» Π΅ ββΠ΄ΠΎΡΡΠ°ΠΏΠ΅Π½ Π·Π° ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΈΡΠ΅ Π½Π° Python
PyLXD ΠΊΠΎΡ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° API Π½Π° LXD
ΠΠΠ£Π ΠΠ ΠΠΠ 10.04.2020 15:00 ΡΠ°ΡΠΎΡ: ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡΠ°
ΠΠ·Π²ΠΎΡ: www.habr.com