FreeRDP - свободна рСализация Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π° ΠΎΡ‚Π΄Π°Π»Π΅Π½ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΠΏΠ»ΠΎΡ‚ (RDP), ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π° ΠΏΠΎΠ΄ лицСнзия Apache, Π΅ Ρ„ΠΎΡ€ΠΊ Π½Π° rdesktop. Най-Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² Ρ€Π΅Π»ΠΈΠ·Π° 2.0.0: .

FreeRDP - свободна рСализация Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π° ΠΎΡ‚Π΄Π°Π»Π΅Π½ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΠΏΠ»ΠΎΡ‚ (RDP), ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π° ΠΏΠΎΠ΄ лицСнзия Apache, Π΅ Ρ„ΠΎΡ€ΠΊ Π½Π° rdesktop. Най-Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² Ρ€Π΅Π»ΠΈΠ·Π° 2.0.0: .

LXD β€” Ρ‚ΠΎΠ²Π° Π΅ систСмСн ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΎΡ‚ Π½ΠΎΠ²ΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅, Ρ‚Π°ΠΊΠ° сС ΠΊΠ°Π·Π²Π° ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ. Π’ΠΎΠΉ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° потрСбитСлски интСрфСйс, ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини, Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° вмСсто Ρ‚ΠΎΠ²Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ Linux.

Π―Π΄Ρ€ΠΎΡ‚ΠΎ Π½Π° LXD β€” Ρ‚ΠΎΠ²Π° Π΅ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½ Π΄Π΅ΠΌΠΎΠ½ (услуга, стартирана с ΠΏΡ€Π°Π²Π° root), ΠΊΠΎΠΉΡ‚ΠΎ прСдоставя REST API Ρ‡Ρ€Π΅Π· Π»ΠΎΠΊΠ°Π»Π΅Π½ UNIX сокСт, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ посрСдством ΠΌΡ€Π΅ΠΆΠ°, Π°ΠΊΠΎ Π΅ инсталирана ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½Π°Ρ‚Π° конфигурация. ΠšΠ»ΠΈΠ΅Π½Ρ‚ΠΈ, ΠΊΠ°Ρ‚ΠΎ командния инструмСнт, доставСн с LXD, ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ заявки ΠΏΡ€Π΅Π· Ρ‚ΠΎΠ·ΠΈ REST API. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ нСзависимо Π΄Π°Π»ΠΈ сС ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‚Π΅ Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΠΈΠ»ΠΈ дистанционно, всичко Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎ ΡΡŠΡ‰ΠΈΡ Π½Π°Ρ‡ΠΈΠ½.

Π’ Ρ‚Π°Π·ΠΈ статия няма Π΄Π° задълбавамС Π² ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈΡ‚Π΅ Π½Π° LXD, Π½ΠΈΡ‚ΠΎ Ρ‰Π΅ Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ всичкитС Π½Π°Π»ΠΈΡ‡Π½ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ, ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈ Π² докумСнтацията, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π½ΠΎΠ²Π°Ρ‚Π° рСализация Π² послСднитС вСрсии Π½Π° LXD, която ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини QEMU с ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ. ВмСсто Ρ‚ΠΎΠ²Π° Ρ‰Π΅ Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ само основнитС Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ β€” Ρ‰Π΅ настроим Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π½ΠΈ ΠΏΡƒΠ»ΠΎΠ²Π΅, ΠΌΡ€Π΅ΠΆΠ°, Ρ‰Π΅ стартирамС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, Ρ‰Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠΌ ограничСния Π½Π° рСсурситС, Π° ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Ρ‰Π΅ Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ снимки, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ основно прСдстава Π·Π° LXD ΠΈ ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ Π² Linux.

Π—Π° пълна информация, моля, ΠΎΠ±ΡŠΡ€Π½Π΅Ρ‚Π΅ сС към официалния ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ:

Навигация

Π˜Π½ΡΡ‚Π°Π»Π°Ρ†ΠΈΡ Π½Π° LXD ^

Π˜Π½ΡΡ‚Π°Π»Π°Ρ†ΠΈΡ Π½Π° LXD Π² дистрибуции Π½Π° Ubuntu ^

Π’ дистрибуцията Π½Π° Ubuntu 19.10 ΠΏΠ°ΠΊΠ΅Ρ‚ΡŠΡ‚ lxd ΠΈΠΌΠ° транслация Π½Π° snap ΠΏΠ°ΠΊΠ΅Ρ‚:

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 ядро, Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ ΠΎΡ‚ външни ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΡ†ΠΈ
  • ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ β€” Ρ‚ΠΎΠ²Π° са Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈ дистрибуции ΠΎΡ‚ ΠΎΠ±Ρ€Π°Π·ΠΈ, Π³ΠΎΡ‚ΠΎΠ²ΠΈ Π·Π° Сксплоатация
  • Π‘Π½ΠΈΠΌΠΊΠΈ β€” Ρ‚Π΅Π·ΠΈ са ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½ΠΈ снимки Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅, към ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° сС Π²ΡŠΡ€Π½Π΅Ρ‚Π΅

FreeRDP - свободна рСализация Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π° ΠΎΡ‚Π΄Π°Π»Π΅Π½ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΠΏΠ»ΠΎΡ‚ (RDP), ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π° ΠΏΠΎΠ΄ лицСнзия Apache, Π΅ Ρ„ΠΎΡ€ΠΊ Π½Π° rdesktop. Най-Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² Ρ€Π΅Π»ΠΈΠ·Π° 2.0.0: .

