Основни характСристики Π½Π° 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 ΠΈΠΌΠ° ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ‚:

apt search lxd

lxd/eoan 1:0.7 all
  Transitional package - lxd -> snap (lxd)

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

НамСрСтС ΠΏΠ°ΠΊΠ΅Ρ‚ lxd Π² snap Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ слСдната ΠΊΠΎΠΌΠ°Π½Π΄Π°:

snap find lxd

Name             Version        Summary
lxd              3.21           System container manager and API
lxd-demo-server  0+git.6d54658  Online software demo sessions using LXD
nova             ocata          OpenStack Compute Service (nova)
nova-hypervisor  ocata          OpenStack Compute Service - KVM Hypervisor (nova)
distrobuilder    1.0            Image builder for LXC and LXD
fabrica          0.1            Build snaps by simply pointing a web form to...
satellite        0.1.2          Advanced scalable Open source intelligence platform

Π§Ρ€Π΅Π· изпълнСниС Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° list ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° сС ΡƒΠ²Π΅Ρ€ΠΈΡ‚Π΅, Ρ‡Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΡŠΡ‚ lxd всС ΠΎΡ‰Π΅ Π½Π΅ Π΅ инсталирано:

snap list

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

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

sudo apt update
sudo apt install lxd

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

snap list

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

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

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

sudo pacman -Syyu && sudo pacman -S lxd

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

sudo usermod -a -G lxd user1

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

id -Gn user1

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

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

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

sudo systemctl enable lxd

Π”Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ услугата:

sudo systemctl start lxd

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° услугата:

sudo systemctl status lxd

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

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

Π‘ΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ (Π‘ΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅) сС ΡΡŠΡΡ‚ΠΎΠΈ ΠΎΡ‚ ΠΎΡ‚ Π΅Π΄ΠΈΠ½ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ БасСйн Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΅Π΄Π½Π° ΠΎΡ‚ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈ систСми ΠΊΠ°Ρ‚ΠΎ ZFS, BTRFS, LVM ΠΈΠ»ΠΈ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ. ВсСки БасСйн Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ Π½Π° Ρ‚ΠΎΠΌΠΎΠ²Π΅ (ОбСм Π½Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅), ΠΊΠΎΠΈΡ‚ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‚ изобраТСния, ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΈΠ»ΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈ Ρ†Π΅Π»ΠΈ.

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

Основни характСристики Π½Π° LXD - Linux ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½ΠΈ систСми

Π—Π° Π΄Π° управляватС ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π² LXD, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° lxc storage сСртификат, Π·Π° ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅, ΠΊΠ°Ρ‚ΠΎ посочитС ΠΊΠ»ΡŽΡ‡Π° - lxc storage --help

Π‘Π»Π΅Π΄Π²Π°Ρ‰Π°Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠΊΠ°Π·Π²Π° списък с всички БасСйн Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π² LXD Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅:

lxc storage list

+---------+-------------+--------+--------------------------------+---------+
|  NAME   | DESCRIPTION | DRIVER |             SOURCE             | USED BY |
+---------+-------------+--------+--------------------------------+---------+
| hddpool |             | btrfs  | /dev/loop1                     | 2       |
+---------+-------------+--------+--------------------------------+---------+
| ssdpool |             | btrfs  | /var/lib/lxd/disks/ssdpool.img | 4       |
+---------+-------------+--------+--------------------------------+---------+

Π—Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ списък с всички ОбСм Π½Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π² ΠΈΠ·Π±Ρ€Π°Π½ΠΎΡ‚ΠΎ БасСйн Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ слуТи Π½Π° ΠΎΡ‚Π±ΠΎΡ€Π° lxc storage volume list:

lxc storage volume list hddpool

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

lxc storage volume list ssdpool

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

ОсвСн Ρ‚ΠΎΠ²Π°, Π°ΠΊΠΎ Π·Π° БасСйн Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠŸΡ€ΠΈ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π΅ ΠΈΠ·Π±Ρ€Π°Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма BTRFS, слСд ΠΊΠΎΠ΅Ρ‚ΠΎ Π²Π·Π΅ΠΌΠ΅Ρ‚Π΅ списък ОбСм Π½Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΡƒΠ±ΠΎΠ²Π΅ Π² интСрпрСтацията Π½Π° BTRFS ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ инструмСнтариума Π½Π° Ρ‚Π°Π·ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма:

sudo btrfs subvolume list -p /var/lib/lxd/storage-pools/hddpool

ID 257 gen 818 parent 5 top level 5 path images/ebd565585223487526ddb3607f5156e875c15a89e21b61ef004132196da6a0a3

sudo btrfs subvolume list -p /var/lib/lxd/storage-pools/ssdpool

ID 257 gen 1820 parent 5 top level 5 path images/ebd565585223487526ddb3607f5156e875c15a89e21b61ef004132196da6a0a3
ID 260 gen 1819 parent 5 top level 5 path containers/jupyter
ID 263 gen 1820 parent 5 top level 5 path containers/alp3

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° LXD ^

ΠŸΡ€Π΅Π΄ΠΈ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, трябва Π΄Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈΡ‚Π΅ ΠΎΠ±Ρ‰Π° LXD инициализация, която създава ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° ΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ. Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ Ρ€ΡŠΡ‡Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° стандартни клиСнтски ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са Π½Π°Π»ΠΈΡ‡Π½ΠΈ Π² списъка Ρ‡Ρ€Π΅Π· ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° lxc --help ΠΈΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΡΡŠΠ²Π΅Ρ‚Π½ΠΈΠΊΠ° Π·Π° инициализация lxd init отговаряйки Π½Π° няколко Π²ΡŠΠΏΡ€ΠΎΡΠ°.

Π˜Π·Π±ΠΎΡ€ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма Π·Π° Storage Pool ^

По Π²Ρ€Π΅ΠΌΠ΅ Π½Π° инициализацията LXD Π·Π°Π΄Π°Π²Π° няколко Π²ΡŠΠΏΡ€ΠΎΡΠ°, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ опрСдСлянС Π½Π° Ρ‚ΠΈΠΏΠ° Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ БасСйн Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅. По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π·Π° Π½Π΅Π³ΠΎ Π΅ ΠΈΠ·Π±Ρ€Π°Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма BTRFS. Π©Π΅ бъдС нСвъзмоТно Π΄Π° сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ FS слСд ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ. ΠŸΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π° сС Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ FS Ρ‚Π°Π±Π»ΠΈΡ†Π° Π·Π° сравнСниС Π½Π° характСристикитС:

ΠžΡΠΎΠ±Π΅Π½ΠΎΡΡ‚
ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»
Btrfs
LVM
ZFS
CEPH

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ΠΎ ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° изобраТСния
НС.
Π΄Π°
Π΄Π°
Π΄Π°
Π΄Π°

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ΠΎ създаванС Π½Π° инстанция
НС.
Π΄Π°
Π΄Π°
Π΄Π°
Π΄Π°

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ΠΎ създаванС Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½Π° снимка
НС.
Π΄Π°
Π΄Π°
Π΄Π°
Π΄Π°

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ΠΎ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅ Π½Π° изобраТСния
НС.
Π΄Π°
НС.
Π΄Π°
Π΄Π°

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ΠΎ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅ Π½Π° СкзСмпляри
НС.
Π΄Π°
НС.
Π΄Π°
Π΄Π°

ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ ΠΏΡ€ΠΈ запис
НС.
Π΄Π°
Π΄Π°
Π΄Π°
Π΄Π°

Π‘Π°Π·ΠΈΡ€Π°Π½ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅
НС.
НС.
Π΄Π°
НС.
Π΄Π°

НСзабавно ΠΊΠ»ΠΎΠ½ΠΈΡ€Π°Π½Π΅
НС.
Π΄Π°
Π΄Π°
Π΄Π°
Π΄Π°

Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π΅ΠΌ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€
Π΄Π°
Π΄Π°
НС.
НС.
НС.

Π’ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ ΠΎΡ‚ ΠΏΠΎ-стари ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½ΠΈ снимки (Π½Π΅ Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡ‚Π΅)
Π΄Π°
Π΄Π°
Π΄Π°
НС.
Π΄Π°

ΠšΠ²ΠΎΡ‚ΠΈ Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅
Π΄Π°(*)
Π΄Π°
Π΄Π°
Π΄Π°
НС.

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° ΠΈ ΠΏΡƒΠ»Π° Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΡΡŠΠ²Π΅Ρ‚Π½ΠΈΠΊΠ° ^

Π‘Π»Π΅Π΄Π²Π°Ρ‰Π°Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°, която Ρ‰Π΅ Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅, ΠΏΡ€Π΅Π΄Π»Π°Π³Π° настройка Π½Π° основнитС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π½Π° LXD Ρ‡Ρ€Π΅Π· отговарянС Π½Π° прости Π²ΡŠΠΏΡ€ΠΎΡΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΡΡŠΠ²Π΅Ρ‚Π½ΠΈΠΊΠ° Π·Π° инициализация.

Изпълни ΠΊΠΎΠΌΠ°Π½Π΄Π° lxc init ΠΈ Π²ΡŠΠ²Π΅Π΄Π΅Ρ‚Π΅ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅ Π½Π° Π²ΡŠΠΏΡ€ΠΎΡΠΈΡ‚Π΅ слСд Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠ°ΠΊΡ‚ΠΎ Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ, ΠΈΠ»ΠΈ Π³ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Ρ‚Π΅ спорСд Π²Π°ΡˆΠΈΡ‚Π΅ условия:

lxd init

Would you like to use LXD clustering? (yes/no) [default=no]: 
Do you want to configure a new storage pool? (yes/no) [default=yes]: 
Name of the new storage pool [default=default]: ssdpool         
Name of the storage backend to use (lvm, btrfs, dir) [default=btrfs]: 
Create a new BTRFS pool? (yes/no) [default=yes]: 
Would you like to use an existing block device? (yes/no) [default=no]: 
Size in GB of the new loop device (1GB minimum) [default=15GB]: 10GB
Would you like to connect to a MAAS server? (yes/no) [default=no]: 
Would you like to create a new local network bridge? (yes/no) [default=yes]: 
What should the new bridge be called? [default=lxdbr0]: 
What IPv4 address should be used? (CIDR subnet notation, β€œauto” or β€œnone”) [default=auto]: 10.0.5.1/24
Would you like LXD to NAT IPv4 traffic on your bridge? [default=yes]: 
What IPv6 address should be used? (CIDR subnet notation, β€œauto” or β€œnone”) [default=auto]: none
Would you like LXD to be available over the network? (yes/no) [default=no]: 
Would you like stale cached images to be updated automatically? (yes/no) [default=yes] no
Would you like a YAML "lxd init" preseed to be printed? (yes/no) [default=no]: 

БъздаванС Π½Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π΅Π½ ΠΏΡƒΠ» Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ^

Π’ ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π°Ρ‚Π° ΡΡ‚ΡŠΠΏΠΊΠ°, която ΡΡŠΠ·Π΄Π°Π΄ΠΎΡ…ΠΌΠ΅ БасСйн Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ Π΄Π°Π΄Π΅Π½ΠΎ ΠΈΠΌΠ΅Ρ‚ΠΎ ssdpool ΠΈ Ρ‡ΠΈΠΉΡ‚ΠΎ Ρ„Π°ΠΉΠ» сС Π½Π°ΠΌΠΈΡ€Π° Π² моята систСма Π½Π° адрСс /var/lib/lxd/disks/ssdpool.img. Π’ΠΎΠ·ΠΈ адрСс Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π° Π½Π° физичСското SSD устройство Π² моя ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€.

Π‘Π»Π΅Π΄Π½ΠΈΡ‚Π΅ дСйствия, Π·Π° Π΄Π° сС Ρ€Π°Π·ΡˆΠΈΡ€ΠΈ Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ролята, която ΠΈΠ³Ρ€Π°Π΅ БасСйн Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Ρ‰Π΅ създадСм Π²Ρ‚ΠΎΡ€ΠΎ БасСйн Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ бъдС физичСски Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ Ρ‚ΠΈΠΏ диск, HDD. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π΅, Ρ‡Π΅ LXD Π½Π΅ Π²ΠΈ позволява Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ БасСйн Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ извън адрСса /var/lib/lxd/disks/ ΠΈ Π΄ΠΎΡ€ΠΈ символнитС Π²Ρ€ΡŠΠ·ΠΊΠΈ няма Π΄Π° работят, Π²ΠΈΠΆΡ‚Π΅ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π° Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. МоТСм Π΄Π° Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΠΈΠΌ Ρ‚ΠΎΠ²Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° инициализация/Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Π½Π΅ БасСйн Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°Ρ‚ΠΎ посочитС стойността ΠΊΠ°Ρ‚ΠΎ Π±Π»ΠΎΠΊΠΎΠ²ΠΎ устройство вмСсто ΠΏΡŠΡ‚Ρ към Ρ„Π°ΠΉΠ»Π° Π·Π° ΠΎΠ±Ρ€Π°Ρ‚Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ°, ΠΊΠ°Ρ‚ΠΎ посочитС Ρ‚ΠΎΠ²Π° Π² ΠΊΠ»ΡŽΡ‡Π° source.

Π’Π°ΠΊΠ° Ρ‡Π΅, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ БасСйн Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ трябва Π΄Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Ρ‚Π΅ loopback Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ дял Π½Π° Π²Π°ΡˆΠ°Ρ‚Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°. Π—Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ Ρ‚ΠΎΠ²Π°, Ρ‰Π΅ създадСм ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Ρ„Π°ΠΉΠ», Ρ‡ΠΈΠΉΡ‚ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ‰Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠΌ Π΄ΠΎ 10 GB:

dd if=/dev/zero of=/mnt/work/lxd/hddpool.img bs=1MB count=10000

10000+0 records in
10000+0 records out
10000000000 bytes (10 GB, 9,3 GiB) copied, 38,4414 s, 260 MB/s

НСка ΡΠ²ΡŠΡ€ΠΆΠ΅ΠΌ loopback Ρ„Π°ΠΉΠ»Π° към Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π½ΠΎ устройство Π·Π° 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 ΠΊΠΎΠ΅Ρ‚ΠΎ ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π° Π½Π° ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ БасСйн Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅.

Π‘Π»Π΅Π΄Π²Π°Ρ‰Π°Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° създава Π½ΠΎΠ²Π° БасСйн Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π² LXD въз основа Π½Π° loopback Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‚ΠΎΠΊΡƒ-Ρ‰ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²ΠΈΡ…ΠΌΠ΅. LXD Ρ‰Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π° loopback Ρ„Π°ΠΉΠ»Π° /mnt/work/lxd/hddpool.img Π² устройството /dev/loop1 Π·Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма BTRFS:

lxc storage create hddpool btrfs size=10GB source=/dev/loop1

НСка ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ списък с всички БасСйн Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ към Π΅ΠΊΡ€Π°Π½Π°:

lxc storage list

+---------+-------------+--------+--------------------------------+---------+
|  NAME   | DESCRIPTION | DRIVER |             SOURCE             | USED BY |
+---------+-------------+--------+--------------------------------+---------+
| hddpool |             | btrfs  | /dev/loop1                     | 0       |
+---------+-------------+--------+--------------------------------+---------+
| ssdpool |             | btrfs  | /var/lib/lxd/disks/ssdpool.img | 0       |
+---------+-------------+--------+--------------------------------+---------+

Π£Π²Π΅Π»ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° ΠΏΡƒΠ»Π° Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ^

Π‘Π»Π΅Π΄ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ БасСйн Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅, ΠΏΡ€ΠΈ нСобходимост ΠΌΠΎΠΆΠ΅ Π΄Π° сС Ρ€Π°Π·ΡˆΠΈΡ€ΠΈ. Π—Π° БасСйн Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ въз основа Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма BTRFS, ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Ρ‚Π΅ слСднитС ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ:

sudo truncate -s +5G /mnt/work/lxd/hddpool.img
sudo losetup -c /dev/loop1
sudo btrfs filesystem resize max /var/lib/lxd/storage-pools/hddpool

Автоматично вмъкванС Π½Π° loopback Ρ„Π°ΠΉΠ» Π² слот Π·Π° loopback устройство ^

ИмамС Π΅Π΄ΠΈΠ½ малък ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΏΡ€ΠΈ рСстартиранС Π½Π° хост систСмата, Ρ„Π°ΠΉΠ»ΡŠΡ‚ /mnt/work/lxd/hddpool.img Ρ‰Π΅ "ΠΈΠ·Π»Π΅Ρ‚ΠΈ" ΠΎΡ‚ устройството /dev/loop1 ΠΈ услугата LXD Ρ‰Π΅ сС сринС ΠΏΡ€ΠΈ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅, Π·Π°Ρ‰ΠΎΡ‚ΠΎ няма Π΄Π° я Π²ΠΈΠ΄ΠΈ Π² Ρ‚ΠΎΠ²Π° устройство. Π—Π° Π΄Π° Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚Π΅ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, трябва Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ систСмна услуга, която Ρ‰Π΅ вмъкнС Ρ‚ΠΎΠ·ΠΈ Ρ„Π°ΠΉΠ» Π² устройството /dev/loop1 ΠΊΠΎΠ³Π°Ρ‚ΠΎ хост систСмата сС стартира.

Π”Π° Ρ‚Π²ΠΎΡ€ΠΈΠΌ Π΅Π΄ΠΈΠ½ΠΈΡ†Π° Ρ‚ΠΈΠΏ Ρ„Π°ΠΉΠ» обслуТванС Π² /etc/systemd/system/ Π·Π° систСмата Π·Π° инициализация Π½Π° SystemD:

cat << EOF | sudo tee -a /etc/systemd/system/lxd-hddpool.service
[Unit]
Description=Losetup LXD Storage Pool (hddpool)
After=local-fs.target

[Service]
Type=oneshot
ExecStart=/sbin/losetup /dev/loop1 /mnt/work/lxd/hddpool.img
RemainAfterExit=true

[Install]
WantedBy=local-fs.target
EOF

АктивирайтС услугата:

sudo systemctl enable lxd-hddpool

Created symlink /etc/systemd/system/local-fs.target.wants/lxd-hddpool.service β†’ /etc/systemd/system/lxd-hddpool.service.

Π‘Π»Π΅Π΄ рСстартиранС Π½Π° хост систСмата провСрявамС ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° услугата:

systemctl status lxd-hddpool.service 

● lxd-hddpool.service - Losetup LXD Storage Pool (hddpool)
     Loaded: loaded (/etc/systemd/system/lxd-hddpool.service; enabled; vendor preset: disabled)
     Active: active (exited) since Wed 2020-04-08 03:43:53 MSK; 1min 37s ago
    Process: 711 ExecStart=/sbin/losetup /dev/loop1 /mnt/work/lxd/hddpool.img (code=exited, status=0/SUCCESS)
   Main PID: 711 (code=exited, status=0/SUCCESS)

Π°ΠΏΡ€ 08 03:43:52 manjaro systemd[1]: Starting Losetup LXD Storage Pool (hddpool)...
Π°ΠΏΡ€ 08 03:43:53 manjaro systemd[1]: Finished Losetup LXD Storage Pool (hddpool).

ΠžΡ‚ ΠΈΠ·Ρ…ΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ Π΄Π°Π»ΠΈ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° услугата Π΅ Π°ΠΊΡ‚ΠΈΠ²Π΅Π½, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° нашия скрипт ΠΎΡ‚ Π΅Π΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° бСшС Π·Π°Π²ΡŠΡ€ΡˆΠ΅Π½ΠΎ, опцията Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ Ρ‚ΠΎΠ²Π° RemainAfterExit=true.

БСзопасност. ΠŸΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ^

Въй ΠΊΠ°Ρ‚ΠΎ всички ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½ΠΈ процСси дСйствитСлно сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΎ Π² хост систСмата, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π½Π΅ΠΉΠ½ΠΎΡ‚ΠΎ ядро, Π·Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π° Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ° Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½ΠΈ процСси Π΄ΠΎ хост систСмата, LXD ΠΏΡ€Π΅Π΄Π»Π°Π³Π° привилСгия Π½Π° процСса, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ:

  • ΠŸΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ - Ρ‚ΠΎΠ²Π° са ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, Π² ΠΊΠΎΠΈΡ‚ΠΎ процСси с UID ΠΈ GID ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π°Ρ‚ Π½Π° ΡΡŠΡ‰ΠΈΡ собствСник ΠΊΠ°Ρ‚ΠΎ Π½Π° хост систСмата. НапримСр, процСс, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с UID 0, ΠΈΠΌΠ° всички ΡΡŠΡ‰ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²Π° Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ ΠΊΠ°Ρ‚ΠΎ процСс Π² хост систСмата с UID 0. Π‘ Π΄Ρ€ΡƒΠ³ΠΈ Π΄ΡƒΠΌΠΈ, root потрСбитСлят Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΈΠΌΠ° всички ΠΏΡ€Π°Π²Π° Π½Π΅ само Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Π½ΠΎ ΡΡŠΡ‰ΠΎ ΠΈ Π½Π° хост систСмата, Π°ΠΊΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π»Π΅Π·Π΅ извън ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΎΡ‚ΠΎ пространство Π½Π° ΠΈΠΌΠ΅Π½Π°Ρ‚Π° Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.

  • НСпривилСгировани ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ - Ρ‚ΠΎΠ²Π° са ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, Π² ΠΊΠΎΠΈΡ‚ΠΎ процСситС ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ Π½Π° собствСника Π½Π° UID ΠΈ GID с Π½ΠΎΠΌΠ΅Ρ€ ΠΎΡ‚ 0 Π΄ΠΎ 65535, Π½ΠΎ Π·Π° хост систСмата ΡΠΎΠ±ΡΡ‚Π²Π΅Π½ΠΈΠΊΡŠΡ‚ Π΅ маскиран с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈΡ‚Π΅ ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ SubUID ΠΈ SubGID Π±ΠΈΡ‚ΠΎΠ²Π΅. НапримСр, ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π» с UID=0 Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Ρ‰Π΅ бъдС видян Π² хост систСмата ΠΊΠ°Ρ‚ΠΎ SubUID + UID. Π’ΠΎΠ²Π° Π·Π°Ρ‰ΠΈΡ‚Π°Π²Π° хост систСмата, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π°ΠΊΠΎ някой процСс Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π΅ Π² ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅ своСто ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΎ пространство ΠΎΡ‚ ΠΈΠΌΠ΅Π½Π°, Ρ‚ΠΎΠΉ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠΈΡ€Π° с хост систСмата само ΠΊΠ°Ρ‚ΠΎ процСс с нСизвСстСн, ΠΌΠ½ΠΎΠ³ΠΎ висок UID/GID.

По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π½ΠΎΠ²ΠΎΡΡŠΠ·Π΄Π°Π΄Π΅Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΈΠΌΠ°Ρ‚ Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½ статус ΠΈ Π·Π°Ρ‚ΠΎΠ²Π° трябва Π΄Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°ΠΌΠ΅ SubUID ΠΈ SubGID.

НСка създадСм Π΄Π²Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ Ρ„Π°ΠΉΠ»Π°, Π² ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ Π·Π°Π΄Π°Π΄Π΅ΠΌ маската ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ Π·Π° SubUID ΠΈ SubGID:

sudo touch /etc{/subuid,/subgid}
sudo usermod --add-subuids 1000000-1065535 root 
sudo usermod --add-subgids 1000000-1065535 root

Π—Π° Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅, услугата LXD трябва Π΄Π° сС рСстартира:

sudo systemctl restart lxd

БъздаванС Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π΅Π½ ΠΌΡ€Π΅ΠΆΠΎΠ² ΠΊΠΎΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€ ^

Въй ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€Π°Ρ…ΠΌΠ΅ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΡΡŠΠ²Π΅Ρ‚Π½ΠΈΠΊΠ° Π·Π° инициализация lxd init ΠΈ създадС ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΎ устройство lxdbr0, Ρ‚ΠΎΠ³Π°Π²Π° Π² Ρ‚ΠΎΠ·ΠΈ Ρ€Π°Π·Π΄Π΅Π» просто Ρ‰Π΅ сС Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ΠΌ с Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π² ΠΌΡ€Π΅ΠΆΠ° Π² LXD ΠΈ ΠΊΠ°ΠΊ Π΄Π° създадСм Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π΅Π½ ΠΊΠΎΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€ (мост) с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° client.

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

Основни характСристики Π½Π° 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: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether bc:ee:7b:5a:6b:44 brd ff:ff:ff:ff:ff:ff
    altname enp0s25
    inet6 fe80::9571:11f3:6e0c:c07b/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: lxdbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether c2:38:90:df:cb:59 brd ff:ff:ff:ff:ff:ff
    inet 10.0.5.1/24 scope global lxdbr0
       valid_lft forever preferred_lft forever
    inet6 fe80::c038:90ff:fedf:cb59/64 scope link 
       valid_lft forever preferred_lft forever
5: veth3ddab174@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master lxdbr0 state UP group default qlen 1000
    link/ether ca:c3:5c:1d:22:26 brd ff:ff:ff:ff:ff:ff link-netnsid 0

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π΅Π½ ΠΏΡ€ΠΎΡ„ΠΈΠ» ^

ВсСки ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π² LXD ΠΈΠΌΠ° своя собствСна конфигурация ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° я Ρ€Π°Π·ΡˆΠΈΡ€ΠΈ с Π³Π»ΠΎΠ±Π°Π»Π½ΠΎ Π΄Π΅ΠΊΠ»Π°Ρ€ΠΈΡ€Π°Π½ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Π½Π°Ρ€Π΅Ρ‡Π΅Π½ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ. ΠŸΡ€ΠΈΠ»Π°Π³Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ към ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΈΠΌΠ° каскадСн ΠΌΠΎΠ΄Π΅Π», слСдният ΠΏΡ€ΠΈΠΌΠ΅Ρ€ дСмонстрира Ρ‚ΠΎΠ²Π°:

Основни характСристики Π½Π° LXD - 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: Default LXD profile
devices:
  eth0:
    name: eth0
    network: lxdbr0
    type: nic
  root:
    path: /
    pool: ssdpool
    type: disk
name: default
used_by: []

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

  • eth0 β€” Π’ΠΈΠΏ Π½Π° устройството nic ΡΠ²ΡŠΡ€Π·Π°Π½ към ΠΊΠΎΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€ (ΠΌΡ€Π΅ΠΆΠΎΠ² мост) lxdbr0
  • root β€” Π’ΠΈΠΏ Π½Π° устройството disk ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡƒΠ» Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ssdpool

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

Π—Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ създадСни БасСйн Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, ΡΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π΅Π½ ΠΏΡ€ΠΎΡ„ΠΈΠ» ssdroot Π² ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ устройство ΠΊΠ°Ρ‚ΠΎ disk с Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½Π΅ / (root), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ създадСния БасСйн Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ - ssdpool:

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

По ΡΡŠΡ‰ΠΈΡ Π½Π°Ρ‡ΠΈΠ½ създавамС устройство ΠΊΠ°Ρ‚ΠΎ disk, Π½ΠΎ Π² Ρ‚ΠΎΠ·ΠΈ случай ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ БасСйн Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ - hddpool:

lxc profile create hddroot
lxc profile device add hddroot root disk path=/ pool=hddpool

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ:

lxc profile show ssdroot

config: {}
description: ""
devices:
  root:
    path: /
    pool: ssdpool
    type: disk
name: ssdroot
used_by: []

lxc profile show hddroot

config: {}
description: ""
devices:
  root:
    path: /
    pool: hddpool
    type: disk
name: hddroot
used_by: []

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π·Π° изобраТСния ^

ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ сС ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚ ΠΎΡ‚ изобраТСния, ΠΊΠΎΠΈΡ‚ΠΎ са спСциално сглобСни дистрибуции, ΠΊΠΎΠΈΡ‚ΠΎ нямат Linux ядро. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° стартиратС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Ρ‚ΠΎΠΉ трябва Π΄Π° бъдС Ρ€Π°Π·Π³ΡŠΡ€Π½Π°Ρ‚ ΠΎΡ‚ Ρ‚ΠΎΠ²Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊΡŠΡ‚ Π½Π° изобраТСния Π΅ Π»ΠΎΠΊΠ°Π»Π½ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, Π² ΠΊΠΎΠ΅Ρ‚ΠΎ изобраТСнията сС изтСглят ΠΎΡ‚ външни Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°.

ΠžΡ‚Π΄Π°Π»Π΅Ρ‡Π΅Π½ΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π·Π° изобраТСния ^

По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ LXD Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° изобраТСния ΠΎΡ‚ Ρ‚Ρ€ΠΈ ΠΎΡ‚Π΄Π°Π»Π΅Ρ‡Π΅Π½ΠΈ ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊΠ°:

  • ubuntu: (Π·Π° стабилни изобраТСния Π½Π° Ubuntu)
  • ubuntu-Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ: (Π·Π° Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΈ изобраТСния Π½Π° Ubuntu)
  • снимки: (Π·Π° ΠΊΡƒΠΏ Π΄Ρ€ΡƒΠ³ΠΈ дистрибуции)

lxc remote list

+-----------------+------------------------------------------+--------+--------+
|      NAME       |                   URL                    | PUBLIC | STATIC |
+-----------------+------------------------------------------+--------+--------+
| images          | https://images.linuxcontainers.org       | YES    | NO     |
+-----------------+------------------------------------------+--------+--------+
| local (default) | unix://                                  | NO     | YES    |
+-----------------+------------------------------------------+--------+--------+
| ubuntu          | https://cloud-images.ubuntu.com/releases | YES    | YES    |
+-----------------+------------------------------------------+--------+--------+
| ubuntu-daily    | https://cloud-images.ubuntu.com/daily    | YES    | YES    |
+-----------------+------------------------------------------+--------+--------+

НапримСр, Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ubuntu: ΠΈΠΌΠ° слСднитС изобраТСния:

lxc image -c dasut list ubuntu: | head -n 11

+----------------------------------------------+--------------+----------+------------+
|                   DESCRIPTION                | ARCHITECTURE |   SIZE   |   TYPE     |
+----------------------------------------------+--------------+----------+------------+
| ubuntu 12.04 LTS amd64 (release) (20150728)  | x86_64       | 153.72MB | CONTAINER  |
+----------------------------------------------+--------------+----------+------------+
| ubuntu 12.04 LTS amd64 (release) (20150819)  | x86_64       | 152.91MB | CONTAINER  |
+----------------------------------------------+--------------+----------+------------+
| ubuntu 12.04 LTS amd64 (release) (20150906)  | x86_64       | 154.69MB | CONTAINER  |
+----------------------------------------------+--------------+----------+------------+
| ubuntu 12.04 LTS amd64 (release) (20150930)  | x86_64       | 153.86MB | CONTAINER  |
+----------------------------------------------+--------------+----------+------------+

Π—Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ Π±Ρ€ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…ΠΌΠ΅ опцията -c с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ dasut, Π° ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈ Π΄ΡŠΠ»ΠΆΠΈΠ½Π°Ρ‚Π° Π½Π° списъка с ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° head.

Налично Π΅ Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π½Π΅ Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° списък с изобраТСния. Π‘Π»Π΅Π΄Π²Π°Ρ‰Π°Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ‰Π΅ ΠΈΠ·Π±Ρ€ΠΎΠΈ всички Π½Π°Π»ΠΈΡ‡Π½ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ Π·Π° разпространСниС AlpineLinux:

lxc image -c ldast list images:alpine/3.11

+------------------------------+--------------------------------------+--------------+
|            ALIAS             |             DESCRIPTION              | ARCHITECTURE |
+------------------------------+--------------------------------------+--------------+
| alpine/3.11 (3 more)         | Alpine 3.11 amd64 (20200220_13:00)   | x86_64       |
+------------------------------+--------------------------------------+--------------+
| alpine/3.11/arm64 (1 more)   | Alpine 3.11 arm64 (20200220_13:00)   | aarch64      |
+------------------------------+--------------------------------------+--------------+
| alpine/3.11/armhf (1 more)   | Alpine 3.11 armhf (20200220_13:00)   | armv7l       |
+------------------------------+--------------------------------------+--------------+
| alpine/3.11/i386 (1 more)    | Alpine 3.11 i386 (20200220_13:01)    | i686         |
+------------------------------+--------------------------------------+--------------+
| alpine/3.11/ppc64el (1 more) | Alpine 3.11 ppc64el (20200220_13:00) | ppc64le      |
+------------------------------+--------------------------------------+--------------+
| alpine/3.11/s390x (1 more)   | Alpine 3.11 s390x (20200220_13:00)   | s390x        |
+------------------------------+--------------------------------------+--------------+

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

Π—Π° Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, трябва Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚ Π³Π»ΠΎΠ±Π°Π»Π½ΠΎΡ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ към Π»ΠΎΠΊΠ°Π»Π½ΠΎΡ‚ΠΎ local:. Π‘Π΅Π³Π° Π»ΠΎΠΊΠ°Π»Π½ΠΎΡ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π΅ ΠΏΡ€Π°Π·Π½ΠΎ, ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Ρ‰Π΅ сС ΡƒΠ²Π΅Ρ€ΠΈ Π² Ρ‚ΠΎΠ²Π° lxc image list. Ако ΠΌΠ΅Ρ‚ΠΎΠ΄ΡŠΡ‚ list Π½Π΅ посочвайтС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, Ρ‚ΠΎΠ³Π°Π²Π° Π»ΠΎΠΊΠ°Π»Π½ΠΎΡ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Ρ‰Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ - local:

lxc image list local:

+-------+-------------+--------+-------------+--------------+------+------+
| ALIAS | FINGERPRINT | PUBLIC | DESCRIPTION | ARCHITECTURE | TYPE | SIZE |
+-------+-------------+--------+-------------+--------------+------+------+

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡΡ‚Π° Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ сС управляват Ρ‡Ρ€Π΅Π· слСднитС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ:

ΠžΡ‚Π±ΠΎΡ€
описаниС

lxc ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ псСвдоним
Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° псСвдоними Π½Π° изобраТСния

lxc ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΏΠΈΡ€Π°Ρ‚Π΅
ΠšΠΎΠΏΠΈΡ€Π°ΠΉΡ‚Π΅ изобраТСния ΠΌΠ΅ΠΆΠ΄Ρƒ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ

lxc ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅
Π˜Π·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ Π½Π° изобраТСния

lxc ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°ΠΌ
Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° свойствата Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ

lxc ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ износ
ЕкспортиранС ΠΈ изтСглянС Π½Π° изобраТСния

lxc ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ внос
Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€Π°ΠΉΡ‚Π΅ изобраТСния Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° Π·Π° изобраТСния

lxc ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎ
ПоказванС Π½Π° ΠΏΠΎΠ»Π΅Π·Π½Π° информация Π·Π° изобраТСния

lxc ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ списък
Π˜Π·Π±Ρ€ΠΎΠΉΡ‚Π΅ изобраТСния

lxc ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ опрСсняванС
ΠžΠΏΡ€Π΅ΡΠ½ΡΠ²Π°Π½Π΅ Π½Π° изобраТСния

lxc ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ПокаТи
ПоказванС Π½Π° свойствата Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ

ΠšΠΎΠΏΠΈΡ€Π°ΠΉΡ‚Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π² Π»ΠΎΠΊΠ°Π»Π½ΠΎΡ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΎΡ‚ Π³Π»ΠΎΠ±Π°Π»Π½ΠΎΡ‚ΠΎ images::

lxc image copy images:alpine/3.11/amd64 local: --alias=alpine3

Image copied successfully!

НСка ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ списък с всички изобраТСния, Π½Π°Π»ΠΈΡ‡Π½ΠΈ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π² Π»ΠΎΠΊΠ°Π»Π½ΠΎΡ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ local::

lxc image -c lfdatsu list local:

+---------+--------------+------------------------------------+--------------+
|  ALIAS  | FINGERPRINT  |            DESCRIPTION             | ARCHITECTURE |
+---------+--------------+------------------------------------+--------------+
| alpine3 | 73a3093d4a5c | Alpine 3.11 amd64 (20200220_13:00) | x86_64       |
+---------+--------------+------------------------------------+--------------+

LXD конфигурация ^

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

Π‘Π»Π΅Π΄Π²Π°Ρ‰Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° lxc config ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π²ΠΈ позволява Π΄Π° Π·Π°Π΄Π°Π΄Π΅Ρ‚Π΅ конфигурацията. НапримСр, Π·Π° Π΄Π° Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°ΠΌΠ΅, Ρ‡Π΅ ΠΈΠ·Ρ‚Π΅Π³Π»Π΅Π½ΠΈΡ‚Π΅ изобраТСния Π² Π»ΠΎΠΊΠ°Π»Π½ΠΎΡ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π½Π΅ сС Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΎΡ‚ Π³Π»ΠΎΠ±Π°Π»Π½ΠΈΡ‚Π΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°ΠΌΠ΅ Ρ‚ΠΎΠ²Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ със слСдната ΠΊΠΎΠΌΠ°Π½Π΄Π°:

lxc config set images.auto_update_cached=false

БъздаванС ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ^

Π—Π° Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° lxc init към ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΏΡ€Π΅Π΄Π°Π²Π°Ρ‚ стойности Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ:ΠΎΠ±Ρ€Π°Π· ΠΈ слСд Ρ‚ΠΎΠ²Π° ТСлания ID Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС посочСно ΠΊΠ°Ρ‚ΠΎ Π»ΠΎΠΊΠ°Π»Π½ΠΎ local: Ρ‚Π°ΠΊΠ° Π΅ ΠΈ всСки Π³Π»ΠΎΠ±Π°Π»Π΅Π½. Ако Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Π½Π΅ Π΅ посочСно, Ρ‚ΠΎΠ³Π°Π²Π° ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π»ΠΎΠΊΠ°Π»Π½ΠΎΡ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ. Ако ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ ΠΎΡ‚ Π³Π»ΠΎΠ±Π°Π»Π½ΠΎΡ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, Ρ‚ΠΎΠ³Π°Π²Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΏΡŠΡ€Π²ΠΎ Ρ‰Π΅ бъдС ΠΈΠ·Ρ‚Π΅Π³Π»Π΅Π½ΠΎ Π² Π»ΠΎΠΊΠ°Π»Π½ΠΎΡ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΈ слСд Ρ‚ΠΎΠ²Π° Ρ‰Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° създаванС Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.

НСка изпълним слСдната ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π·Π° Π΄Π° създадСм нашия ΠΏΡŠΡ€Π²ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€:

lxc init alpine3 alp --storage=hddpool --profile=default --profile=hddroot

НСка Π΄Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ‚Π΅ клавиши, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Ρ‚ΡƒΠΊ ΠΏΠΎ Ρ€Π΅Π΄:

  • alpine3 β€” ΠŸΠΎΡΠΎΡ‡Π΅Π½ Π΅ псСвдоним (alias) Π·Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ Π±ΠΈΠ»ΠΎ ΠΊΠ°Ρ‡Π΅Π½ΠΎ ΠΏΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° Π² Π»ΠΎΠΊΠ°Π»Π½ΠΎΡ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. Ако ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡŠΡ‚ Π½Π΅ Π΅ създадСн Π·Π° Ρ‚ΠΎΠ²Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π²ΠΈΠ½Π°Π³ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° сС ΠΎΠ±ΡŠΡ€Π½Π΅Ρ‚Π΅ към ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Ρ‡Ρ€Π΅Π· Π½Π΅Π³ΠΎ Fingerprint ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΏΠΎΠΊΠ°Π·Π²Π° Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°.
  • alp β€” Π—Π°Π΄Π°Π²Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°
  • --storage β€” Π’ΠΎΠ·ΠΈ ΠΊΠ»ΡŽΡ‡ ΠΏΠΎΠΊΠ°Π·Π²Π° Π² коя БасСйн Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Ρ‰Π΅ бъдС създадСн ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€
  • --profile β€” Π’Π΅Π·ΠΈ ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅ каскадно ΠΏΡ€ΠΈΠ»Π°Π³Π°Ρ‚ конфигурация ΠΎΡ‚ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ създадСни ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ към ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°

Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΠΌΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, ΠΊΠΎΠΉΡ‚ΠΎ Π·Π°ΠΏΠΎΡ‡Π²Π° Π΄Π° стартира систСмата Π·Π° стартиранС Π½Π° дистрибуцията:

lxc start alp

ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΡΡŠΡ‰ΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° lxc launch ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π΄Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Ρ‚Π΅ Π΅ΠΊΠΈΠΏΠΈ lxc init ΠΈ lxc start Π² Π΅Π΄Π½Π° опСрация.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°:

lxc list -c ns46tb
+------+---------+------------------+------+-----------+--------------+
| NAME |  STATE  |       IPV4       | IPV6 |   TYPE    | STORAGE POOL |
+------+---------+------------------+------+-----------+--------------+
| alp  | RUNNING | 10.0.5.46 (eth0) |      | CONTAINER | hddpool      |
+------+---------+------------------+------+-----------+--------------+

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° конфигурацията Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°:

lxc config show alp

architecture: x86_64
config:
  image.architecture: amd64
  image.description: Alpine 3.11 amd64 (20200326_13:39)
  image.os: Alpine
  image.release: "3.11"
  image.serial: "20200326_13:39"
  image.type: squashfs
  volatile.base_image: ebd565585223487526ddb3607f5156e875c15a89e21b61ef004132196da6a0a3
  volatile.eth0.host_name: vethb1fe71d8
  volatile.eth0.hwaddr: 00:16:3e:5f:73:3e
  volatile.idmap.base: "0"
  volatile.idmap.current: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":65536}]'
  volatile.idmap.next: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":65536}]'
  volatile.last_state.idmap: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":65536}]'
  volatile.last_state.power: RUNNING
devices:
  root:
    path: /
    pool: hddpool
    type: disk
ephemeral: false
profiles:
- default
- hddroot
stateful: false
description: ""

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

lxc config show alp --expanded

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

Π—Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° статичСн IP адрСс ^

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

lxc config device set alp eth0 ipv4.address 10.0.5.5

Error: The device doesn't exist

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

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

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

lxc restart alp

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

lxc config show alp

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

ΠŸΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ^

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

lxc stop alp

lxc list

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

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ, Ρ‡Π΅ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π΅ станало БПРЯНА, ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π΅ ΠΎΡ‚ БасСйн Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅:

lxc delete alp

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

Π—Π° Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ‚Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, заобикаляйки ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈΡ‚Π΅ Π²Ρ€ΡŠΠ·ΠΊΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° lxc exec ΠΊΠΎΠΉΡ‚ΠΎ изпълнява ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Π±Π΅Π· Π΄Π° стартира систСмната ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°. Ако трябва Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π² ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ шаблони Π½Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, прСнасочвания Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ (Ρ‚Ρ€ΡŠΠ±Π°) ΠΈ Ρ‚.Π½., Ρ‚ΠΎΠ³Π°Π²Π° трябва ΠΈΠ·Ρ€ΠΈΡ‡Π½ΠΎ Π΄Π° стартиратС ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°Ρ‚Π° ΠΈ Π΄Π° ΠΏΡ€Π΅Π΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° ΠΊΠ°Ρ‚ΠΎ ΠΊΠ»ΡŽΡ‡, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

lxc exec alp -- /bin/sh -c "echo $HOME"

ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° спСциалСн символ Π·Π° ΠΈΠ·Ρ…ΠΎΠ΄ Π·Π° спСциалСн Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ $ Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° $HOME Π½Π΅ сС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€Π° Π½Π° хост ΠΌΠ°ΡˆΠΈΠ½Π°Ρ‚Π°, Π° сС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€Π° само Π²ΡŠΡ‚Ρ€Π΅ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.

Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΄Π° стартиратС интСрактивния Ρ€Π΅ΠΆΠΈΠΌ Π½Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° ΠΈ слСд Ρ‚ΠΎΠ²Π° Π΄Π° ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚Π΅ сСсията Ρ‡Ρ€Π΅Π· изпълнСниС Π½Π° клавишна комбинация CTRL+D:

lxc exec alp -- /bin/sh

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° рСсурситС Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ^

Π’ LXD ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° управляватС рСсурситС Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ спСциалСн Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ пълСн списък с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π·Π° конфигурация Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π² докумСнтация.

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° RAM рСсурса ^

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ limits.memory ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π° количСството RAM, Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΎ Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. Бтойността Π΅ число ΠΈ Π΅Π΄Π½ΠΎ ΠΎΡ‚ Π½Π°Π»ΠΈΡ‡Π½ΠΈ суфикси.

НСка Π·Π°Π΄Π°Π΄Π΅ΠΌ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° RAM Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π΄ΠΎ 256 MB:

lxc config set alp limits.memory 256MB

ОсвСн Ρ‚ΠΎΠ²Π° ΠΈΠΌΠ° ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π·Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°:

  • limits.memory.enforce
  • limits.memory.hugepages
  • limits.memory.swap
  • limits.memory.swap.priority

ΠžΡ‚Π±ΠΎΡ€ lxc config show Π²ΠΈ позволява Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚Π΅ цялата конфигурация Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΎΡ‚ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° рСсурситС, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ Π·Π°Π΄Π°Π΄Π΅Π½ΠΎ:

