Основни Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π½Π° LXD β€” систСми Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ Π² Linux

Основни Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π½Π° LXD β€” систСми Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ Π² Linux

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
  Transitional package - lxd -> snap (lxd)

Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ инсталирани Π²Π΅Π΄Π½Π°Π³Π° Π΄Π²Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π°, Π΅Π΄ΠΈΠ½ систСмСн ΠΈ Π΄Ρ€ΡƒΠ³ ΠΊΠ°Ρ‚ΠΎ snap-ΠΏΠ°ΠΊΠ΅Ρ‚. Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΄Π²Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π² систСмата ΠΌΠΎΠΆΠ΅ Π΄Π° създадС извСстСн ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΏΡ€ΠΈ ΠΊΠΎΠΉΡ‚ΠΎ систСмният ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° станС сирак, Π°ΠΊΠΎ snap-ΠΏΠ°ΠΊΠ΅Ρ‚ΡŠΡ‚ бъдС ΠΈΠ·Ρ‚Ρ€ΠΈΡ‚ ΠΎΡ‚ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€Π° Π½Π° snap-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ.

НамСри ΠΏΠ°ΠΊΠ΅Ρ‚Π° lxd Π² snap-рСпозитория ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ с ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π°:

snap find lxd

Name             Version        Summary
lxd              3.21           БистСмСн ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΈ API
lxd-demo-server  0+git.6d54658  Онлайн дСмонстрации Π½Π° софтуСр, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ΠΈ LXD
nova             ocata          Услуга Π·Π° изчислСния Π² OpenStack (nova)
nova-hypervisor  ocata          Услуга Π·Π° изчислСния Π² OpenStack - KVM Ρ…ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ (nova)
distrobuilder    1.0            ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ Π½Π° изобраТСния Π·Π° LXC ΠΈ LXD
fabrica          0.1            Π‘ΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ snap ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ, просто посочвайки ΡƒΠ΅Π± Ρ„ΠΎΡ€ΠΌΠ° Π½Π°...
satellite        0.1.2          Π Π°Π·ΡˆΠΈΡ€Π΅Π½Π° ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠ° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ Π·Π° Ρ€Π°Π·ΡƒΠ·Π½Π°Π²Π°Π½Π΅

Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° list , Π·Π° Π΄Π° сС ΡƒΠ²Π΅Ρ€ΠΈΡ‚Π΅, Ρ‡Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΡŠΡ‚ lxd ΠΎΡ‰Π΅ Π½Π΅ Π΅ инсталиран:

snap list

Name  Version    Rev   Tracking  Publisher   Notes
core  16-2.43.3  8689  stable    canonicalβœ“  core

Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ LXD Π΅ snap-ΠΏΠ°ΠΊΠ΅Ρ‚, Ρ‚ΠΎΠΉ трябва Π΄Π° бъдС инсталиран Ρ‡Ρ€Π΅Π· систСмния ΠΏΠ°ΠΊΠ΅Ρ‚ lxd, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ създадС Π² систСмата ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½Π°Ρ‚Π° Π³Ρ€ΡƒΠΏΠ° ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ инструмСнти Π² /usr/bin ΠΈ Ρ‚.Π½.

sudo apt update
sudo apt install lxd

НСка сС ΡƒΠ²Π΅Ρ€ΠΈΠΌ, Ρ‡Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΡŠΡ‚ Π΅ инсталиран ΠΊΠ°Ρ‚ΠΎ snap-ΠΏΠ°ΠΊΠ΅Ρ‚:

snap list

Name  Version    Rev    Tracking  Publisher   Notes
core  16-2.43.3  8689   stable    canonicalβœ“  core
lxd   3.21       13474  stable\/…  canonicalβœ“  -

Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°Π½Π΅ Π½Π° LXD Π² дистрибуции Π½Π° Arch Linux ^

Π—Π° Π΄Π° инсталиратС ΠΏΠ°ΠΊΠ΅Ρ‚Π° LXD Π² систСмата, Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° стартиратС слСднитС ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΏΡŠΡ€Π²Π°Ρ‚Π° – Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π° списъка Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅, Π½Π°Π»ΠΈΡ‡Π½ΠΈ Π² рСпозитория, Π° Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° – Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π΄Π° инсталира ΠΏΠ°ΠΊΠ΅Ρ‚Π°:

sudo pacman -Syyu && sudo pacman -S lxd

Π‘Π»Π΅Π΄ инсталиранСто Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π°, Π·Π° Π΄Π° управляватС LXD ΠΊΠ°Ρ‚ΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π», Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° Π³ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ Π² систСмната Π³Ρ€ΡƒΠΏΠ° lxd:

sudo usermod -a -G lxd user1

НСка сС ΡƒΠ²Π΅Ρ€ΠΈΠΌ, Ρ‡Π΅ потрСбитСлят user1 Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ Π² Π³Ρ€ΡƒΠΏΠ°Ρ‚Π° lxd:

id -Gn user1

user1 adm dialout cdrom floppy sudo audio dip video plugdev netdev lxd

Ако Π³Ρ€ΡƒΠΏΠ°Ρ‚Π° lxd Π½Π΅ Π΅ Π²ΠΈΠ΄ΠΈΠΌΠ° Π² списъка, Ρ‚ΠΎΠ³Π°Π²Π° трябва Π΄Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚Π΅ сСсията Π½Π° потрСбитСля ΠΎΡ‚Π½ΠΎΠ²ΠΎ. Π—Π° Ρ†Π΅Π»Ρ‚Π° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΠΈΠ·Π»Π΅Π·Π΅Ρ‚Π΅ ΠΈ Π΄Π° Π²Π»Π΅Π·Π΅Ρ‚Π΅ Π² систСмата с Ρ‚ΠΎΠ·ΠΈ ΡΡŠΡ‰ΠΈΡ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π».

АктивирамС systemd Π·Π°ΠΏΠΎΡ‡Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° услугата LXD ΠΏΡ€ΠΈ стартиранС Π½Π° систСмата:

sudo systemctl enable lxd

Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΠΌΠ΅ услугата:

sudo systemctl start lxd

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ²Π°ΠΌΠ΅ статуса Π½Π° услугата:

sudo systemctl status lxd

Π‘ΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° LXD (Storage) ^

ΠŸΡ€Π΅Π΄ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ инициализацията, Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠ°ΠΊ Π΅ логичСски устроСно Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Π² LXD.

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ (Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅) сС ΡΡŠΡΡ‚ΠΎΠΈ ΠΎΡ‚ Π΅Π΄Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Storage Pool ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π΅Π΄Π½Π° ΠΎΡ‚ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈ систСми, ΠΊΠ°Ρ‚ΠΎ ZFS, BTRFS, LVM ΠΈΠ»ΠΈ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ. ВсСки Storage Pool сС раздСля Π½Π° Ρ‚ΠΎΠΌΠ° (Storage Volume) ΠΊΠΎΠΈΡ‚ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‚ ΠΎΠ±Ρ€Π°Π·ΠΈ, ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΈΠ»ΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈ Ρ†Π΅Π»ΠΈ.

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

Основни Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π½Π° LXD β€” систСми Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ Π² Linux

Π—Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Π² LXD слуТи ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° lxc storage Ρ‡ΠΈΠΉΡ‚ΠΎ ΠΏΠΎΠΌΠΎΡ‰ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅, ΠΊΠ°Ρ‚ΠΎ посочитС ΠΊΠ»ΡŽΡ‡Π° β€” lxc storage --help

Π‘Π»Π΅Π΄Π½Π°Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π° Π½Π° Π΅ΠΊΡ€Π°Π½Π° списък Π½Π° всички Storage Pool Π² LXD Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅:

lxc storage list

+---------+-------------+--------+--------------------------------+---------+
|  NAME   | DESCRIPTION | DRIVER |             SOURCE             | USED BY |
+---------+-------------+--------+--------------------------------+---------+
| 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

+-------+----------------------------------+-------------+---------+
| TYPE  |          NAME                    | DESCRIPTION | USED BY |
+-------+----------------------------------+-------------+---------+
| image | ebd565585223487526ddb3607f515... |             | 1       |
+-------+----------------------------------+-------------+---------+

lxc storage volume list ssdpool

+-----------+----------------------------------+-------------+---------+
|   TYPE    |            NAME                  | DESCRIPTION | USED BY |
+-----------+----------------------------------+-------------+---------+
| container | alp3                             |             | 1       |
+-----------+----------------------------------+-------------+---------+
| container | jupyter                          |             | 1       |
+-----------+----------------------------------+-------------+---------+
| image     | ebd565585223487526ddb3607f515... |             | 1       |
+-----------+----------------------------------+-------------+---------+

Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ°, Π°ΠΊΠΎ Π·Π° 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 Π½Π° Π½ΠΎΠ²ΠΎΡ‚ΠΎ loop устройство (ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 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 ΠΊΠ°Ρ‚ΠΎ посочим стойността ΠΊΠ°Ρ‚ΠΎ Π±Π»ΠΎΠΊΠΎΠ²ΠΎ устройство вмСсто ΠΏΡŠΡ‚Ρ Π΄ΠΎ loopback Ρ„Π°ΠΉΠ»Π°, посочвайки Ρ‚ΠΎΠ²Π° Π² ΠΊΠ»ΡŽΡ‡Π° ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ.

И Ρ‚Π°ΠΊΠ°, ΠΏΡ€Π΅Π΄ΠΈ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ 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 status 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).

ΠžΡ‚ ΠΈΠ·Ρ…ΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° сС ΡƒΠ²Π΅Ρ€ΠΈΠΌ, Ρ‡Π΅ ΡΡ‚Π°Ρ‚ΡƒΡΡŠΡ‚ Π½Π° услугата Π΅ Ρ€Π°Π²Π΅Π½ Π½Π° active, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° нашия скрипт ΠΎΡ‚ Π΅Π΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡ΠΈ, Ρ‚ΠΎΠ²Π° Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ опцията 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 ΠΈ с Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ Π΄Π° създадСм Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π΅Π½ ΠΊΠΎΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€ (ΠΌΡ€Π΅ΠΆΠΎΠ² мост, bridge) с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° клиСнтската ΠΊΠΎΠΌΠ°Π½Π΄Π°.

Π‘Π»Π΅Π΄Π½Π°Ρ‚Π° схСма ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠ°ΠΊ ΠΊΠΎΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€ΡŠΡ‚ (ΠΌΡ€Π΅ΠΆΠΎΠ² мост, bridge) ΡΠ²ΡŠΡ€Π·Π²Π° хоста ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ Π² ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°:

Основни Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π½Π° LXD β€” систСми Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ Π² Linux

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

Π‘Π»Π΅Π΄Π½Π°Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° създава ΠΊΠΎΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€ с подсСт ΠΈ 10.0.5.0/24 IPv4 адрСс 10.0.5.1/24, ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π° ipv4.nat Π·Π° Π΄Π° ΠΌΠΎΠ³Π°Ρ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ Ρ‡Ρ€Π΅Π· хоста с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° NAT услугата:

lxc network create lxdbr0 ipv4.address=10.0.5.1/24 ipv4.nat=true ipv6.address=none

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ²Π°ΠΌΠ΅ списъка с ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ устройства, Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ Π·Π° LXD:

lxc network list

+--------+----------+---------+-------------+---------+
|  NAME  |   TYPE   | MANAGED | DESCRIPTION | USED BY |
+--------+----------+---------+-------------+---------+
| eno1   | physical | NO      |             | 0       |
+--------+----------+---------+-------------+---------+
| lxdbr0 | bridge   | YES     |             | 0       |
+--------+----------+---------+-------------+---------+

Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° сС ΡƒΠ²Π΅Ρ€ΠΈΡ‚Π΅ Π² ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΎ устройство с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° стандартния инструмСнт Π½Π° Linux дистрибуцията β€” ip link ΠΈΠ»ΠΈ ip addr:

ip addr

1: lo:  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 β€” систСми Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ Π² Linux

Π’ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² систСмата LXD са създадСни Ρ‚Ρ€ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»Π°: default, hddpool ΠΈ hostfs. Всички Ρ‚Ρ€ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»Π° са ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈ към ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠΌΠ° Π»ΠΎΠΊΠ°Π»Π½Π° конфигурация (сива Π·ΠΎΠ½Π°). ΠŸΡ€ΠΎΡ„ΠΈΠ»ΡŠΡ‚ default ΠΈΠΌΠ° устройство root с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ pool , Ρ‚ΠΎ Ρ‚Π°Π·ΠΈ функция Ρ‰Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π° сокСта с опцията ssdpool, Π½ΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° каскадния ΠΌΠΎΠ΄Π΅Π» Π½Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° конфигурация, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠΌ ΠΏΡ€ΠΎΡ„ΠΈΠ» Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, ΠΊΠΎΠΉΡ‚ΠΎ hddpool с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ pool замСства ΡΡŠΡ‰ΠΈΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ ΠΎΡ‚ ΠΏΡ€ΠΎΡ„ΠΈΠ»Π° default ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΡŠΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° конфигурация Π½Π° устройството root с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ pool Ρ€Π°Π²Π΅Π½ Π½Π° hddpool, Π° ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŠΡ‚ hostfs просто добавя Π½ΠΎΠ²ΠΎ устройство Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.

Π—Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ списъка с Π½Π°Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ, слуТи слСдната ΠΊΠΎΠΌΠ°Π½Π΄Π°:

lxc profile list

+---------+---------+
|  NAME   | USED BY |
+---------+---------+
| default | 1       |
+---------+---------+
| hddroot | 0       |
+---------+---------+
| ssdroot | 1       |
+---------+---------+

ПълСн списък Π½Π° Π½Π°Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΠΎΠ»ΡƒΡ‡ΠΈ, ΠΊΠ°Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ ΠΊΠ»ΡŽΡ‡Π° --help:

lxc profile --help

Description:
  Manage profiles

Usage:
  lxc profile [command]

Available Commands:
  add         Add profiles to instances
  assign      Assign sets of profiles to instances
  copy        Copy profiles
  create      Create profiles
  delete      Delete profiles
  device      Manage instance devices
  edit        Edit profile configurations as YAML
  get         Get values for profile configuration keys
  list        List profiles
  remove      Remove profiles from instances
  rename      Rename profiles
  set         Set profile configuration keys
  show        Show profile configurations
  unset       Unset profile configuration keys

Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΡ„ΠΈΠ»Π° ^

ΠŸΡ€ΠΎΡ„ΠΈΠ»ΡŠΡ‚ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π½Π° конфигурацията default няма конфигурация Π·Π° ΠΌΡ€Π΅ΠΆΠΎΠ²Π° ΠΊΠ°Ρ€Ρ‚Π° Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΈ всички новосъздадСни ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ нямат ΠΌΡ€Π΅ΠΆΠ°; Π·Π° тях Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС ΡΡŠΠ·Π΄Π°Π΄Π°Ρ‚ Π»ΠΎΠΊΠ°Π»Π½ΠΈ (ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ) ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ устройства с ΠΎΡ‚Π΄Π΅Π»Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π½ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° създадСм Π³Π»ΠΎΠ±Π°Π»Π½ΠΎ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΎ устройство Π² конфигурационния ΠΏΡ€ΠΎΡ„ΠΈΠ», ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ‰Π΅ сС сподСля ΠΌΠ΅ΠΆΠ΄Ρƒ всички ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ». По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ Π²Π΅Π΄Π½Π°Π³Π° слСд ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Π·Π° създаванС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, Ρ‚Π΅ Ρ‰Π΅ ΠΈΠΌΠ°Ρ‚ ΠΌΡ€Π΅ΠΆΠ° с Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚. Π’ Ρ‚ΠΎΠ·ΠΈ случай, няма ограничСния; Π²ΠΈΠ½Π°Π³ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎ-късно Π΄Π° създадСм Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΎ устройство, Π°ΠΊΠΎ възникнС нСобходимост.

Π‘Π»Π΅Π΄Π²Π°Ρ‰Π°Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ‰Π΅ Π΄ΠΎΠ±Π°Π²ΠΈ устройство Π² конфигурационния ΠΏΡ€ΠΎΡ„ΠΈΠ» eth0 Ρ‚ΠΈΠΏ nic ΡΠ²ΡŠΡ€Π·Π°Π½ΠΎ към ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° lxdbr0:

lxc profile device add default eth0 nic network=lxdbr0 name=eth0

Π’Π°ΠΆΠ½ΠΎ Π΅ Π΄Π° сС ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈ, Ρ‡Π΅ Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ…ΠΌΠ΅ устройство Π² конфигурационния ΠΏΡ€ΠΎΡ„ΠΈΠ», Π°ΠΊΠΎ бяхмС Π·Π°Π΄Π°Π»ΠΈ статичСн IP адрСс Π½Π° устройството, всички ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ ΠΏΡ€ΠΈΠ»Π°Π³Π°Ρ‚ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ», Ρ‰Π΅ сподСлят Π΅Π΄ΠΈΠ½ ΠΈ ΡΡŠΡ‰ IP адрСс. Ако Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС създадС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с ΠΎΡ‚Π΄Π΅Π»Π΅Π½ статичСн IP адрСс, Ρ‚ΠΎΠ³Π°Π²Π° трябва Π΄Π° сС създадС конфигурация Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΎΡ‚ΠΎ устройство Π½Π° Π½ΠΈΠ²ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ (Π»ΠΎΠΊΠ°Π»Π½Π° конфигурация) с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ Π·Π° IP адрСс, Π° Π½Π΅ Π½Π° Π½ΠΈΠ²ΠΎ ΠΏΡ€ΠΎΡ„ΠΈΠ».

НСка Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ ΠΏΡ€ΠΎΡ„ΠΈΠ»Π°:

lxc profile show default

config: {}
description: По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ LXD ΠΏΡ€ΠΎΡ„ΠΈΠ»
devices:
  eth0:
    name: eth0
    network: lxdbr0
    type: nic
  root:
    path: \/
    pool: ssdpool
    type: disk
name: default
used_by: []

Π’ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ» ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Π΅ Π·Π° всички новосъздадСни ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ създадСни Π΄Π²Π΅ устройства (devices):

  • eth0 β€” Устройство ΠΎΡ‚ Ρ‚ΠΈΠΏ nic ΡΠ²ΡŠΡ€Π·Π°Π½ΠΎ с ΠΊΠΎΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€ (ΠΌΡ€Π΅ΠΆΠΎΠ² мост) lxdbr0
  • root β€” Устройство ΠΎΡ‚ Ρ‚ΠΈΠΏ диск ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° хранилищния ΠΏΡƒΠ» ssdpool

БъздаванС Π½Π° Π½ΠΎΠ²ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ ^

Π—Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ ΠΎΡ‚ ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΎ създадСни Storage Pool ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, Ρ‰Π΅ създадСм ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π΅Π½ ΠΏΡ€ΠΎΡ„ΠΈΠ» ssdroot Π² ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ устройство ΠΎΡ‚ Ρ‚ΠΈΠΏ диск с Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½Π΅ / (root), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ΠΎ ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΎ създадСно Storage Pool β€” ssdpool:

lxc profile create ssdroot
lxc profile device add ssdroot root disk path=\/ pool=ssdpool

По аналогия, създавамС устройство ΠΎΡ‚ Ρ‚ΠΈΠΏ диск, Π½ΠΎ Π² Ρ‚ΠΎΠ·ΠΈ случай ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ΠΎ 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       | ДА     | НЕ     |
+-----------------+------------------------------------------+--------+--------+
| local (default) | unix://                                  | НЕ     | ДА     |
+-----------------+------------------------------------------+--------+--------+
| ubuntu          | https://cloud-images.ubuntu.com/releases | ДА     | ДА     |
+-----------------+------------------------------------------+--------+--------+
| ubuntu-daily    | https://cloud-images.ubuntu.com/daily    | ДА     | ДА     |
+-----------------+------------------------------------------+--------+--------+

НапримСр, Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈΡ‚Π΅ 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)          | Alpine 3.11 amd64 (20200220_13:00)   | x86_64       |
+------------------------------+--------------------------------------+--------------+
| alpine/3.11/arm64 (ΠΎΡ‰Π΅ 1)    | Alpine 3.11 arm64 (20200220_13:00)   | aarch64      |
+------------------------------+--------------------------------------+--------------+
| alpine/3.11/armhf (ΠΎΡ‰Π΅ 1)    | Alpine 3.11 armhf (20200220_13:00)   | armv7l       |
+------------------------------+--------------------------------------+--------------+
| alpine/3.11/i386 (ΠΎΡ‰Π΅ 1)     | Alpine 3.11 i386 (20200220_13:01)    | i686         |
+------------------------------+--------------------------------------+--------------+
| alpine/3.11/ppc64el (ΠΎΡ‰Π΅ 1)  | Alpine 3.11 ppc64el (20200220_13:00) | ppc64le      |
+------------------------------+--------------------------------------+--------------+
| alpine/3.11/s390x (ΠΎΡ‰Π΅ 1)    | Alpine 3.11 s390x (20200220_13:00)   | s390x        |
+------------------------------+--------------------------------------+--------------+

Π›ΠΎΠΊΠ°Π»Π΅Π½ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° изобраТСния ^

Π—Π° Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ с Сксплоатацията Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ ΠΎΠ±Ρ€Π°Π· ΠΎΡ‚ глобалния Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π² локалния. local:. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° локалният Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π΅ ΠΏΡ€Π°Π·Π΅Π½, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΠΎΡ‚Π²ΡŠΡ€Π΄ΠΈΠΌ с ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° lxc image list. Ако Π½Π΅ ΡƒΠΊΠ°ΠΆΠ΅Ρ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π·Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Ρ‰Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° локалният Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ β€” list lxc image list local:+-------+-------------+--------+-------------+--------------+------+------+ | ALIAS | FINGERPRINT | PUBLIC | DESCRIPTION | ARCHITECTURE | TYPE | SIZE | +-------+-------------+--------+-------------+--------------+------+------+ local:

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΎΠ±Ρ€Π°Π·ΠΈ Π² рСпозитория става с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° слСднитС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ:

lxc image

Команда
ОписаниС

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° псСвдоними Π½Π° ΠΎΠ±Ρ€Π°Π·ΠΈ alias
ΠšΠΎΠΏΠΈΡ€Π°Π½Π΅ Π½Π° ΠΎΠ±Ρ€Π°Π·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° псСвдоними Π½Π° ΠΎΠ±Ρ€Π°Π·ΠΈ copy
Π˜Π·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ Π½Π° ΠΎΠ±Ρ€Π°Π·ΠΈ

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° псСвдоними Π½Π° ΠΎΠ±Ρ€Π°Π·ΠΈ ΠΈΠ·Ρ‚Ρ€ΠΈΠΉ
Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° свойства Π½Π° ΠΎΠ±Ρ€Π°Π·Π°

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° псСвдоними Π½Π° ΠΎΠ±Ρ€Π°Π·ΠΈ edit
export

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° псСвдоними Π½Π° ΠΎΠ±Ρ€Π°Π·ΠΈ Експорт ΠΈ изтСглянС Π½Π° ΠΎΠ±Ρ€Π°Π·ΠΈ
Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΎΠ±Ρ€Π°Π·ΠΈ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Π½Π° ΠΎΠ±Ρ€Π°Π·ΠΈ

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° псСвдоними Π½Π° ΠΎΠ±Ρ€Π°Π·ΠΈ import
info

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° псСвдоними Π½Π° ΠΎΠ±Ρ€Π°Π·ΠΈ ПоказванС Π½Π° ΠΏΠΎΠ»Π΅Π·Π½Π° информация Π·Π° ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚Π΅
Бписък Π½Π° ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚Π΅

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° псСвдоними Π½Π° ΠΎΠ±Ρ€Π°Π·ΠΈ list
ОбновяванС Π½Π° ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚Π΅

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° псСвдоними Π½Π° ΠΎΠ±Ρ€Π°Π·ΠΈ refresh
show

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° псСвдоними Π½Π° ΠΎΠ±Ρ€Π°Π·ΠΈ ПоказванС Π½Π° свойства Π½Π° ΠΎΠ±Ρ€Π°Π·Π°
ΠšΠΎΠΏΠΈΡ€Π°ΠΌΠ΅ ΠΎΠ±Ρ€Π°Π· Π² локалния Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΎΡ‚ глобалния

lxc image copy images:alpine/3.11/amd64 local: --alias=alpine3ΠžΠ±Ρ€Π°Π·ΡŠΡ‚ бСшС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΊΠΎΠΏΠΈΡ€Π°Π½! images::

Π”Π° ΠΈΠ·Π²Π΅Π΄Π΅ΠΌ списък Π½Π° всички ΠΎΠ±Ρ€Π°Π·ΠΈ, Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π² локалния Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

lxc image -c lfdatsu list local:+---------+--------------+------------------------------------+--------------+ | ALIAS | FINGERPRINT | DESCRIPTION | ARCHITECTURE | +---------+--------------+------------------------------------+--------------+ | alpine3 | 73a3093d4a5c | Alpine 3.11 amd64 (20200220_13:00) | x86_64 | +---------+--------------+------------------------------------+--------------+ local::

ОсвСн интСрактивния Ρ€Π΅ΠΆΠΈΠΌ, LXD ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΈ Π½Π΅ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ Π·Π° настройка Π½Π° конфигурацията. Π’ΠΎΠ²Π° Π΅, ΠΊΠΎΠ³Π°Ρ‚ΠΎ конфигурацията сС Π·Π°Π΄Π°Π²Π° Ρ‡Ρ€Π΅Π· YAML Ρ„Π°ΠΉΠ», спСциалСн Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, ΠΊΠΎΠΉΡ‚ΠΎ позволява Π΄Π° сС Π·Π°Π΄Π°Π΄Π΅ цялата конфигурация навСднъТ, пропускайки ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, обсъдСни ΠΏΠΎ-Π³ΠΎΡ€Π΅ Π² статията, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ конфигурацията Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°, ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ Π·Π° конфигурация ΠΈ Ρ‚.Π½. Π’ΡƒΠΊ няма Π΄Π° Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ Ρ‚Π°Π·ΠΈ област, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ сами Π΄Π° сС Π·Π°ΠΏΠΎΠ·Π½Π°Π΅Ρ‚Π΅ с Ρ‚ΠΎΠ²Π°.

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ Π½Π° LXD ^

Π‘Π»Π΅Π΄Π²Π°Ρ‰Π°Ρ‚Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π² докумСнтацията.

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: ""

Π’ сСкцията ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° сС ΡƒΠ²Π΅Ρ€ΠΈΠΌ, Ρ‡Π΅ Ρ‚ΠΎΠ·ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΄Π²Π° ΠΏΡ€ΠΎΡ„ΠΈΠ»Π° Π½Π° конфигурация β€” default ΠΈ hddroot. Π’ сСкцията устройства ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ΅ΠΌ само Π΅Π΄Π½ΠΎ устройство, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΎΡ‚ΠΎ устройство бСшС създадСно Π½Π° Π½ΠΈΠ²ΠΎ ΠΏΡ€ΠΎΡ„ΠΈΠ» defaultΠ—Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ всички устройства, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΎΡ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, трябва Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ ΠΊΠ»ΡŽΡ‡Π° --Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΎ:

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: 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
устройства:
  eth0:
    ΠΈΠΌΠ΅: eth0
    ΠΌΡ€Π΅ΠΆΠ°: lxdbr0
    Ρ‚ΠΈΠΏ: nic
  root:
    ΠΏΡŠΡ‚: /\
    ΠΏΡƒΠ»: hddpool
    Ρ‚ΠΈΠΏ: диск
Π΅ΠΏΡ…Π΅ΠΌΠ΅Ρ€Π°Π»Π½ΠΎ: false
ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ:
- default
- hddroot
ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅: false
описаниС: ""

Настройка Π½Π° статичСн IP адрСс ^

Ако сС ΠΎΠΏΠΈΡ‚Π°ΠΌΠ΅ Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΠΌ IP адрСс Π·Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΎΡ‚ΠΎ устройство eth0 ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° lxc config device set alp ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Ρ‰Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π³Ρ€Π΅ΡˆΠΊΠ°, която Ρ‰Π΅ ΡƒΠ²Π΅Π΄ΠΎΠΌΠΈ, Ρ‡Π΅ устройството Π½Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°, Π·Π°Ρ‰ΠΎΡ‚ΠΎ устройството eth0 ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈ Π½Π° ΠΏΡ€ΠΎΡ„ΠΈΠ»Π° default:

lxc config device set alp eth0 ipv4.address 10.0.5.5

Π“Ρ€Π΅ΡˆΠΊΠ°: Устройството Π½Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°

МоТСм Ρ€Π°Π·Π±ΠΈΡ€Π° сС Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΠΌ статичСн IP адрСс Π·Π° eth0 устройството Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»Π°, Π½ΠΎ Ρ‚ΠΎΠΉ Ρ‰Π΅ бъдС Π΅Π΄ΠΈΠ½ Π·Π° всички ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ». Π—Π°Ρ‚ΠΎΠ²Π°, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ посвСтСно устройство Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°:

lxc config device add alp eth0 nic name=eth0 nictype=bridged parent=lxdbr0 ipv4.address=10.0.5.5

Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° трябва Π΄Π° рСстартирамС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°:

lxc restart alp

Ако сСга ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌ конфигурацията Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Π½Π΅ Π½ΠΈ трябва Π΄Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°ΠΌΠ΅ опцията --Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΎ Π·Π° Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΎΡ‚ΠΎ устройство eth0, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π³ΠΎ ΡΡŠΠ·Π΄Π°Π΄ΠΎΡ…ΠΌΠ΅ Π½Π° Π½ΠΈΠ²ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΈ Ρ‚ΠΎ каскадно замСства ΡΡŠΡ‰ΠΎΡ‚ΠΎ устройство ΠΎΡ‚ ΠΏΡ€ΠΎΡ„ΠΈΠ»Π° default:

lxc config show alp

architecture: x86_64
config:
  image.architecture: amd64
  image.description: Alpine 3.11 amd64 (20200326_13:39)
  image.os: Alpine
  image.release: "3.11"
  image.serial: "20200326_13:39"
  image.type: squashfs
  volatile.base_image: ebd565585223487526ddb3607f5156e875c15a89e21b61ef004132196da6a0a3
  volatile.eth0.host_name: veth2a1dc59d
  volatile.eth0.hwaddr: 00:16:3e:0e:e2:71
  volatile.idmap.base: "0"
  volatile.idmap.current: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":65536}]'
  volatile.idmap.next: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":65536}]'
  volatile.last_state.idmap: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":65536}]'
  volatile.last_state.power: RUNNING
devices:
  eth0:
    ipv4.address: 10.0.5.5
    name: eth0
    nictype: bridged
    parent: lxdbr0
    type: nic
  root:
    path: \/
    pool: hddpool
    type: disk
ephemeral: false
profiles:
- default
- hddroot
stateful: false
description: ""

Π˜Π·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ^

ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Π·Π° ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π΅ lxc delete, Π½ΠΎ ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° ΠΈΠ·Ρ‚Ρ€ΠΈΠ΅Ρ‚Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Ρ‚ΠΎΠΉ трябва Π΄Π° бъдС спрян с ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° lxc stop:

lxc stop alp

lxc list

+------+---------+-------------------+------+-----------+-----------+
| NAME |  STATE  |       IPV4        | IPV6 |   TYPE    | SNAPSHOTS |
+------+---------+-------------------+------+-----------+-----------+
| alp  | STOPPED | 10.0.5.10 (eth0)  |      | CONTAINER | 0         |
+------+---------+-------------------+------+-----------+-----------+

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ сС ΡƒΠ²Π΅Ρ€ΠΈΠΌ, Ρ‡Π΅ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π΅ STOPPED, Ρ‚ΠΎΠΉ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΈΠ·Ρ‚Ρ€ΠΈΡ‚ ΠΎΡ‚ Storage Pool:

lxc delete alp

