
LXD β ΡΠΎΠ²Π° Π΅ ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΎΡ Π½ΠΎΠ²ΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΊΠ°Π·Π²Π° . Π’ΠΎΠΉ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ, Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ²Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Linux.
Π―Π΄ΡΠΎΡΠΎ Π½Π° LXD β ΡΠΎΠ²Π° Π΅ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ Π΄Π΅ΠΌΠΎΠ½ (ΡΡΠ»ΡΠ³Π°, ΡΡΠ°ΡΡΠΈΡΠ°Π½Π° Ρ ΠΏΡΠ°Π²Π° root), ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ REST API ΡΡΠ΅Π· Π»ΠΎΠΊΠ°Π»Π΅Π½ UNIX ΡΠΎΠΊΠ΅Ρ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΌΡΠ΅ΠΆΠ°, Π°ΠΊΠΎ Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π° ΡΡΠΎΡΠ²Π΅ΡΠ½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ. ΠΠ»ΠΈΠ΅Π½ΡΠΈ, ΠΊΠ°ΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, Π΄ΠΎΡΡΠ°Π²Π΅Π½ Ρ LXD, ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ Π·Π°ΡΠ²ΠΊΠΈ ΠΏΡΠ΅Π· ΡΠΎΠ·ΠΈ REST API. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄Π°Π»ΠΈ ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π°ΡΠ΅ Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΠΈΠ»ΠΈ Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ, Π²ΡΠΈΡΠΊΠΎ ΡΠ°Π±ΠΎΡΠΈ ΠΏΠΎ ΡΡΡΠΈΡ Π½Π°ΡΠΈΠ½.
Π ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ Π½ΡΠΌΠ° Π΄Π° Π·Π°Π΄ΡΠ»Π±Π°Π²Π°ΠΌΠ΅ Π² ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈΡΠ΅ Π½Π° LXD, Π½ΠΈΡΠΎ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΈΡΠ΅ Π½Π°Π»ΠΈΡΠ½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ°, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π½ΠΎΠ²Π°ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π½Π° LXD, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ QEMU Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ²Π° ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΡΠ°ΠΌΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ β ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΠΌ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ½ΠΈ ΠΏΡΠ»ΠΎΠ²Π΅, ΠΌΡΠ΅ΠΆΠ°, ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠΈΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅, Π° ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π° Π·Π° LXD ΠΈ ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Π² Linux.
ΠΠ° ΠΏΡΠ»Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΌΠΎΠ»Ρ, ΠΎΠ±ΡΡΠ½Π΅ΡΠ΅ ΡΠ΅ ΠΊΡΠΌ ΠΎΡΠΈΡΠΈΠ°Π»Π½ΠΈΡ ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ:
ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ
ΠΠ½ΡΡΠ°Π»Π°ΡΠΈΡ Π½Π° LXD
ΠΠ½ΡΡΠ°Π»Π°ΡΠΈΡ Π½Π° LXD Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ Π½Π° Ubuntu
Π Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΡΠ° Π½Π° Ubuntu 19.10 ΠΏΠ°ΠΊΠ΅ΡΡΡ lxd ΠΈΠΌΠ° ΡΡΠ°Π½ΡΠ»Π°ΡΠΈΡ Π½Π° :
apt search lxd
lxd/eoan 1:0.7 all
ΠΡΠ΅Ρ
ΠΎΠ΄Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ - lxd -> snap (lxd)Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΈ Π΄Π²Π° ΠΏΠ°ΠΊΠ΅ΡΠ°, Π΅Π΄ΠΈΠ½ ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ ΠΈ Π΅Π΄ΠΈΠ½ ΠΊΠ°ΡΠΎ snap ΠΏΠ°ΠΊΠ΅Ρ. ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π΄Π²Π° ΠΏΠ°ΠΊΠ΅ΡΠ° Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΠΏΡΠΈ ΠΊΠΎΠΉΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡΡΠ°Π½Π΅ Π±Π΅Π· ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°, Π°ΠΊΠΎ snap ΠΏΠ°ΠΊΠ΅ΡΡΡ Π±ΡΠ΄Π΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°Ρ ΠΎΡ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΠ° Π½Π° snap ΠΏΠ°ΠΊΠ΅ΡΠΈ.
ΠΠ°ΠΌΠ΅ΡΠ΅ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ° lxd Π² snap ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠΈ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ°:
snap find lxd
ΠΠΌΠ΅ ΠΠ΅ΡΡΠΈΡ Π Π΅Π·ΡΠΌΠ΅
lxd 3.21 Π£ΠΏΡΠ°Π²ΠΈΡΠ΅Π» Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΈ API
lxd-demo-server 0+git.6d54658 ΠΠ½Π»Π°ΠΉΠ½ Π΄Π΅ΠΌΠΎ ΡΠ΅ΡΠΈΠΈ Π½Π° ΡΠΎΡΡΡΠ΅Ρ Ρ LXD
nova ocata Π£ΡΠ»ΡΠ³Π° Π·Π° ΠΊΠΎΠΌΠΏΡΡΡΡΠ½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° OpenStack (nova)
nova-hypervisor ocata Π£ΡΠ»ΡΠ³Π° Π·Π° ΠΊΠΎΠΌΠΏΡΡΡΡΠ½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° - KVM Ρ
ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ (nova)
distrobuilder 1.0 ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π½Π° ΠΎΠ±ΡΠ°Π·ΠΈ Π·Π° LXC ΠΈ LXD
fabrica 0.1 Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° snap ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΠΏΡΠΎΡΡΠΎ ΠΊΠ°ΡΠΎ Π½Π°ΡΠΎΡΠΈΡΠ΅ ΡΠ΅Π± ΡΠΎΡΠΌΠ° ΠΊΡΠΌ...
satellite 0.1.2 Π Π°Π·Π²ΠΈΡΠ° ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌa ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° ΠΈΠ½ΡΠ΅Π»ΠΈΠ³Π΅Π½ΡΠ½ΠΎΡΡ Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄Π‘ΡΠ°ΡΡΠΈΠ²Π°ΠΉΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° ΡΠΏΠΈΡΡΠΊ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΠ΅ ΡΠ²Π΅ΡΠΈΠΌ, ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡΡ lxd Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½:
snap list
ΠΠΌΠ΅ ΠΠ΅ΡΡΠΈΡ Π Π΅Π² ΠΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ ΠΠ·Π΄Π°ΡΠ΅Π» ΠΠ΅Π»Π΅ΠΆΠΊΠΈ
core 16-2.43.3 8689 ΡΡΠ°Π±ΠΈΠ»Π΅Π½ canonicalβ coreΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ LXD Π΅ snap ΠΏΠ°ΠΊΠ΅Ρ, ΡΠΎΠΉ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ ΡΡΠ΅Π· ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡ ΠΏΠ°ΠΊΠ΅Ρ lxd, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ ΡΡΠΎΡΠ²Π΅ΡΠ½Π°ΡΠ° Π³ΡΡΠΏΠ° Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΡΡΠΈΠ»ΠΈΡΠΈ Π² /usr/bin ΠΈ Ρ.Π½.
sudo apt update
sudo apt install lxdΠ£Π±Π΅Π΄ΠΈΠΌ ΡΠ΅, ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡΡ Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ ΠΊΠ°ΡΠΎ snap ΠΏΠ°ΠΊΠ΅Ρ:
snap list
ΠΠΌΠ΅ ΠΠ΅ΡΡΠΈΡ Π Π΅Π² ΠΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ ΠΠ·Π΄Π°ΡΠ΅Π» ΠΠ΅Π»Π΅ΠΆΠΊΠΈ
core 16-2.43.3 8689 ΡΡΠ°Π±ΠΈΠ»Π΅Π½ canonicalβ core
lxd 3.21 13474 ΡΡΠ°Π±ΠΈΠ»Π΅Π½/... 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 (Storage)
ΠΡΠ΅Π΄ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ°, Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΊΠ°ΠΊ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ Π΅ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π² LXD.
Π‘ΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΡΠΎ (Π₯ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅) ΠΎΡ Π΅Π΄ΠΈΠ½ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ Storage Pool ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π΅Π΄Π½Π° ΠΎΡ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ZFS, BTRFS, LVM ΠΈΠ»ΠΈ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ. ΠΡΠ΅ΠΊΠΈ Storage Pool ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»Ρ Π½Π° ΠΎΠ±Π΅ΠΌΠΈ (Storage Volume) ΠΊΠΎΠΈΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Ρ ΠΎΠ±ΡΠ°Π·ΠΈ, ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΈΠ»ΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° Π΄ΡΡΠ³ΠΈ ΡΠ΅Π»ΠΈ.
- ΠΠ±ΡΠ°Π·ΠΈ β ΡΠΎΠ²Π° ΡΠ° ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ ΡΡΠ±ΡΠ°Π½ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ Π±Π΅Π· Linux ΡΠ΄ΡΠΎ, Π΄ΠΎΡΡΡΠΏΠ½ΠΈ ΠΎΡ Π²ΡΠ½ΡΠ½ΠΈ ΠΈΠ·ΡΠΎΡΠ½ΠΈΡΠΈ
- ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ β ΡΠΎΠ²Π° ΡΠ° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ ΠΎΡ ΠΎΠ±ΡΠ°Π·ΠΈ, Π³ΠΎΡΠΎΠ²ΠΈ Π·Π° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡ
- Π‘Π½ΠΈΠΌΠΊΠΈ β ΡΠ΅Π·ΠΈ ΡΠ° ΠΌΠΎΠΌΠ΅Π½ΡΠ½ΠΈ ΡΠ½ΠΈΠΌΠΊΠΈ Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅, ΠΊΡΠΌ ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ Π²ΡΡΠ½Π΅ΡΠ΅

ΠΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ Π² LXD ΡΠ»ΡΠΆΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° lxc storage ΠΏΠΎΠΌΠΎΡ, ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅, ΠΊΠ°ΡΠΎ ΠΏΠΎΡΠΎΡΠΈΡΠ΅ ΠΊΠ»ΡΡ β lxc storage --help
Π‘Π»Π΅Π΄Π²Π°ΡΠ°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π° Π½Π° Π΅ΠΊΡΠ°Π½Π° ΡΠΏΠΈΡΡΠΊ Π½Π° Π²ΡΠΈΡΠΊΠΈ Storage Pool Π² LXD Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅:
lxc storage list
+---------+-------------+--------+--------------------------------+---------+
| ΠΠΠ | ΠΠΠΠ‘ΠΠΠΠ | ΠΠ ΠΠΠΠΠ | ΠΠΠ’ΠΠ§ΠΠΠ | ΠΠΠΠΠΠΠΠΠΠ ΠΠ’ |
+---------+-------------+--------+--------------------------------+---------+
| hddpool | | btrfs | /dev/loop1 | 2 |
+---------+-------------+--------+--------------------------------+---------+
| ssdpool | | btrfs | /var/lib/lxd/disks/ssdpool.img | 4 |
+---------+-------------+--------+--------------------------------+---------+ΠΠ° ΠΏΡΠ΅Π³Π»Π΅Π΄ Π½Π° ΡΠΏΠΈΡΡΠΊΠ° Π½Π° Π²ΡΠΈΡΠΊΠΈ Storage Volume Π² ΠΈΠ·Π±ΡΠ°Π½ΠΎΡΠΎ Storage Pool ΡΠ»ΡΠΆΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° lxc storage volume list:
lxc storage volume list hddpool
+-------+----------------------------------+-------------+---------+
| Π’ΠΠ | ΠΠΠ | ΠΠΠΠ‘ΠΠΠΠ | ΠΠΠΠΠΠΠΠΠΠ ΠΠ’ |
+-------+----------------------------------+-------------+---------+
| ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ | ebd565585223487526ddb3607f515... | | 1 |
+-------+----------------------------------+-------------+---------+lxc storage volume list ssdpool
+-----------+----------------------------------+-------------+---------+
| Π’ΠΠ | ΠΠΠ | ΠΠΠΠ‘ΠΠΠΠ | ΠΠΠΠΠΠΠΠΠΠ ΠΠ’ |
+-----------+----------------------------------+-------------+---------+
| ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ | alp3 | | 1 |
+-----------+----------------------------------+-------------+---------+
| ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ | jupyter | | 1 |
+-----------+----------------------------------+-------------+---------+
| ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ | ebd565585223487526ddb3607f515... | | 1 |
+-----------+----------------------------------+-------------+---------+Π‘ΡΡΠΎ ΡΠ°ΠΊΠ°, Π°ΠΊΠΎ Π·Π° Storage Pool ΠΏΡΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π΅ ΠΈΠ·Π±ΡΠ°Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ° BTRFS, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠΏΠΈΡΡΠΊ Storage Volume ΠΈΠ»ΠΈ subvolumes Π² ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΡΡΠ° Π½Π° BTRFS, Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π° ΡΠ°Π·ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ°:
sudo btrfs subvolume list -p /var/lib/lxd/storage-pools/hddpool
ID 257 gen 818 parent 5 top level 5 path images/ebd565585223487526ddb3607f5156e875c15a89e21b61ef004132196da6a0a3sudo 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 ΡΠ΅ Π·Π°Π΄Π°Π²Π°Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π²ΡΠΏΡΠΎΡΠ°, ΡΡΠ΅Π΄ ΠΊΠΎΠΈΡΠΎ Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ΡΠΎ Π½Π° ΡΠΈΠΏΠ° ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Storage Pool. ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠ΅ ΠΈΠ·Π±ΠΈΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ° BTRFS. ΠΡΠΌΠ° Π΄Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΠΌΠ΅Π½ΠΈ Π½Π° Π΄ΡΡΠ³Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ»Π΅Π΄ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ ΠΉ. ΠΠ° ΠΈΠ·Π±ΠΎΡ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° :
Π€ΡΠ½ΠΊΡΠΈΡ
Directory
Btrfs
LVM
ZFS
CEPH
ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
Π½Π΅
yes
yes
yes
yes
ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΡΠ°Π½ΡΠΈΠΈ
Π½Π΅
yes
yes
yes
yes
ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ½ΠΈΠΌΠΊΠΈ
Π½Π΅
yes
yes
yes
yes
ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
Π½Π΅
yes
Π½Π΅
yes
yes
ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΡΠ°Π½ΡΠΈΠΈ
Π½Π΅
yes
Π½Π΅
yes
yes
ΠΠΎΠΏΠΈΡΠ°Π½Π΅ ΠΏΡΠΈ Π·Π°ΠΏΠΈΡ
Π½Π΅
yes
yes
yes
yes
ΠΠ° Π±Π°Π·Π°ΡΠ° Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅
Π½Π΅
Π½Π΅
yes
Π½Π΅
yes
ΠΠΎΠΌΠ΅Π½ΡΠ°Π»Π½ΠΎ ΠΊΠ»ΠΎΠ½ΠΈΡΠ°Π½Π΅
Π½Π΅
yes
yes
yes
yes
ΠΠΈΡΠΊΠΎΠ² ΡΠΎΡΡΠΎΡ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π΅ΠΌ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ
yes
yes
Π½Π΅
Π½Π΅
Π½Π΅
ΠΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ ΠΎΡ ΠΏΠΎ-ΡΡΠ°ΡΠΈ ΡΠ½ΠΈΠΌΠΊΠΈ (Π½Π΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅)
yes
yes
yes
Π½Π΅
yes
ΠΠΈΡΠΊΠΎΠ²ΠΈ ΠΊΠ²ΠΎΡΠΈ
Π΄Π°(*)
yes
yes
yes
Π½Π΅
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΠΈ Storage Pool ΡΡΠ΅Π· Π°ΡΠΈΡΡΠ΅Π½ΡΠ°
Π‘Π»Π΅Π΄Π²Π°ΡΠ°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅, ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π΄Π° Π½Π°ΡΡΡΠΎΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° LXD Ρ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈ Π½Π° ΠΏΡΠΎΡΡΠΈ Π²ΡΠΏΡΠΎΡΠΈ ΡΡΠ΅Π· ΠΌΠ°ΠΉΡΡΠΎΡ Π½Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ.
Π‘ΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° lxc init ΠΈ Π²ΡΠ²Π΅Π΄Π΅ΡΠ΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈΡΠ΅ Π½Π° Π²ΡΠΏΡΠΎΡΠΈΡΠ΅ ΡΠ»Π΅Π΄ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅ΡΠΎ, ΠΊΠ°ΠΊΡΠΎ Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΏΠΎ-Π΄ΠΎΠ»Ρ, ΠΈΠ»ΠΈ Π³ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π΅ΡΠ΅ Π² ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Ρ Π²Π°ΡΠΈΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ:
lxd init
ΠΡΠΊΠ°ΡΠ΅ Π»ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΊΠ»ΡΡΡΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° LXD? (Π΄Π°/Π½Π΅) [ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅=Π½Π΅]:
ΠΡΠΊΠ°ΡΠ΅ Π»ΠΈ Π΄Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ Π½ΠΎΠ²ΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅? (Π΄Π°/Π½Π΅) [ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅=Π΄Π°]:
ΠΠΌΠ΅ Π½Π° Π½ΠΎΠ²ΠΎΡΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ [ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅=ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅]: ssdpool
ΠΠΌΠ΅ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π΅ΠΌΠΈΡ Π·Π°Π΄Π½Π° Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ (lvm, btrfs, dir) [ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅=btrfs]:
Π‘ΡΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ² BTRFS ΠΏΡΠ»? (Π΄Π°/Π½Π΅) [ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅=Π΄Π°]:
ΠΡΠΊΠ°ΡΠ΅ Π»ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΎ Π±Π»ΠΎΡΠ½ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ? (Π΄Π°/Π½Π΅) [ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅=Π½Π΅]:
Π Π°Π·ΠΌΠ΅Ρ Π² GB Π½Π° Π½ΠΎΠ²ΠΎΡΠΎ ΡΠΈΠΊΠ»ΠΈΡΠ½ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ (ΠΌΠΈΠ½. 1GB) [ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅=15GB]: 10GB
ΠΡΠΊΠ°ΡΠ΅ Π»ΠΈ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅ΡΠ΅ Ρ MAAS ΡΡΡΠ²ΡΡ? (Π΄Π°/Π½Π΅) [ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅=Π½Π΅]:
ΠΡΠΊΠ°ΡΠ΅ Π»ΠΈ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ Π½ΠΎΠ² Π»ΠΎΠΊΠ°Π»Π΅Π½ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΌΠΎΡΡ? (Π΄Π°/Π½Π΅) [ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅=Π΄Π°]:
ΠΠ°ΠΊ Π΄Π° ΡΠ΅ Π½Π°ΡΠΈΡΠ° Π½ΠΎΠ²ΠΈΡΡ ΠΌΠΎΡΡ? [ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅=lxdbr0]:
ΠΠΎΠΉ IPv4 Π°Π΄ΡΠ΅Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°? (CIDR Π½ΠΎΡΠ°ΡΠΈΡ Π½Π° ΠΏΠΎΠ΄ΡΠ΅ΡΠΈ, βΠ°Π²ΡΠΎβ ΠΈΠ»ΠΈ βΠ½ΡΠΌΠ°β) [ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅=Π°Π²ΡΠΎ]: 10.0.5.1/24
ΠΡΠΊΠ°ΡΠ΅ Π»ΠΈ LXD Π΄Π° NAT-Π²Π° IPv4 ΡΡΠ°ΡΠΈΠΊΠ° Π½Π° ΠΌΠΎΡΡΠ° Π²ΠΈ? [ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅=Π΄Π°]:
ΠΠΎΠΉ IPv6 Π°Π΄ΡΠ΅Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°? (CIDR Π½ΠΎΡΠ°ΡΠΈΡ Π½Π° ΠΏΠΎΠ΄ΡΠ΅ΡΠΈ, βΠ°Π²ΡΠΎβ ΠΈΠ»ΠΈ βΠ½ΡΠΌΠ°β) [ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅=Π°Π²ΡΠΎ]: Π½ΡΠΌΠ°
ΠΡΠΊΠ°ΡΠ΅ Π»ΠΈ LXD Π΄Π° Π±ΡΠ΄Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΡΠ΅Π· ΠΌΡΠ΅ΠΆΠ°ΡΠ°? (Π΄Π°/Π½Π΅) [ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅=Π½Π΅]:
ΠΡΠΊΠ°ΡΠ΅ Π»ΠΈ ΠΎΡΡΠ°ΡΠ΅Π»ΠΈΡΠ΅ ΠΊΠ΅ΡΠΈΡΠ°Π½ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π° ΡΠ΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ? (Π΄Π°/Π½Π΅) [ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅=Π΄Π°] Π½Π΅
ΠΡΠΊΠ°ΡΠ΅ Π»ΠΈ YAML "lxd init" ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π·Π°Π΄Π°Π²Π°Π½Π΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΎΡΠΏΠ΅ΡΠ°ΡΠ°Π½ΠΎ? (Π΄Π°/Π½Π΅) [ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅=Π½Π΅]: Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ Storage Pool
Π ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° ΡΡΡΠΏΠΊΠ° ΡΡΠ·Π΄Π°Π΄ΠΎΡ
ΠΌΠ΅ Storage Pool ΠΊΠΎΠΉΡΠΎ Π½Π°ΡΠ΅ΠΊΠΎΡ
ΠΌΠ΅ ssdpool ΠΈ ΡΠ°ΠΉΠ»ΡΡ Π½Π° ΠΊΠΎΠΉΡΠΎ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ° Π² ΠΌΠΎΡΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π° Π°Π΄ΡΠ΅Ρ /var/lib/lxd/disks/ssdpool.img. Π’ΠΎΠ·ΠΈ Π°Π΄ΡΠ΅Ρ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ SSD Π΄ΠΈΡΠΊ Π² ΠΌΠΎΡ ΠΊΠΎΠΌΠΏΡΡΡΡ.
Π‘Π»Π΅Π΄Π²Π°ΡΠΈΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π·Π° Π΄Π° ΡΠ°Π·ΡΠΈΡΠΈΠΌ ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ΡΠΎ ΡΠΈ Π·Π° ΡΠΎΠ»ΡΡΠ° Π½Π° Storage Pool Π² Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ, ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ Π²ΡΠΎΡΠΈ Storage Pool ΠΊΠΎΠΉΡΠΎ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ° Π½Π° Π΄ΡΡΠ³ ΡΠΈΠΏ Π΄ΠΈΡΠΊ, Π½Π° HDD. ΠΡΠΎΠ±Π»Π΅ΠΌΡΡ Π΅, ΡΠ΅ LXD Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Storage Pool Π²ΡΠ½ ΠΎΡ Π°Π΄ΡΠ΅ΡΠ° /var/lib/lxd/disks/ ΠΈ Π΄ΠΎΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ½ΠΈΡΠ΅ Π²ΡΡΠ·ΠΊΠΈ Π½ΡΠΌΠ° Π΄Π° ΡΠ°Π±ΠΎΡΡΡ, . ΠΠΎΠΆΠ΅ΠΌ Π΄Π° Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΠΈΠΌ ΡΠΎΠ²Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ°/ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½Π΅ΡΠΎ, Storage Pool ΠΊΠ°ΡΠΎ Π·Π°Π΄Π°Π΄Π΅ΠΌ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° ΠΊΠ°ΡΠΎ Π±Π»ΠΎΡΠ½ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΡΡ ΠΊΡΠΌ ΡΠΈΠΊΠ»ΠΈΡΠ½ΠΈΡ ΡΠ°ΠΉΠ», ΡΠΊΠ°Π·Π²Π°ΠΉΠΊΠΈ ΡΠΎΠ²Π° Π² ΠΊΠ»ΡΡΠ° source.
Π ΡΠ°ΠΊΠ°, ΠΏΡΠ΅Π΄ΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Storage Pool Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ loopback ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π² ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠΎΠ΅ΡΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°. ΠΠ° ΡΠ΅Π»ΡΠ° ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΡΠ°ΠΉΠ» Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π΄ΠΎ 10GB:
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 ΡΠ°ΠΉΠ»Π° ΠΊΡΠΌ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΡΠΎ loopback ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ:
sudo losetup --find --show /mnt/work/lxd/hddpool.img
/dev/loop1ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ»ΡΡΠ° --show ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° ΡΠ΅ Π²ΡΡΠ½Π΅ Π½Π° Π΅ΠΊΡΠ°Π½Π° ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ, ΠΊΡΠΌ ΠΊΠΎΠ΅ΡΠΎ Π΅ ΡΠ²ΡΡΠ·Π°Π½ Π½Π°ΡΠΈΡΡ loopback ΡΠ°ΠΉΠ». ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·Π²Π΅Π΄Π΅ΠΌ Π½Π° Π΅ΠΊΡΠ°Π½Π° ΡΠΏΠΈΡΡΠΊΠ° Π½Π° Π²ΡΠΈΡΠΊΠΈ Π·Π°Π΅ΡΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΎΡ ΡΠΎΠ·ΠΈ ΡΠΈΠΏ, Π·Π° Π΄Π° ΡΠ΅ ΡΠ²Π΅ΡΠΈΠΌ Π² ΠΊΠΎΡΠ΅ΠΊΡΠ½ΠΎΡΡΡΠ° Π½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡΡΠ° Π½ΠΈ:
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 Π΅ ΡΠ²ΡΡΠ·Π°Π½ loopback ΡΠ°ΠΉΠ» /mnt/work/lxd/hddpool.img, Π° Π² ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ /dev/loop0 Π΅ ΡΠ²ΡΡΠ·Π°Π½ loopback ΡΠ°ΠΉΠ» /var/lib/lxd/disks/ssdpool.img ΠΊΠΎΠ΅ΡΠΎ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π° Π½Π° Π΄Π΅ΡΠΎΠ»ΡΠ½ΠΎΡΠΎ Storage Pool.
Π‘Π»Π΅Π΄Π²Π°ΡΠ°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡΠ·Π΄Π°Π²Π° Π½ΠΎΠ² Storage Pool Π² LXD, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° ΡΠΎΠΊΡ-ΡΠΎ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈΡ loopback ΡΠ°ΠΉΠ». LXD ΡΠΎΡΠΌΠ°ΡΠΈΡΠ° loopback ΡΠ°ΠΉΠ»Π° /mnt/work/lxd/hddpool.img Π² ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ /dev/loop1 ΠΏΠΎΠ΄ ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° BTRFS:
lxc storage create hddpool btrfs size=10GB source=/dev/loop1ΠΠ΅ΠΊΠ° ΠΈΠ·Π²Π΅Π΄Π΅ΠΌ ΡΠΏΠΈΡΡΠΊ Π½Π° Π²ΡΠΈΡΠΊΠΈ Storage Pool Π½Π° Π΅ΠΊΡΠ°Π½Π°:
lxc storage list
+---------+-------------+--------+--------------------------------+---------+
| NAME | DESCRIPTION | DRIVER | SOURCE | USED BY |
+---------+-------------+--------+--------------------------------+---------+
| hddpool | | btrfs | /dev/loop1 | 0 |
+---------+-------------+--------+--------------------------------+---------+
| ssdpool | | btrfs | /var/lib/lxd/disks/ssdpool.img | 0 |
+---------+-------------+--------+--------------------------------+---------+Π£Π²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° Storage Pool
Π‘Π»Π΅Π΄ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Storage Pool, ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ, ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΠ°Π·ΡΠΈΡΠ΅Π½. ΠΠ° Storage Pool Π±Π°Π·ΠΈΡΠ°Π½ΠΈΡ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° 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ΠΠ²ΡΠΎΠ²ΠΌΡΠΊΠ²Π°Π½Π΅ Π½Π° loopback ΡΠ°ΠΉΠ» Π² ΡΠ»ΠΎΡΠ° Π½Π° loopback ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ
ΠΠΌΠ°ΠΌΠ΅ Π΅Π΄ΠΈΠ½ ΠΌΠ°Π»ΡΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΠΏΡΠΈ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Ρ
ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, ΡΠ°ΠΉΠ»ΡΡ /mnt/work/lxd/hddpool.img "ΡΠ΅ "ΠΈΠ·Π»Π΅ΡΠ°" ΠΎΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ /dev/loop1 ΠΈ ΡΡΠ»ΡΠ³Π°ΡΠ° LXD ΡΠ΅ ΠΏΠ°Π΄Π½Π΅ ΠΏΡΠΈ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π½Π΅ ΡΠ΅ Π³ΠΎ Π²ΠΈΠ΄ΠΈ Π² ΡΠΎΠ²Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ. ΠΠ° ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ ΡΠΈΡΡΠ΅ΠΌΠ½Π° ΡΡΠ»ΡΠ³Π°, ΠΊΠΎΡΡΠΎ ΡΠ΅ Π²ΠΌΡΠΊΠ½Π΅ ΡΠΎΠ·ΠΈ ΡΠ°ΠΉΠ» Π² ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ /dev/loop1 ΠΏΡΠΈ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° Ρ
ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°.
ΠΠ΅ΠΊΠ° ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ unit ΡΠ°ΠΉΠ» ΠΎΡ ΡΠΈΠΏ service Π² /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
Π‘ΡΠ·Π΄Π°Π΄Π΅Π½ ΡΠΈΠΌΠ²ΠΎΠ»Π½ Π·Π° Π²ΡΡΠ·ΠΊΠ° /etc/systemd/system/local-fs.target.wants/lxd-hddpool.service β /etc/systemd/system/lxd-hddpool.service.Π‘Π»Π΅Π΄ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Ρ ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°ΠΌΠ΅ ΡΡΠ°ΡΡΡΠ° Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°:
systemctl ΡΡΠ°ΡΡΡ lxd-hddpool.service
β lxd-hddpool.service - Losetup LXD Storage Pool (hddpool)
ΠΠ°ΡΠ΅Π΄Π΅Π½: Π·Π°ΡΠ΅Π΄Π΅Π½ (/etc/systemd/system/lxd-hddpool.service; Π²ΠΊΠ»ΡΡΠ΅Π½; Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ: Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π°)
ΠΠΊΡΠΈΠ²Π΅Π½: Π°ΠΊΡΠΈΠ²Π΅Π½ (ΠΈΠ·Π»Π΅Π·Π΅) ΠΎΡ Π‘ΡΡ 2020-04-08 03:43:53 MSK; 1ΠΌΠΈΠ½ 37Ρ Π½Π°Π·Π°Π΄
ΠΡΠΎΡΠ΅Ρ: 711 ExecStart=/sbin/losetup /dev/loop1 /mnt/work/lxd/hddpool.img (ΠΊΠΎΠ΄=ΠΈΠ·Π»ΡΠ·ΡΠ», ΡΡΠ°ΡΡΡ=0/Π£Π‘ΠΠΠ₯)
ΠΡΠ½ΠΎΠ²Π΅Π½ PID: 711 (ΠΊΠΎΠ΄=ΠΈΠ·Π»ΡΠ·ΡΠ», ΡΡΠ°ΡΡΡ=0/Π£Π‘ΠΠΠ₯)
Π°ΠΏΡ 08 03:43:52 manjaro systemd[1]: ΠΠ°ΠΏΠΎΡΠ²Π°Π½Π΅ Π½Π° Losetup LXD Storage Pool (hddpool)...
Π°ΠΏΡ 08 03:43:53 manjaro systemd[1]: ΠΠ°Π²ΡΡΡΠ΅Π½ΠΎ 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
+--------+----------+---------+-------------+---------+
| ΠΠΠ | Π’ΠΠ | Π£ΠΠ ΠΠΠΠ―ΠΠΠ | ΠΠΠΠ‘ΠΠΠΠ | ΠΠΠΠΠΠΠΠ Π‘ |
+--------+----------+---------+-------------+---------+
| eno1 | ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠ° | ΠΠ―ΠΠ | | 0 |
+--------+----------+---------+-------------+---------+
| lxdbr0 | ΠΌΠΎΡΡ | ΠΠ | | 0 |
+--------+----------+---------+-------------+---------+Π‘ΡΡΠΎ ΡΠ°ΠΊΠ°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ ΡΠ²Π΅ΡΠΈΡΠ΅ Π² ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΎΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π½Π° Linux Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΡΠ° β ip link ΠΈΠ»ΠΈ ip addr:
ip addr
1: lo: 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: 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: 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: 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 ΡΠ° ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ ΡΡΠΈ ΠΏΡΠΎΡΠΈΠ»Π°: ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅, hddpool ΠΈ hostfs. ΠΡΠΈΡΠΊΠΈ ΡΡΠΈ ΠΏΡΠΎΡΠΈΠ»Π° ΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈ ΠΊΡΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, ΠΊΠΎΠΉΡΠΎ ΠΈΠΌΠ° Π»ΠΎΠΊΠ°Π»Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ (ΡΠΈΠ²Π° Π·ΠΎΠ½Π°). ΠΡΠΎΡΠΈΠ»ΡΡ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΈΠΌΠ° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ root Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ pool Π΅ ΡΠ°Π²Π½ΠΎ Π½Π° ssdpool, Π½ΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ°ΡΠΊΠ°Π΄Π½Π°ΡΠ° ΠΌΠΎΠ΄Π΅Π» Π½Π° ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠΈΠΌ ΠΏΡΠΎΡΠΈΠ» Π·Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° hddpool Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ pool ΠΊΠΎΠΉΡΠΎ ΡΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈ ΡΡΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΎΡ ΠΏΡΠΎΡΠΈΠ»Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡΡ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ root Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ° pool ΡΠ°Π²Π΅Π½ Π½Π° hddpool, Π° ΠΏΡΠΎΡΠΈΠ»ΡΡ hostfs ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²Ρ Π½ΠΎΠ²ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΊΡΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°.
ΠΠ° Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΠΏΠΈΡΡΠΊ Π½Π° Π½Π°Π»ΠΈΡΠ½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈ, ΡΠ»ΡΠΆΠΈ ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°:
lxc profile list
+---------+---------+
| NAME | USED BY |
+---------+---------+
| default | 1 |
+---------+---------+
| hddroot | 0 |
+---------+---------+
| ssdroot | 1 |
+---------+---------+ΠΡΠ»Π΅Π½ ΡΠΏΠΈΡΡΠΊ Π½Π° Π½Π°Π»ΠΈΡΠ½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΡΠΎΡΠΈΠ»Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅, Π΄ΠΎΠ±Π°Π²ΡΠΉΠΊΠΈ ΠΊΠ»ΡΡΠ° --help:
lxc profile --help
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΡΠΈΠ»ΠΈ
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅:
lxc profile [ΠΊΠΎΠΌΠ°Π½Π΄Π°]
ΠΠ°Π»ΠΈΡΠ½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ:
add ΠΠΎΠ±Π°Π²Π΅ΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈ ΠΊΡΠΌ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΠΈ
assign ΠΡΠΈΡΠ²ΠΎΡΠ²Π°Π½Π΅ Π½Π° Π½Π°Π±ΠΎΡΠΈ ΠΎΡ ΠΏΡΠΎΡΠΈΠ»ΠΈ ΠΊΡΠΌ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΠΈ
copy ΠΠΎΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠΈΠ»ΠΈ
create Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠΈΠ»ΠΈ
delete ΠΠ·ΡΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠΈΠ»ΠΈ
device Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π½Π° ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡΡΠ°
edit Π Π΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½Π° ΠΏΡΠΎΡΠΈΠ»ΠΈ ΠΊΠ°ΡΠΎ YAML
get ΠΠ·Π΅ΠΌΠ΅ΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π·Π° ΠΊΠ»ΡΡΠΎΠ²Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½Π° ΠΏΡΠΎΡΠΈΠ»ΠΈ
list Π‘ΠΏΠΈΡΡΠΊ Π½Π° ΠΏΡΠΎΡΠΈΠ»ΠΈ
remove ΠΡΠ΅ΠΌΠ°Ρ
Π½Π΅ΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈ ΠΎΡ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΠΈ
rename ΠΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠΈΠ»ΠΈ
set ΠΠ°Π΄Π°ΠΉΡΠ΅ ΠΊΠ»ΡΡΠΎΠ²Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½Π° ΠΏΡΠΎΡΠΈΠ»ΠΈ
show ΠΠΎΠΊΠ°ΠΆΠ΅ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½Π° ΠΏΡΠΎΡΠΈΠ»ΠΈ
unset ΠΡΠ΅ΠΌΠ°Ρ
Π½Π΅ΡΠ΅ ΠΊΠ»ΡΡΠΎΠ²Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½Π° ΠΏΡΠΎΡΠΈΠ»ΠΈΠ Π΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠΈΠ»
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΡ ΠΏΡΠΎΡΠΈΠ» ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π½ΡΠΌΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²Π° ΠΊΠ°ΡΡΠ° Π·Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΈ Π²ΡΠΈΡΠΊΠΈ Π½ΠΎΠ²ΠΎΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Π½ΡΠΌΠ°Ρ ΠΌΡΠ΅ΠΆΠ°; Π·Π° ΡΡΡ
Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ Π»ΠΎΠΊΠ°Π»Π½ΠΈ (ΠΏΠΎΡΠ²Π΅ΡΠ΅Π½ΠΈ) ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Ρ ΠΎΡΠ΄Π΅Π»Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π½ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΠΏΡΠΎΡΠΈΠ» Π³Π»ΠΎΠ±Π°Π»Π½ΠΎ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΡΠ΅ ΡΠΏΠΎΠ΄Π΅Π»Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠΈΡΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΈ ΡΠΎΠ·ΠΈ ΠΏΡΠΎΡΠΈΠ». ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½, Π²Π΅Π΄Π½Π°Π³Π° ΡΠ»Π΅Π΄ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π½ΠΎΠ² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, ΡΠ΅ ΡΠ΅ ΠΈΠΌΠ°Ρ ΠΌΡΠ΅ΠΆΠ° Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΌΡΠ΅ΠΆΠ°ΡΠ°. ΠΡΠΈ ΡΠΎΠ²Π°, Π½ΡΠΌΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, Π²ΠΈΠ½Π°Π³ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, Π°ΠΊΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ½Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡ.
Π‘Π»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΠΏΡΠΎΡΠΈΠ» ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ 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: []Π ΡΠΎΠ·ΠΈ ΠΏΡΠΎΡΠΈΠ» ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ, ΡΠ΅ Π·Π° Π²ΡΠΈΡΠΊΠΈ Π½ΠΎΠ²ΠΎΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ Π΄Π²Π΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° (devices):
eth0β Π£ΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΎΡ ΡΠΈΠΏnicΡΠ²ΡΡΠ·Π°Π½ΠΎ Ρ ΠΊΠΎΠΌΡΡΠ°ΡΠΎΡ (ΠΌΡΠ΅ΠΆΠΎΠ² ΠΌΠΎΡΡ)lxdbr0rootβ Π£ΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΎΡ ΡΠΈΠΏdiskΠΊΠΎΠ΅ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Ρ ΠΏΡΠ»ssdpool
Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈ
ΠΠ° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ Storage Pool ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ ΠΏΡΠΎΡΠΈΠ» Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° ssdroot Π² ΠΊΠΎΠΉΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΎΡ ΡΠΈΠΏ disk Ρ ΡΠΎΡΠΊΠ° Π½Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ / (root), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΎ ΠΏΡΠ΅Π΄ΠΈ ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΎΡΠΎ Storage Pool β ssdpool:
lxc profile create ssdroot
lxc profile device add ssdroot root disk path=\/ pool=ssdpoolΠΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ Π½Π°ΡΠΈΠ½, ΡΡΠ·Π΄Π°Π²Π°ΠΌΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΎΡ ΡΠΈΠΏ disk, Π½ΠΎ Π² ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΎ Storage Pool β 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: []Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π° ΠΎΠ±ΡΠ°Π·ΠΈ
ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅ ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ ΠΎΡ ΠΎΠ±ΡΠ°Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ, Π½ΡΠΌΠ°Ρ ΡΠ΄ΡΠΎ Π½Π° Linux. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΡΠΎΠΉ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ ΠΎΡ ΡΠΎΠ·ΠΈ ΠΎΠ±ΡΠ°Π·. ΠΠ·ΡΠΎΡΠ½ΠΈΠΊΡΡ Π½Π° ΠΎΠ±ΡΠ°Π·ΠΈΡΠ΅ Π΅ Π»ΠΎΠΊΠ°Π»Π΅Π½ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π² ΠΊΠΎΠΉΡΠΎ ΠΎΠ±ΡΠ°Π·ΠΈΡΠ΅ ΡΠ΅ Π·Π°ΡΠ΅ΠΆΠ΄Π°Ρ ΠΎΡ Π²ΡΠ½ΡΠ½ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
ΠΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π½Π° ΠΎΠ±ΡΠ°Π·ΠΈ
ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ LXD Π΅ Π½Π°ΡΡΡΠΎΠ΅Π½ Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΠΎΠ±ΡΠ°Π·ΠΈ ΠΎΡ ΡΡΠΈ ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΈ ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊΠ°:
- ubuntu: (Π·Π° ΡΡΠ°Π±ΠΈΠ»Π½ΠΈ Ubuntu ΠΎΠ±ΡΠ°Π·ΠΈ)
- ubuntu-daily: (Π·Π° Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΈ Ubuntu ΠΎΠ±ΡΠ°Π·ΠΈ)
- images: (Π·Π° ΠΏΠΎΡΠ΅Π΄ΠΈΡΠ° ΠΎΡ Π΄ΡΡΠ³ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ)
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
+----------------------------------------------+--------------+----------+------------+
| ΠΠΠΠ‘ΠΠΠΠ | ΠΠ Π₯ΠΠ’ΠΠΠ’Π£Π Π | Π ΠΠΠΠΠ | Π’ΠΠ |
+----------------------------------------------+--------------+----------+------------+
| ubuntu 12.04 LTS amd64 (release) (20150728) | x86_64 | 153.72MB | ΠΠΠΠ’ΠΠΠΠΠ |
+----------------------------------------------+--------------+----------+------------+
| ubuntu 12.04 LTS amd64 (release) (20150819) | x86_64 | 152.91MB | ΠΠΠΠ’ΠΠΠΠΠ |
+----------------------------------------------+--------------+----------+------------+
| ubuntu 12.04 LTS amd64 (release) (20150906) | x86_64 | 154.69MB | ΠΠΠΠ’ΠΠΠΠΠ |
+----------------------------------------------+--------------+----------+------------+
| ubuntu 12.04 LTS amd64 (release) (20150930) | x86_64 | 153.86MB | ΠΠΠΠ’ΠΠΠΠΠ |
+----------------------------------------------+--------------+----------+------------+ΠΠ° Π΄Π° ΠΈΠ·Π²Π΅Π΄Π΅ΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ Π±ΡΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ
ΠΌΠ΅ ΠΎΠΏΡΠΈΡΡΠ° -c Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ dasut, Π° ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡ
ΠΌΠ΅ Π΄ΡΠ»ΠΆΠΈΠ½Π°ΡΠ° Π½Π° ΡΠΏΠΈΡΡΠΊΠ° Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° head.
ΠΠ° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠΏΠΈΡΡΠΊΠ° Ρ ΠΎΠ±ΡΠ°Π·ΠΈ Π΅ Π½Π°Π»ΠΈΡΠ½Π° ΡΠΈΠ»ΡΡΠ°ΡΠΈΡ. Π‘Π»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ΅ ΠΈΠ·Π²Π΅Π΄Π΅ ΡΠΏΠΈΡΡΠΊ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π½Π°Π»ΠΈΡΠ½ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° :
lxc image -c ldast list images:alpine/3.11
+------------------------------+--------------------------------------+--------------+
| ΠΠΠΠΠ‘ | ΠΠΠΠ‘ΠΠΠΠ | ΠΠ Π₯ΠΠ’ΠΠΠ’Π£Π Π |
+------------------------------+--------------------------------------+--------------+
| 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. ΠΠΊΠΎ ΠΌΠ΅ΡΠΎΠ΄ΡΡ ΡΠΏΠΈΡΡΠΊ Π½Π΅ ΡΠΊΠ°ΠΆΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π»ΠΎΠΊΠ°Π»Π½ΠΈΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ β local:
lxc image list local:
+-------+-------------+--------+-------------+--------------+------+------+
| ALIAS | FINGERPRINT | PUBLIC | DESCRIPTION | ARCHITECTURE | TYPE | SIZE |
+-------+-------------+--------+-------------+--------------+------+------+Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΎΠ±ΡΠ°Π·ΠΈ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΡΡΠ°Π²Π° ΡΡΠ΅Π· ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈ:
ΠΠΊΠΈΠΏ
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
lxc image alias
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠΈ Π½Π° ΠΎΠ±ΡΠ°Π·ΠΈ
lxc image copy
ΠΠΎΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠ±ΡΠ°Π·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠ²ΡΡΠΈ
lxc image delete
ΠΠ·ΡΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΎΠ±ΡΠ°Π·ΠΈ
lxc image edit
Π Π΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ²ΠΎΠΉΡΡΠ²Π° Π½Π° ΠΎΠ±ΡΠ°Π·ΠΈ
lxc image export
ΠΠΊΡΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ ΠΈ ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ Π½Π° ΠΎΠ±ΡΠ°Π·ΠΈ
lxc image import
ΠΠΌΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠ±ΡΠ°Π·ΠΈ Π² Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ Π·Π° ΠΎΠ±ΡΠ°Π·ΠΈ
lxc image info
ΠΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΎΠ±ΡΠ°Π·ΠΈ
lxc image ΡΠΏΠΈΡΡΠΊ
Π‘ΠΏΠΈΡΡΠΊ Ρ ΠΎΠ±ΡΠ°Π·ΠΈ
lxc image refresh
ΠΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠ±ΡΠ°Π·ΠΈ
lxc image show
ΠΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΠ²ΠΎΠΉΡΡΠ²Π° Π½Π° ΠΎΠ±ΡΠ°Π·Π°
ΠΠΎΠΏΠΈΡΠ°ΠΌΠ΅ ΠΎΠ±ΡΠ°Π· ΠΎΡ Π³Π»ΠΎΠ±Π°Π»Π½ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π² Π»ΠΎΠΊΠ°Π»Π½ΠΈΡ. images::
lxc image copy images:alpine/3.11/amd64 local: --alias=alpine3
ΠΠ±ΡΠ°Π·ΡΡ Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΊΠΎΠΏΠΈΡΠ°Π½!ΠΠ΅ΠΊΠ° ΠΈΠ·Π²Π΅Π΄Π΅ΠΌ ΡΠΏΠΈΡΡΠΊ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΎΠ±ΡΠ°Π·ΠΈ, Π½Π°Π»ΠΈΡΠ½ΠΈ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π² Π»ΠΎΠΊΠ°Π»Π½ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. 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 Π½Π° ΠΊΠΎΡΡΠΎ ΡΠ΅ ΠΏΡΠ΅Π΄Π°Π²Π°Ρ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ:ΠΎΠ±ΡΠ°Π· ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΆΠ΅Π»Π°Π½ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π·Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΠΊΠ°Π·Π°Π½ ΠΊΠ°ΡΠΎ Π»ΠΎΠΊΠ°Π»Π΅Π½. local: ΡΠ°ΠΊΠ° ΠΈ Π²ΡΠ΅ Π³Π»ΠΎΠ±Π°Π»Π½ΠΎ. ΠΠΊΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ Π½Π΅ Π΅ ΠΏΠΎΡΠΎΡΠ΅Π½, ΡΠΎΠ³Π°Π²Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π·Π° ΡΡΡΡΠ΅Π½Π΅ Π½Π° ΠΎΠ±ΡΠ°Π·Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π»ΠΎΠΊΠ°Π»Π΅Π½ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΠΊΠΎ ΠΎΠ±ΡΠ°Π·ΡΡ Π΅ ΠΏΠΎΡΠΎΡΠ΅Π½ ΠΎΡ Π³Π»ΠΎΠ±Π°Π»Π΅Π½ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΠΏΡΡΠ²ΠΎ ΠΎΠ±ΡΠ°Π·ΡΡ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΈΠ·ΡΠ΅Π³Π»Π΅Π½ Π² Π»ΠΎΠΊΠ°Π»Π½ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°.
Π©Π΅ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌ ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π·Π° Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ Π½Π°ΡΠΈΡ ΠΏΡΡΠ²ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ:
lxc init alpine3 alp --storage=hddpool --profile=default --profile=hddrootΠΠ΅ΠΊΠ° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠ»ΡΡΠΎΠ²Π΅ΡΠ΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ°, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΡΡΠΊ:
alpine3β ΠΠΎΡΠΎΡΠ²Π° Π°Π»ΠΈΠ°Ρ (ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ) Π·Π° ΠΎΠ±ΡΠ°Π·Π°, ΠΊΠΎΠΉΡΠΎ Π΅ Π±ΠΈΠ» ΠΈΠ·ΡΠ΅Π³Π»Π΅Π½ Π² Π»ΠΎΠΊΠ°Π»Π½ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΠΊΠΎ Π°Π»ΠΈΠ°Ρ Π½Π΅ Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ Π·Π° ΡΠΎΠ·ΠΈ ΠΎΠ±ΡΠ°Π·, Π²ΠΈΠ½Π°Π³ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΠ·ΠΎΠ²Π°Π²Π°ΡΠ΅ Π½Π° ΠΎΠ±ΡΠ°Π·Π° ΠΏΠΎ Π½Π΅Π³ΠΎΠ²ΠΈΡ ΠΡΠΏΠ΅ΡΠ°ΡΡΠΊ ΠΊΠΎΠΉΡΠΎ Π΅ ΠΈΠ·Π²Π΅Π΄Π΅Π½ Π² ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ°.alpβ ΠΠ°Π΄Π°Π²Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π·Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°--storageβ Π’ΠΎΠ·ΠΈ ΠΊΠ»ΡΡ ΡΠΊΠ°Π·Π²Π° Π² ΠΊΠ°ΠΊΡΠ² Storage Pool ΡΠ΅ Π±ΡΠ΄Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡΡ--profileβ Π’Π΅Π·ΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ ΠΏΡΠΈΠ»Π°Π³Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΎΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ.
Π‘ΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΠΊΠΎΠΉΡΠΎ Π·Π°ΠΏΠΎΡΠ²Π° Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ° init ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°:
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 ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΠ΅ ΡΠ²Π΅ΡΠΈΠΌ, ΡΠ΅ ΡΠΎΠ·ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΄Π²Π° ΠΏΡΠΎΡΠΈΠ»Π° Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ β ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΈ hddroot. Π ΡΠ΅ΠΊΡΠΈΡΡΠ° devices ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡΠΊΡΠΈΠ΅ΠΌ ΡΠ°ΠΌΠΎ Π΅Π΄Π½ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΎΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π±Π΅ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΎ Π½Π° Π½ΠΈΠ²ΠΎ ΠΏΡΠΎΡΠΈΠ». ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅. ΠΠ° Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΠΊΠ»ΡΡΠ° --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 ΠΊΠΎΠ΅ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡΡ, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈ Π½Π° ΠΏΡΠΎΡΠΈΠ»Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅:
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, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π³ΠΎ ΡΡΠ·Π΄Π°Π΄ΠΎΡ
ΠΌΠ΅ Π½Π° Π½ΠΈΠ²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΈ ΡΠΎ ΠΊΠ°ΡΠΊΠ°Π΄Π½ΠΎ Π·Π°ΠΌΠ΅ΡΡΠΈ ΡΡΡΠΎΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΎΡ ΠΏΡΠΎΡΠΈΠ»Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅:
lxc config show alp
Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°: x86_64
ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ:
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
ΡΡΡΡΠΎΠΉΡΡΠ²Π°:
eth0:
ipv4.address: 10.0.5.5
name: eth0
nictype: bridged
parent: lxdbr0
type: nic
root:
path: \/
pool: hddpool
type: disk
ΡΡΠ΅ΠΌΠ΅ΡΠ½ΡΠΉ: false
ΠΏΡΠΎΡΠΈΠ»ΠΈ:
- ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
- hddroot
ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅: false
ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅: ""ΠΠ·ΡΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ
ΠΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° lxc delete, Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΡΠ΄Π°Π»ΠΈΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ lxc stop:
lxc stop alplxc list
+------+---------+-------------------+------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+------+---------+-------------------+------+-----------+-----------+
| alp | STOPPED | 10.0.5.10 (eth0) | | ΠΠΠΠ’ΠΠΠΠΠ | 0 |
+------+---------+-------------------+------+-----------+-----------+ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΌΡ ΡΠ±Π΅Π΄ΠΈΠ»ΠΈΡΡ, ΡΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ STOPPED, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΠΈΠ· Storage Pool:
lxc delete alpΠΠΎΡΡΡΠΏ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°
ΠΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π²Π½ΡΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π½Π°ΠΏΡΡΠΌΡΡ, ΠΌΠΈΠ½ΡΡ ΡΠ΅ΡΠ΅Π²ΡΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° lxc exec , ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅ Π±Π΅Π· Π·Π°ΠΏΡΡΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ. ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ shell, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² (pipe) ΠΈ Ρ.Π΄., Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ²Π½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠ»ΡΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
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.enforcelimits.memory.hugepageslimits.memory.swaplimits.memory.swap.priority
ΠΠΊΠΈΠΏ lxc config show ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π²Π΅Π΄Π΅ Π½Π° Π΅ΠΊΡΠ°Π½Π° ΡΡΠ»Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΎΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅:
lxc config show alp
Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°: x86_64
ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ:
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
dΠ΅Π²ices: {}
ephemeral: false
profiles:
- default
stateful: false
description: ""ΠΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π½Π° CPU (Π¦Π)
ΠΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π½Π° Π¦Π ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ :
limit.cpuβ ΡΠ²ΡΡΠ·Π²Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Ρ Π΅Π΄Π½ΠΎ ΠΈΠ»ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ΄ΡΠ° Π½Π° Π¦Πlimits.cpu.allowanceβ ΡΠΏΡΠ°Π²Π»ΡΠ²Π° ΠΈΠ»ΠΈ ΠΊΠ²ΠΎΡΠΈΡΠ΅ Π½Π° CFS ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°, ΠΊΠΎΠ³Π°ΡΠΎ Π΅ ΠΈΠ·ΡΠ΅ΠΊΠ»ΠΎ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ, ΠΈΠ»ΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π½ΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΡΠΏΠΎΠ΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈ Π½Π° Π¦Π, ΠΊΠΎΠ³Π°ΡΠΎ Π΅ Π΄ΠΎΡΡΠΈΠ³Π½Π°Ρ ΠΏΡΠΎΡΠ΅Π½Ρlimits.cpu.priorityβ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ Π½Π° ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°, ΠΊΠΎΠ³Π°ΡΠΎ Π·Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠΏΠΎΠ΄Π΅Π»ΡΡ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ, Π΅ Π·Π°Π΄Π°Π΄Π΅Π½ Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡ ΠΏΡΠΎΡΠ΅Π½Ρ ΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅
lxc config set alp limits.cpu.allowance 40%lxc config show alp
Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°: x86_64
ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ:
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
dΠ΅Π²ices: {}
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
...
dΠ΅Π²ices:
root:
path: \/
pool: hddpool
size: 2GB
type: disk
ephemeral: false
profiles:
- default
- hddroot
stateful: false
description: ""ΠΠ° Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡΠ΅ ΠΊΠ²ΠΎΡΠΈ Π½Π° Π΄ΠΈΡΠΊΠ°, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π³ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° lxc info:
lxc info alp
...
Π Π΅ΡΡΡΡΠΈ:
ΠΡΠΎΡΠ΅ΡΠΈ: 5
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π΄ΠΈΡΠΊ:
root: 1.05GB
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π¦Π:
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π¦Π (Π² ΡΠ΅ΠΊΡΠ½Π΄ΠΈ): 1
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ:
ΠΠ°ΠΌΠ΅Ρ (ΡΠ΅ΠΊΡΡΠ°): 5.46MB
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΌΡΠ΅ΠΆΠ°:
eth0:
ΠΡΠΈΠ΅ΡΠΈ Π±Π°ΠΉΡΠΎΠ²Π΅: 802B
ΠΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΈ Π±Π°ΠΉΡΠΎΠ²Π΅: 1.59kB
ΠΡΠΈΠ΅ΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ: 4
ΠΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ: 14
lo:
ΠΡΠΈΠ΅ΡΠΈ Π±Π°ΠΉΡΠΎΠ²Π΅: 0B
ΠΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΈ Π±Π°ΠΉΡΠΎΠ²Π΅: 0B
ΠΡΠΈΠ΅ΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ: 0
ΠΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ: 0ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ ΡΠΌΠ΅ Π·Π°Π΄Π°Π»ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π·Π° ΠΊΠΎΡΠ΅Π½ΠΎΠ²ΠΎΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π½Π° 2GB, ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΠΊΠ°ΡΠΎ df Π½ΡΠΌΠ° Π΄Π° Π²ΠΈΠΆΠ΄Π°Ρ ΡΠΎΠ²Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅. ΠΠ° ΡΠ΅Π»ΡΠ° ΡΠ΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅ΠΌ ΠΌΠ°Π»ΡΠΊ ΡΠ΅ΡΡ ΠΈ ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ.
Π©Π΅ ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ 2 Π½ΠΎΠ²ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π² Π΅Π΄Π½ΠΎ ΠΈ ΡΡΡΠΎ Storage Pool (hddpool):
lxc init alpine3 alp1 --storage=hddpool --profile=default --profile=hddroot
lxc init alpine3 alp2 --storage=hddpool --profile=default --profile=hddrootlxc 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 |
+------+---------+------------------+------+-----------+-----------+Π Π΅Π΄ΠΈΠ½ ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅ ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ ΡΠ°ΠΉΠ» Ρ ΡΠ°Π·ΠΌΠ΅Ρ 1GB:
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ΠΠΊΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌ Π²ΡΠΎΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ Π·Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°ΠΉΠ»Π° Π½Π° ΡΡΡΠΎΡΠΎ ΠΌΡΡΡΠΎ, Π½ΡΠΌΠ° Π΄Π° Π³ΠΎ Π½Π°ΠΌΠ΅ΡΠΈΠΌ, ΠΊΠΎΠ΅ΡΠΎ Π΅ ΠΎΡΠ°ΠΊΠ²Π°Π½ΠΎ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅ ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡΠ΅ ΡΠΈ Storage Volume Π² ΡΠΎΠ·ΠΈ ΡΡΡΠΈΡ Storage Pool:
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 ΠΌΠΎΠ½ΡΠΈΡΠ°Π½ΠΎΡΠΎ ΠΊΠ°ΡΠΎ ΠΊΠΎΡΠ΅Π½ΠΎΠ² Π΄ΡΠ» Π΅ Storage Pool ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅Π·ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ, Π·Π°ΡΠΎΠ²Π° ΡΠ΅ Π³ΠΎ ΡΠΏΠΎΠ΄Π΅Π»ΡΡ Π½Π° Π΄Π²Π°ΠΌΠ°ΡΠ°.
Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ° Π·Π° ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈ
ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° Π·Π° ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΅ΡΡΡΡΠΈ Π·Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ°:
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 Π½ΡΠΌΠ° ΠΊΠ»ΡΡ ΡΠΏΠΈΡΡΠΊ, Π·Π°ΡΠΎΠ²Π°, Π·Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΠΏΠΈΡΡΠΊΠ° Π½Π° ΡΠ½ΠΈΠΌΠΊΠΈΡΠ΅, ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ°, ΠΊΠΎΡΡΠΎ ΠΈΠ·Π²Π΅ΠΆΠ΄Π° ΠΎΠ±ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°:
lxc info alp
...
...
Π‘Π½Π°ΠΏΡΠΎΡΡ:
snapshot1 (Π²Π·ΡΡΠΎ 2020/04/08 18:18 UTC) (Π±Π΅Π· ΡΠΎΡΡΠΎΡΠ½ΠΈΡ)ΠΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΎΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ½Π° ΡΠ½ΠΈΠΌΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠΈ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° lxc restore ΠΏΠΎΡΠΎΡΠ²Π°ΠΉΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, Π·Π° ΠΊΠΎΠΉΡΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΈΠ·Π²ΡΡΡΠ΅Π½ΠΎ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ΡΠΎ ΠΈ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠ° Π½Π° ΠΌΠΎΠΌΠ΅Π½ΡΠ½Π°ΡΠ° ΡΠ½ΠΈΠΌΠΊΠ°:
lxc restore alp snapshot1Π‘Π»Π΅Π΄Π²Π°ΡΠ°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ»ΡΠΆΠΈ Π·Π° ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΌΠΎΠΌΠ΅Π½ΡΠ½Π°ΡΠ° ΡΠ½ΠΈΠΌΠΊΠ°. ΠΠ±ΡΡΠ½Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡΡ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Π½Π΅ Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π° ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅, ΡΡΠΊ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π½Π°ΠΊΠ»ΠΎΠ½Π΅Π½Π° ΡΠ΅ΡΡΠ° ΡΠ»Π΅Π΄ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. ΠΠΊΠΎ Π½Π°ΠΊΠ»ΠΎΠ½Π΅Π½Π°ΡΠ° ΡΠ΅ΡΡΠ° Π±ΡΠ΄Π΅ ΠΏΡΠΎΠΏΡΡΠ½Π°ΡΠ°, ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Π·Π° ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΌΠΎΠΌΠ΅Π½ΡΠ½Π°ΡΠ° ΡΠ½ΠΈΠΌΠΊΠ° ΡΠ΅ Π±ΡΠ΄Π΅ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠ°Π½Π° ΠΊΠ°ΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π° ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°!
lxc delete alp/snapshot1Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡΠ΅ ΠΏΠΎ-Π³ΠΎΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΈ ΡΠ°Π·Π³Π»Π΅Π΄Π°Ρ ΠΌΠ΅ Ρ.Π½Π°Ρ. momentΠ½ΠΈ ΡΠ½ΠΈΠΌΠΊΠΈ Π±Π΅Π· ΡΡΡΡΠΎΡΠ½ΠΈΠ΅. Π LXD ΠΈΠΌΠ° ΠΈ Π΄ΡΡΠ³ ΡΠΈΠΏ ΠΌΠΎΠΌΠ΅Π½ΡΠ½ΠΈ ΡΠ½ΠΈΠΌΠΊΠΈ β ΡΡΡ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅, Π² ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π·Π°ΠΏΠ°Π·Π²Π° ΡΠ΅ΠΊΡΡΠΎΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. Π‘Π²ΡΡΠ·Π°Π½ΠΈ Ρ momentΠ½ΠΈΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ ΡΡΡ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ° ΡΠ΅Π΄ΠΈΡΠ° ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΈ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ°ΠΊΠ²ΠΎ ΠΎΡΠ΅?
- ΠΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° Python Π΅ Π½Π°Π»ΠΈΡΠ΅Π½ ΠΌΠΎΠ΄ΡΠ» ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ API Π·Π° LXD
UPDATE 10.04.2020 15:00: ΠΠΎΠ±Π°Π²ΠΈΡ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