lxc config show alp

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

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° процСсорния рСсурс ^

Има няколко Π½Π°Ρ‡ΠΈΠ½Π° Π·Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° рСсурситС Π½Π° процСсора. Π²ΠΈΠ΄ΠΎΠ²Π΅ ограничСния:

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

lxc config set alp limits.cpu.allowance 40%

lxc config show alp

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

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

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

lxc config device set alp root size=2GB

Π‘Π»Π΅Π΄ инсталиранСто, Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° devices.root.size МоТСм Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ зададСния Π»ΠΈΠΌΠΈΡ‚:

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

Π—Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡ‚Π΅ дискови ΠΊΠ²ΠΎΡ‚ΠΈ, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° lxc info:

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

Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ смС Π·Π°Π΄Π°Π»ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π·Π° основното устройство Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π΄ΠΎ 2GB, систСмнитС ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ ΠΊΠ°Ρ‚ΠΎ df няма Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ‚ΠΎΠ²Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅. Π—Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ Ρ‚ΠΎΠ²Π°, Ρ‰Π΅ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅ΠΌ малък тСст ΠΈ Ρ‰Π΅ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚ΠΈ.

НСка създадСм 2 Π½ΠΎΠ²ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π² ΡΡŠΡ‰ΠΈΡ БасСйн Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ (hddpool):

lxc init alpine3 alp1 --storage=hddpool --profile=default --profile=hddroot
lxc init alpine3 alp2 --storage=hddpool --profile=default --profile=hddroot

lxc list
+------+---------+------------------+------+-----------+-----------+
| NAME |  STATE  |       IPV4       | IPV6 |   TYPE    | SNAPSHOTS |
+------+---------+------------------+------+-----------+-----------+
| alp1 | RUNNING | 10.0.5.46 (eth0) |      | CONTAINER | 0         |
+------+---------+------------------+------+-----------+-----------+
| alp2 | RUNNING | 10.0.5.30 (eth0) |      | CONTAINER | 0         |
+------+---------+------------------+------+-----------+-----------+

НСка създадСм Ρ„Π°ΠΉΠ» ΠΎΡ‚ 1 GB Π² Π΅Π΄ΠΈΠ½ ΠΎΡ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅:

lxc exec alp1 -- dd if=/dev/urandom of=file.img bs=1M count=1000

НСка сС ΡƒΠ²Π΅Ρ€ΠΈΠΌ, Ρ‡Π΅ Ρ„Π°ΠΉΠ»ΡŠΡ‚ Π΅ създадСн:

lxc exec alp1 -- ls -lh
total 1000M  
-rw-r--r--    1 root     root     1000.0M Mar 27 10:16 file.img

Ако ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌ във втория ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ Π·Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ„Π°ΠΉΠ» Π½Π° ΡΡŠΡ‰ΠΎΡ‚ΠΎ място, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‚ΠΎΠ·ΠΈ Ρ„Π°ΠΉΠ» няма Π΄Π° бъдС Ρ‚Π°ΠΌ, ΠΊΠΎΠ΅Ρ‚ΠΎ сС ΠΎΡ‡Π°ΠΊΠ²Π°, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ сС ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚ Π² собствСнитС си ОбСм Π½Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π² ΡΡŠΡ‰ΠΎΡ‚ΠΎ БасСйн Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅:

lxc exec alp2 -- ls -lh
total 0

Но Π½Π΅ΠΊΠ° сравним стойноститС, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π° df Π½Π° Сдиния ΠΈ Π½Π° другия ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€:

lxc exec alp1 -- df -hT
Filesystem           Type            Size      Used Available Use% Mounted on
/dev/loop1           btrfs           9.3G   1016.4M      7.8G  11% /
...

lxc exec alp2 -- df -hT
Filesystem           Type            Size      Used Available Use% Mounted on
/dev/loop1           btrfs           9.3G   1016.4M      7.8G  11% /
...

приспособлСниС /dev/loop1 ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½ ΠΊΠ°Ρ‚ΠΎ root дял БасСйн Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΈΡ‚ΠΎ Ρ‚Π΅Π·ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ сподСлят ΠΎΠ±Π΅ΠΌΠ° ΠΌΡƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π²Π°ΠΌΠ°.

Бтатистика Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° рСсурси ^

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ статистичСскитС Π΄Π°Π½Π½ΠΈ Π·Π° ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° рСсурси Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π°:

lxc info alp

Name: alp
Location: none
Remote: unix://
Architecture: x86_64
Created: 2020/04/08 18:05 UTC
Status: Running
Type: container
Profiles: default, hddroot
Pid: 19219
Ips:
  eth0: inet    10.0.5.5        veth2a1dc59d
  eth0: inet6   fe80::216:3eff:fe0e:e271        veth2a1dc59d
  lo:   inet    127.0.0.1
  lo:   inet6   ::1
Resources:
  Processes: 5
  Disk usage:
    root: 495.62kB
  CPU usage:
    CPU usage (in seconds): 1
  Memory usage:
    Memory (current): 4.79MB
  Network usage:
    eth0:
      Bytes received: 730B
      Bytes sent: 1.59kB
      Packets received: 3
      Packets sent: 14
    lo:
      Bytes received: 0B
      Bytes sent: 0B
      Packets received: 0
      Packets sent: 0

Π Π°Π±ΠΎΡ‚Π° с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½ΠΈ снимки ^

LXD ΠΈΠΌΠ° способността Π΄Π° създава ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½ΠΈ снимки ΠΈ Π΄Π° Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΡΠ²Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΎΡ‚ тях.

Π—Π° Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½Π° снимка, ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Ρ‚Π΅ слСдната ΠΊΠΎΠΌΠ°Π½Π΄Π°:

lxc snapshot alp snapshot1

Π•ΠΊΠΈΠΏΡŠΡ‚ lxc snapshot няма Π½Π°Π»ΠΈΡ‡Π΅Π½ ΠΊΠ»ΡŽΡ‡ list, слСдоватСлно, Π·Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ списъка със снимки, трябва Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π°, която ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΎΠ±Ρ‰Π° информация Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°:

lxc info alp
...
...
Snapshots:
  snapshot1 (taken at 2020/04/08 18:18 UTC) (stateless)

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

lxc restore alp snapshot1

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

lxc delete alp/snapshot1

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

Какво Π΄Ρ€ΡƒΠ³ΠΎ? ^

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

ΠΠšΠ’Π£ΠΠ›Π˜Π—ΠΠ¦Π˜Π― 10.04.2020/15/00 XNUMX:XNUMX: Π”ΠΎΠ±Π°Π²Π΅Π½Π° навигация

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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€