Π”ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ^

ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Π·Π° изпълнСниС Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ, Π±Π΅Π· ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈ, Π΅ lxc exec , която изпълнява ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π±Π΅Π· Π΄Π° стартира систСмна ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°. Ако искатС Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π² ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ шаблони Π½Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°, ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, прСнасочвания Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ (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

architecture: x86_64
config:
  image.architecture: amd64
  image.description: Alpine 3.11 amd64 (20200220_13:00)
  image.os: Alpine
  image.release: "3.11"
  image.serial: "20200220_13:00"
  image.type: squashfs
  limits.memory: 256MB
  volatile.base_image: 73a3093d4a5ce0148fd84b95369b3fbecd19a537ddfd2e2d20caa2eef0e8fd60
  volatile.eth0.host_name: veth75b6df07
  volatile.eth0.hwaddr: 00:16:3e:a1:e7:46
  volatile.idmap.base: "0"
  volatile.idmap.current: '[]'
  volatile.idmap.next: '[]'
  volatile.last_state.idmap: '[]'
  volatile.last_state.power: RUNNING
devices: {}
ephemeral: false
profiles:
- default
stateful: false
description: ""

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° рСсурситС Π½Π° CPU (ЦП) ^

Π—Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° рСсурситС Π½Π° CPU ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚ няколко Ρ‚ΠΈΠΏΠ° ограничСния:

  • limit.cpu β€” ΡΠ²ΡŠΡ€Π·Π²Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° с Π΅Π΄Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ядра Π½Π° CPU
  • limits.cpu.allowance β€” управлява ΠΈΠ»ΠΈ ΠΊΠ²ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π° ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊΠ° CFS, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π΅ достигнато, ΠΈΠ»ΠΈ унивСрсалния ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° сподСлянС Π½Π° рСсурситС Π½Π° CPU, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π΅ достигната ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π½Π° стойност
  • limits.cpu.priority β€” ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π½Π° ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊΠ°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π·Π° няколко инстанции, сподСлящи Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ процСсори, Π΅ Π·Π°Π΄Π°Π΄Π΅Π½ Сднакъв ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ Π½Π° процСсоритС

lxc config set alp limits.cpu.allowance 40%

lxc config show alp

architecture: x86_64
config:
  image.architecture: amd64
  image.description: Alpine 3.11 amd64 (20200220_13:00)
  image.os: Alpine
  image.release: "3.11"
  image.serial: "20200220_13:00"
  image.type: squashfs
  limits.cpu.allowance: 40%
  limits.memory: 256MB
  volatile.base_image: 73a3093d4a5ce0148fd84b95369b3fbecd19a537ddfd2e2d20caa2eef0e8fd60
  volatile.eth0.host_name: veth75b6df07
  volatile.eth0.hwaddr: 00:16:3e:a1:e7:46
  volatile.idmap.base: "0"
  volatile.idmap.current: '[]'
  volatile.idmap.next: '[]'
  volatile.last_state.idmap: '[]'
  volatile.last_state.power: RUNNING
devices: {}
ephemeral: false
profiles:
- default
stateful: false
description: ""

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° дисковото пространство ^

ОсвСн ограничСния ΠΊΠ°Ρ‚ΠΎ limits.read, limits.write ΠΌΠΎΠΆΠ΅ΠΌ ΡΡŠΡ‰ΠΎ Π΄Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠΌ ΠΎΠ±Π΅ΠΌΠ° Π½Π° дисковото пространство, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΎ ΠΎΡ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° (Ρ€Π°Π±ΠΎΡ‚ΠΈ само с ZFS ΠΈΠ»ΠΈ BTRFS):

lxc config device set alp root size=2GB

Π‘Π»Π΅Π΄ настройката, Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° devices.root.size ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° сС ΡƒΠ²Π΅Ρ€ΠΈΠΌ Π² Π·Π°Π΄Π°Π΄Π΅Π½ΠΎΡ‚ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅:

lxc config show alp
...
devices:
  root:
    path: \/
    pool: hddpool
    size: 2GB
    type: disk
ephemeral: false
profiles:
- default
- hddroot
stateful: false
description: ""

Π—Π° Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡ‚Π΅ ΠΊΠ²ΠΎΡ‚ΠΈ Π·Π° диск, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ информация с ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° lxc info:

lxc info alp
...
Resources:
  Processes: 5
  Disk usage:
    root: 1.05GB
  CPU usage:
    CPU usage (in seconds): 1
  Memory usage:
    Memory (current): 5.46MB
  Network usage:
    eth0:
      Bytes received: 802B
      Bytes sent: 1.59kB
      Packets received: 4
      Packets sent: 14
    lo:
      Bytes received: 0B
      Bytes sent: 0B
      Packets received: 0
      Packets sent: 0

Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ Π·Π°Π΄Π°Π΄ΠΎΡ…ΠΌΠ΅ Π»ΠΈΠΌΠΈΡ‚ ΠΎΡ‚ 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 няма ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ list, Π·Π°Ρ‚ΠΎΠ²Π°, Π·Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ списъка със снимки, трябва Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°, която ΠΈΠ·Π²Π΅ΠΆΠ΄Π° ΠΎΠ±Ρ‰Π°Ρ‚Π° информация Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°:

lxc info alp
...
...
Π‘Π½ΠΈΠΌΠΊΠΈ:
  snapshot1 (сдСлан 2020/04/08 18:18 UTC) (Π±Π΅Π· состояния)

Π’ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΎΡ‚ снимка ΠΌΠΎΠΆΠ΅ Π΄Π° станС с ΠΊΠΎΠΌΠ°Π½Π΄Π° lxc restore , посочвайки ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Π·Π° ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈ Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅Ρ‚ΠΎ, ΠΈ псСвдонима Π½Π° снимката:

lxc restore alp snapshot1

Π‘Π»Π΅Π΄Π²Π°Ρ‰Π°Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° слуТи Π·Π° ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ Π½Π° снимка. ΠžΠ±ΡŠΡ€Π½Π΅Ρ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Π΅ ΡΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡΡŠΡ‚ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ ΠΎΡ‚ всички останали, Ρ‚ΡƒΠΊ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡƒΠΊΠ°ΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΊΠ»ΠΎΠ½Π΅Π½Π° Ρ‡Π΅Ρ€Ρ‚Π° слСд ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. Ако пропуснСтС Ρ‡Π΅Ρ€Ρ‚Π°Ρ‚Π°, ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Π·Π° ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ Π½Π° снимка Ρ‰Π΅ сС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€Π° ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π° ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°!

lxc delete alp/snapshot1

Π’ горния ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π·Π³Π»Π΅Π΄Π°Ρ…ΠΌΠ΅ Ρ‚Π°ΠΊΠ° Π½Π°Ρ€Π΅Ρ‡Π΅Π½ΠΈΡ‚Π΅ Π±Π΅Π·ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ΡΠ½ΠΈΠΌΠΊΠΈ. Π’ LXD ΠΈΠΌΠ° ΠΈ Π΄Ρ€ΡƒΠ³ Ρ‚ΠΈΠΏ снимки β€” със ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅, Π² ΠΊΠΎΠΈΡ‚ΠΎ сС Π·Π°ΠΏΠ°Π·Π²Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° всички процСси Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. Π‘Π²ΡŠΡ€Π·Π°Π½ΠΈ са с Ρ€Π΅Π΄ΠΈΡ†Π° интСрСсни ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Какво ΠΎΡ‰Π΅? ^

  • Π—Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π½Π° Python Π΅ Π½Π°Π»ΠΈΡ‡Π΅Π½ ΠΌΠΎΠ΄ΡƒΠ» PyLXD , ΠΊΠΎΠΉΡ‚ΠΎ прСдоставя API Π·Π° LXD

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

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

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