Π—Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Π² 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/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 сС Π·Π°Π΄Π°Π²Π°Ρ‚ няколко Π²ΡŠΠΏΡ€ΠΎΡΠ°, срСд ΠΊΠΎΠΈΡ‚ΠΎ Π΅ опрСдСлянСто Π½Π° Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма Π·Π° ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ 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 ΠΈ ΠΊΠ°ΠΊ Π΄Π° създадСм Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π΅Π½ ΠΊΠΎΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€ (мост) с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° клиСнтската ΠΊΠΎΠΌΠ°Π½Π΄Π°.

Π‘Π»Π΅Π΄Π²Π°Ρ‰Π°Ρ‚Π° схСма дСмонстрира ΠΊΠ°ΠΊ ΠΊΠΎΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€ΡŠΡ‚ (мост) ΡΠ²ΡŠΡ€Π·Π²Π° хоста ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ Π² ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°:

FreeRDP - свободна рСализация Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π° ΠΎΡ‚Π΄Π°Π»Π΅Π½ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΠΏΠ»ΠΎΡ‚ (RDP), ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π° ΠΏΠΎΠ΄ лицСнзия Apache, Π΅ Ρ„ΠΎΡ€ΠΊ Π½Π° rdesktop. Най-Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² Ρ€Π΅Π»ΠΈΠ·Π° 2.0.0: .

ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° си взаимодСйстват Ρ‡Ρ€Π΅Π· ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° с Π΄Ρ€ΡƒΠ³ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΈΠ»ΠΈ с хоста, Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ Ρ‚Π΅Π·ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ сС обслуТват. Π—Π° Ρ‚ΠΎΠ²Π° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈΡ‚Π΅ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ ΠΊΠ°Ρ€Ρ‚ΠΈ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ с виртуалния ΠΊΠΎΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€. ΠŸΡŠΡ€Π²ΠΎ Ρ‰Π΅ създадСм ΠΊΠΎΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€, Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈΡ‚Π΅ интСрфСйси Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ Π² слСдващитС Π³Π»Π°Π²ΠΈ, слСд ΠΊΠ°Ρ‚ΠΎ бъдС създадСн самият ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€.

Π‘Π»Π΅Π΄Π²Π°Ρ‰Π°Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° създава ΠΊΠΎΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€ с подсСт ΠΈ 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 ΠΈΠΌΠ° собствСна конфигурация ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° я Ρ€Π°Π·ΡˆΠΈΡ€ΡΠ²Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π³Π»ΠΎΠ±Π°Π»Π½ΠΎ Π΄Π΅ΠΊΠ»Π°Ρ€ΠΈΡ€Π°Π½ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ сС Π½Π°Ρ€ΠΈΡ‡Π°Ρ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ. ΠŸΡ€ΠΈΠ»Π°Π³Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ към ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ слСдва каскадна ΠΌΠΎΠ΄Π΅Π», слСдващият ΠΏΡ€ΠΈΠΌΠ΅Ρ€ дСмонстрира Ρ‚ΠΎΠ²Π°:

FreeRDP - свободна рСализация Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π° ΠΎΡ‚Π΄Π°Π»Π΅Π½ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΠΏΠ»ΠΎΡ‚ (RDP), ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π° ΠΏΠΎΠ΄ лицСнзия Apache, Π΅ Ρ„ΠΎΡ€ΠΊ Π½Π° rdesktop. Най-Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² Ρ€Π΅Π»ΠΈΠ·Π° 2.0.0: .

Π’ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² систСмата 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 ΡΠ²ΡŠΡ€Π·Π°Π½ΠΎ с ΠΊΠΎΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€ (ΠΌΡ€Π΅ΠΆΠΎΠ² мост) lxdbr0
  • root β€” Устройство ΠΎΡ‚ Ρ‚ΠΈΠΏ 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.

Π—Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° списъка с ΠΎΠ±Ρ€Π°Π·ΠΈ Π΅ Π½Π°Π»ΠΈΡ‡Π½Π° филтрация. Π‘Π»Π΅Π΄Π½Π°Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ‰Π΅ ΠΈΠ·Π²Π΅Π΄Π΅ списък Π½Π° всички Π½Π°Π»ΠΈΡ‡Π½ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ Π½Π° дистрибутива AlpineLinux:

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 alp

lxc 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.enforce
  • limits.memory.hugepages
  • limits.memory.swap
  • limits.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=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         |
+------+---------+------------------+------+-----------+-----------+

Π’ Π΅Π΄ΠΈΠ½ ΠΎΡ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ Ρ‰Π΅ създадСм Ρ„Π°ΠΉΠ» с Ρ€Π°Π·ΠΌΠ΅Ρ€ 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 Π΅ Π½Π°Π»ΠΈΡ‡Π΅Π½ ΠΌΠΎΠ΄ΡƒΠ» PyLXD ΠΊΠΎΠΉΡ‚ΠΎ прСдоставя API Π·Π° LXD

UPDATE 10.04.2020 15:00: Π”ΠΎΠ±Π°Π²ΠΈΡ… навигация

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster