ОсновнС карактСристикС Π›ΠšΠ‘Π” - Π›ΠΈΠ½ΡƒΠΊ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΡΠΊΠΈΡ… систСма

ОсновнС карактСристикС Π›ΠšΠ‘Π” - Π›ΠΈΠ½ΡƒΠΊ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΡΠΊΠΈΡ… систСма

Π›ΠšΠ‘Π” јС слСдСћа Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡ˜Π° систСмског ΠΌΠ΅Π½Π°ΡŸΠ΅Ρ€Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Π°, Ρ‚Π°ΠΊΠΎ ΠΊΠ°ΠΆΠ΅ ΠΈΠ·Π²ΠΎΡ€. Нуди кориснички ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜Ρ сличан Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½ΠΈΠΌ машинама, Π°Π»ΠΈ умСсто Ρ‚ΠΎΠ³Π° користи Π›ΠΈΠ½ΡƒΠΊ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Π΅.

Π›ΠšΠ‘Π” Ρ˜Π΅Π·Π³Ρ€ΠΎ јС ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΎΠ²Π°Π½ΠΈ Π΄Π΅ΠΌΠΎΠ½ (сСрвис који Ρ€Π°Π΄ΠΈ са Ρ€ΠΎΠΎΡ‚ ΠΏΡ€Π°Π²ΠΈΠΌΠ°) који ΠΎΠ±Π΅Π·Π±Π΅Ρ’ΡƒΡ˜Π΅ Π Π•Π‘Π’ АПИ ΠΏΡ€Π΅ΠΊΠΎ Π»ΠΎΠΊΠ°Π»Π½ΠΎΠ³ ΡƒΠ½ΠΈΠΊ соцкСта, ΠΊΠ°ΠΎ ΠΈ ΠΏΡ€Π΅ΠΊΠΎ ΠΌΡ€Π΅ΠΆΠ΅ Π°ΠΊΠΎ јС инсталирана ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°Ρ˜ΡƒΡ›Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°. ΠšΠ»ΠΈΡ˜Π΅Π½Ρ‚ΠΈ, ΠΊΠ°ΠΎ ΡˆΡ‚ΠΎ јС Π°Π»Π°Ρ‚ΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π΅ линијС која сС ΠΈΡΠΏΠΎΡ€ΡƒΡ‡ΡƒΡ˜Π΅ ΡƒΠ· Π›ΠšΠ‘Π”, ΠΏΠΎΡΡ‚Π°Π²Ρ™Π°Ρ˜Ρƒ Π·Π°Ρ…Ρ‚Π΅Π²Π΅ ΠΏΡ€Π΅ΠΊΠΎ ΠΎΠ²ΠΎΠ³ Π Π•Π‘Π’ АПИ-ја. Π’ΠΎ Π·Π½Π°Ρ‡ΠΈ Π΄Π° Π±Π΅Π· ΠΎΠ±Π·ΠΈΡ€Π° Π΄Π° Π»ΠΈ приступатС Π»ΠΎΠΊΠ°Π»Π½ΠΎΠΌ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Ρ™Π΅Π½ΠΎΠΌ хосту, свС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡˆΠ΅ исто.

Π£ ΠΎΠ²ΠΎΠΌ Ρ‡Π»Π°Π½ΠΊΡƒ Π½Π΅Ρ›Π΅ΠΌΠΎ сС Π΄Π΅Ρ‚Π°Ρ™Π½ΠΎ Π·Π°Π΄Ρ€ΠΆΠ°Π²Π°Ρ‚ΠΈ Π½Π° ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΠΈΠΌΠ° Π›ΠšΠ‘Π”-Π°; Π½Π΅Ρ›Π΅ΠΌΠΎ Ρ€Π°Π·ΠΌΠ°Ρ‚Ρ€Π°Ρ‚ΠΈ свС доступнС могућности Π½Π°Π²Π΅Π΄Π΅Π½Π΅ Ρƒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜ΠΈ, ΡƒΠΊΡ™ΡƒΡ‡ΡƒΡ˜ΡƒΡ›ΠΈ Π½Π΅Π΄Π°Π²Π½Ρƒ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Ρƒ ΠΏΠΎΠ΄Ρ€ΡˆΠΊΠ΅ Π·Π° ΠšΠ•ΠœΠ£ Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½Π΅ машинС Ρƒ најновијим Π²Π΅Ρ€Π·ΠΈΡ˜Π°ΠΌΠ° Π›ΠšΠ‘Π”-Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ са ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈΠΌΠ°. УмСсто Ρ‚ΠΎΠ³Π°, Π½Π°ΡƒΡ‡ΠΈΡ›Π΅ΠΌΠΎ само основС ΡƒΠΏΡ€Π°Π²Ρ™Π°ΡšΠ° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈΠΌΠ° – ΠΏΠΎΡΡ‚Π°Π²Ρ™Π°ΡšΠ΅ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π° Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅ΡšΠ΅, ΡƒΠΌΡ€Π΅ΠΆΠ°Π²Π°ΡšΠ΅, ΠΏΠΎΠΊΡ€Π΅Ρ‚Π°ΡšΠ΅ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Π°, ΠΏΡ€ΠΈΠΌΠ΅Π½Ρƒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ° рСсурса ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° користитС снимкС ΠΊΠ°ΠΊΠΎ бистС ΠΌΠΎΠ³Π»ΠΈ Π΄Π° стСкнСтС основно Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡšΠ΅ Π›ΠšΠ‘Π”-Π° ΠΈ користитС ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Π΅ Π½Π° Π›ΠΈΠ½ΡƒΠΊ-Ρƒ.

Π—Π° ΠΏΠΎΡ‚ΠΏΡƒΠ½Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ˜Π΅ ΠΏΠΎΠ³Π»Π΅Π΄Π°Ρ˜Ρ‚Π΅ Π·Π²Π°Π½ΠΈΡ‡Π½ΠΈ ΠΈΠ·Π²ΠΎΡ€:

ΠΠ°Π²ΠΈΠ³Π°Ρ†ΠΈΡ˜Π°

Π˜Π½ΡΡ‚Π°Π»Π°Ρ†ΠΈΡ˜Π° Π›ΠšΠ‘Π” ^

Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°ΡšΠ΅ Π›ΠšΠ‘Π”-Π° Π½Π° Π£Π±ΡƒΠ½Ρ‚Ρƒ Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π΅ ^

Π£ дистрибутивном ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ Π£Π±ΡƒΠ½Ρ‚Ρƒ 19.10 lxd ΠΈΠΌΠ° Π΅ΠΌΠΈΡ‚ΠΎΠ²Π°ΡšΠ΅ снап ΠΏΠ°ΠΊΠ΅Ρ‚:

apt search lxd

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

Π’ΠΎ Π·Π½Π°Ρ‡ΠΈ Π΄Π° Ρ›Π΅ Π΄Π²Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π±ΠΈΡ‚ΠΈ инсталирана одјСдном, јСдан ΠΊΠ°ΠΎ систСмски, Π° Π΄Ρ€ΡƒΠ³ΠΈ ΠΊΠ°ΠΎ снап ΠΏΠ°ΠΊΠ΅Ρ‚. Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°ΡšΠ΅ Π΄Π²Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π½Π° систСм ΠΌΠΎΠΆΠ΅ створити Π½Π΅ΠΊΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Ρƒ којСм систСмски ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΌΠΎΠΆΠ΅ постати сирочС Π°ΠΊΠΎ ΠΌΠ΅Π½Π°ΡŸΠ΅Ρ€ снап ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΡƒΠΊΠ»ΠΎΠ½ΠΈ снап ΠΏΠ°ΠΊΠ΅Ρ‚.

ΠŸΡ€ΠΎΠ½Π°Ρ’ΠΈΡ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ lxd Ρƒ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Ρƒ снап ΠΌΠΎΠΆΠ΅Ρ‚Π΅ користити слСдСћу ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

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, који Ρ›Π΅ ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚ΠΈ ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°Ρ˜ΡƒΡ›Ρƒ Π³Ρ€ΡƒΠΏΡƒ Ρƒ систСму, ΠΏΠΎΡ‚Ρ€Π΅Π±Π½Π΅ услуТнС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅ Ρƒ /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βœ“  -

Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°ΡšΠ΅ Π›ΠšΠ‘Π”-Π° Π½Π° Арцх Π›ΠΈΠ½ΡƒΠΊ Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π°ΠΌΠ° ^

Π”Π° бистС инсталирали Π›ΠšΠ‘Π” ΠΏΠ°ΠΊΠ΅Ρ‚ Π½Π° систСм, ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ јС Π΄Π° ΠΏΠΎΠΊΡ€Π΅Π½Π΅Ρ‚Π΅ слСдСћС ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΠΏΡ€Π²Π° Ρ›Π΅ Π°ΠΆΡƒΡ€ΠΈΡ€Π°Ρ‚ΠΈ листу ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π½Π° систСму доступних Ρƒ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Ρƒ, Π΄Ρ€ΡƒΠ³Π° Ρ›Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ инсталирати ΠΏΠ°ΠΊΠ΅Ρ‚:

sudo pacman -Syyu && sudo pacman -S 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 ΡƒΡ‡ΠΈΡ‚Π°Π²Π°ΡšΠ΅ Π›ΠšΠ‘Π” услугС ΠΏΡ€ΠΈ ΠΏΠΎΠΊΡ€Π΅Ρ‚Π°ΡšΡƒ систСма:

sudo systemctl enable lxd

ΠŸΠΎΡ‡Π½ΠΈΠΌΠΎ услугу:

sudo systemctl start lxd

ΠŸΡ€ΠΎΠ²Π΅Ρ€Π° статуса услугС:

sudo systemctl status lxd

Π‘ΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅ΡšΠ΅ Π›ΠšΠ‘Π” (Π‘ΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅ΡšΠ΅) ^

ΠŸΡ€Π΅ Π½Π΅Π³ΠΎ ΡˆΡ‚ΠΎ ΠΏΠΎΡ‡Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°, ΠΌΠΎΡ€Π°ΠΌΠΎ Π΄Π° Ρ€Π°Π·ΡƒΠΌΠ΅ΠΌΠΎ ΠΊΠ°ΠΊΠΎ јС ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅ Ρƒ Π›ΠšΠ‘Π”-Ρƒ Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ распорСђСно.

Π‘ΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅ (ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅ΡšΠ΅) ΡΠ°ΡΡ‚ΠΎΡ˜ΠΈ сС ΠΎΠ΄ ΠΎΠ΄ јСдног ΠΈΠ»ΠΈ вишС Π‘Ρ‚ΠΎΡ€Π°Π³Π΅ Поол који користи јСдан ΠΎΠ΄ ΠΏΠΎΠ΄Ρ€ΠΆΠ°Π½ΠΈΡ… систСма Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΠΊΠ°ΠΎ ΡˆΡ‚ΠΎ су Π—Π€Π‘, Π‘Π’Π Π€Π‘, Π›Π’Πœ ΠΈΠ»ΠΈ ΠΎΠ±ΠΈΡ‡Π½ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡ˜ΡƒΠΌΠΈ. Π‘Π²Π°ΠΊΠΈ Π‘Ρ‚ΠΎΡ€Π°Π³Π΅ Поол јС ΠΏΠΎΠ΄Π΅Ρ™Π΅Π½ Π½Π° Ρ‚ΠΎΠΌΠΎΠ²Π΅ (Π’ΠΎΠ»ΡƒΠΌΠ΅Π½ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π°) који садрТС сликС, ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Π΅ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΊΠ΅ Π·Π° Π΄Ρ€ΡƒΠ³Π΅ сврхС.

  • Π‘Π»ΠΈΠΊΠ΅ - ΠΎΠ²ΠΎ су ΡΠΏΠ΅Ρ†ΠΈΡ˜Π°Π»Π½ΠΎ састављСнС Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π΅ Π±Π΅Π· Π›ΠΈΠ½ΡƒΠΊ ΠΊΠ΅Ρ€Π½Π΅Π»Π° ΠΈ доступнС ΠΈΠ· спољних ΠΈΠ·Π²ΠΎΡ€Π°
  • ΠšΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ - ΠΎΠ²ΠΎ су распорСђСнС Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π΅ са слика, спрСмнС Π·Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Ρƒ
  • Бнапсхотс - ΠΎΠ²ΠΎ су снимци ΡΡ‚Π°ΡšΠ° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Π° Ρƒ којС сС ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ€Π°Ρ‚ΠΈΡ‚ΠΈ

ОсновнС карактСристикС Π›ΠšΠ‘Π” - Π›ΠΈΠ½ΡƒΠΊ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΡΠΊΠΈΡ… систСма

Π”Π° бистС ΡƒΠΏΡ€Π°Π²Ρ™Π°Π»ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅ΠΌ Ρƒ Π›ΠšΠ‘Π”-Ρƒ, користитС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ lxc storage сСртификат Π·Π° који ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π΄ΠΎΠ±ΠΈΡ˜Π΅Ρ‚Π΅ Π½Π°Π²ΠΎΡ’Π΅ΡšΠ΅ΠΌ ΠΊΡ™ΡƒΡ‡Π° - lxc storage --help

Π‘Π»Π΅Π΄Π΅Ρ›Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡ€ΠΈΠΊΠ°Π·ΡƒΡ˜Π΅ листу свих Π‘Ρ‚ΠΎΡ€Π°Π³Π΅ Поол Ρƒ Π›ΠšΠ‘Π” ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Ρƒ:

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       |
+-----------+----------------------------------+-------------+---------+

Π’Π°ΠΊΠΎΡ’Π΅, Π°ΠΊΠΎ Π·Π° Π‘Ρ‚ΠΎΡ€Π°Π³Π΅ Поол ΠŸΡ€ΠΈΠ»ΠΈΠΊΠΎΠΌ ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ°, ΠΈΠ·Π°Π±Ρ€Π°Π½ јС систСм Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π‘Π’Π Π€Π‘, Π° Π·Π°Ρ‚ΠΈΠΌ Π΄ΠΎΠ±ΠΈΡ˜Π΅Ρ‚Π΅ листу Π’ΠΎΠ»ΡƒΠΌΠ΅Π½ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π° ΠΈΠ»ΠΈ подскупови Ρƒ Π‘Π’Π Π€Π‘ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡ˜ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ користити Π°Π»Π°Ρ‚ΠΊΠ΅ ΠΎΠ²ΠΎΠ³ систСма Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°:

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

Π˜Π½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π›ΠšΠ‘Π” ^

ΠŸΡ€Π΅ ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ° ΠΈ ΠΊΠΎΡ€ΠΈΡˆΡ›Π΅ΡšΠ° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Π°, ΠΌΠΎΡ€Π°Ρ‚Π΅ ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚ΠΈ ΠΎΠΏΡˆΡ‚Ρƒ Π›ΠšΠ‘Π” ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Ρƒ која ΠΊΡ€Π΅ΠΈΡ€Π° ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡˆΠ΅ ΠΌΡ€Π΅ΠΆΡƒ ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅. Ово сС ΠΌΠΎΠΆΠ΅ ΡƒΡ€Π°Π΄ΠΈΡ‚ΠΈ Ρ€ΡƒΡ‡Π½ΠΎ користСћи стандарднС ΠΊΠ»ΠΈΡ˜Π΅Π½Ρ‚ΡΠΊΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ којС су доступнС Π½Π° листи позивањСм ΠΊΠΎΠΌΠ°Π½Π΄Π΅ lxc --help ΠΈΠ»ΠΈ ΠΏΠΎΠΌΠΎΡ›Ρƒ Ρ‡Π°Ρ€ΠΎΠ±ΡšΠ°ΠΊΠ° Π·Π° ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Ρƒ lxd init ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°Ρ˜ΡƒΡ›ΠΈ Π½Π° Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ ΠΏΠΈΡ‚Π°ΡšΠ°.

Π˜Π·Π±ΠΎΡ€ систСма Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π·Π° складишни скуп ^

Π’ΠΎΠΊΠΎΠΌ ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π΅, Π›ΠšΠ‘Π” поставља Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ ΠΏΠΈΡ‚Π°ΡšΠ°, ΡƒΠΊΡ™ΡƒΡ‡ΡƒΡ˜ΡƒΡ›ΠΈ ΠΎΠ΄Ρ€Π΅Ρ’ΠΈΠ²Π°ΡšΠ΅ Ρ‚ΠΈΠΏΠ° систСма Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π·Π° ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π½ΠΈ Π‘Ρ‚ΠΎΡ€Π°Π³Π΅ Поол. ΠŸΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π½ΠΎ, Π·Π° њСга јС ΠΈΠ·Π°Π±Ρ€Π°Π½ систСм Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π‘Π’Π Π€Π‘. Π‘ΠΈΡ›Π΅ Π½Π΅ΠΌΠΎΠ³ΡƒΡ›Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ Π€Π‘ Π½Π°ΠΊΠΎΠ½ ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ°. ΠŸΡ€Π΅Π΄Π»Π°ΠΆΠ΅ сС Π΄Π° ΠΈΠ·Π°Π±Π΅Ρ€Π΅Ρ‚Π΅ Π€Π‘ Ρ‚Π°Π±Π΅Π»Π° Π·Π° ΠΏΠΎΡ€Π΅Ρ’Π΅ΡšΠ΅ карактСристика:

ΠΎΠ΄Π»ΠΈΠΊΠ°
ΠΈΠΌΠ΅Π½ΠΈΠΊ
Бтрфс
Π›Π’Πœ
Π—Π€Π‘
Π¦Π•ΠŸΠ₯

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅ΡšΠ΅ слика
Π½Π΅
Π΄Π°
Π΄Π°
Π΄Π°
Π΄Π°

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ΅ инстанцС
Π½Π΅
Π΄Π°
Π΄Π°
Π΄Π°
Π΄Π°

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ΅ снимака
Π½Π΅
Π΄Π°
Π΄Π°
Π΄Π°
Π΄Π°

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΎΠ²Π°Π½ прСнос сликС
Π½Π΅
Π΄Π°
Π½Π΅
Π΄Π°
Π΄Π°

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΎΠ²Π°Π½ прСнос инстанцС
Π½Π΅
Π΄Π°
Π½Π΅
Π΄Π°
Π΄Π°

ΠšΠΎΠΏΠΈΡ€Π°Ρ˜ Π½Π° писањС
Π½Π΅
Π΄Π°
Π΄Π°
Π΄Π°
Π΄Π°

Π‘Π»ΠΎΡ†ΠΊ басСд
Π½Π΅
Π½Π΅
Π΄Π°
Π½Π΅
Π΄Π°

Π’Ρ€Π΅Π½ΡƒΡ‚Π½ΠΎ ΠΊΠ»ΠΎΠ½ΠΈΡ€Π°ΡšΠ΅
Π½Π΅
Π΄Π°
Π΄Π°
Π΄Π°
Π΄Π°

Π”Ρ€Π°Ρ˜Π²Π΅Ρ€ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅ΡšΠ΅ који сС ΠΌΠΎΠΆΠ΅ користити ΡƒΠ½ΡƒΡ‚Π°Ρ€ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Π°
Π΄Π°
Π΄Π°
Π½Π΅
Π½Π΅
Π½Π΅

Π’Ρ€Π°Ρ‚ΠΈΡ‚Π΅ са ΡΡ‚Π°Ρ€ΠΈΡ˜ΠΈΡ… снимака (Π½Π΅ најновијС)
Π΄Π°
Π΄Π°
Π΄Π°
Π½Π΅
Π΄Π°

ΠšΠ²ΠΎΡ‚Π΅ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅ΡšΠ΅
Π΄Π°(*)
Π΄Π°
Π΄Π°
Π΄Π°
Π½Π΅

Π˜Π½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° ΠΌΡ€Π΅ΠΆΠ΅ ΠΈ складишног ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π° ΠΏΠΎΠΌΠΎΡ›Ρƒ Ρ‡Π°Ρ€ΠΎΠ±ΡšΠ°ΠΊΠ° ^

Π‘Π»Π΅Π΄Π΅Ρ›Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΊΠΎΡ˜Ρƒ Ρ›Π΅ΠΌΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π°Ρ‚ΠΈ ΠΏΡ€Π΅Π΄Π»Π°ΠΆΠ΅ ΠΏΠΎΡΡ‚Π°Π²Ρ™Π°ΡšΠ΅ Π³Π»Π°Π²Π½ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π›ΠšΠ‘Π”-Π° ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°Ρ˜ΡƒΡ›ΠΈΠΌ Π½Π° Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½Π° ΠΏΠΈΡ‚Π°ΡšΠ° ΠΏΠΎΠΌΠΎΡ›Ρƒ Ρ‡Π°Ρ€ΠΎΠ±ΡšΠ°ΠΊΠ° Π·Π° ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Ρƒ.

ΠŸΠΎΠΊΡ€Π΅Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ 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. Ова адрСса систСма Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π° Ρ„ΠΈΠ·ΠΈΡ‡ΠΊΠΎΠΌ Π‘Π‘Π” диску Π½Π° ΠΌΠΎΠΌ Ρ€Π°Ρ‡ΡƒΠ½Π°Ρ€Ρƒ.

Π‘Π»Π΅Π΄Π΅Ρ›Π΅ Π°ΠΊΡ†ΠΈΡ˜Π΅, Π΄Π° сС ΠΏΡ€ΠΎΡˆΠΈΡ€ΠΈ Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡšΠ΅ ΡƒΠ»ΠΎΠ³Π΅ ΠΊΠΎΡ˜Ρƒ ΠΈΠ³Ρ€Π° Π‘Ρ‚ΠΎΡ€Π°Π³Π΅ Поол Ρƒ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Ρƒ, Π½Π°ΠΏΡ€Π°Π²ΠΈΡ›Π΅ΠΌΠΎ Π΄Ρ€ΡƒΠ³ΠΈ Π‘Ρ‚ΠΎΡ€Π°Π³Π΅ Поол који Ρ›Π΅ сС Ρ„ΠΈΠ·ΠΈΡ‡ΠΊΠΈ Π½Π°Π»Π°Π·ΠΈΡ‚ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ Ρ‚ΠΈΠΏΡƒ диска, Π₯Π”Π”-Ρƒ. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌ јС ΡˆΡ‚ΠΎ Π²Π°ΠΌ Π›ΠšΠ‘Π” Π½Π΅ Π΄ΠΎΠ·Π²ΠΎΡ™Π°Π²Π° Π΄Π° ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚Π΅ Π‘Ρ‚ΠΎΡ€Π°Π³Π΅ Поол Π²Π°Π½ адрСсС /var/lib/lxd/disks/ ΠΏΠ° Ρ‡Π°ΠΊ Π½ΠΈ симболичнС Π²Π΅Π·Π΅ Π½Π΅Ρ›Π΅ Ρ€Π°Π΄ΠΈΡ‚ΠΈ, ΠΏΠΎΠ³Π»Π΅Π΄Π°Ρ˜Ρ‚Π΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€Π°. МоТСмо Π·Π°ΠΎΠ±ΠΈΡ›ΠΈ ΠΎΠ²ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ΅ Ρ‚ΠΎΠΊΠΎΠΌ ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π΅/Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°ΡšΠ° Π‘Ρ‚ΠΎΡ€Π°Π³Π΅ Поол Π½Π°Π²ΠΎΡ’Π΅ΡšΠ΅ΠΌ врСдности ΠΊΠ°ΠΎ Π±Π»ΠΎΠΊ ΡƒΡ€Π΅Ρ’Π°Ρ˜Π° умСсто ΠΏΡƒΡ‚Π°ΡšΠ΅ Π΄ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ ΠΏΠΎΠ²Ρ€Π°Ρ‚Π½Π΅ ΠΏΠ΅Ρ‚Ρ™Π΅ Ρ‚Π°ΠΊΠΎ ΡˆΡ‚ΠΎ Ρ›Π΅Ρ‚Π΅ навСсти ΠΎΠ²ΠΎ Ρƒ ΠΊΡ™ΡƒΡ‡Ρƒ source.

Π”Π°ΠΊΠ»Π΅, ΠΏΡ€Π΅ ΡΡ‚Π²Π°Ρ€Π°ΡšΠ° Π‘Ρ‚ΠΎΡ€Π°Π³Π΅ Поол ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ јС Π΄Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡˆΠ΅Ρ‚Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ ΠΏΠΎΠ²Ρ€Π°Ρ‚Π½Π΅ ΠΏΠ΅Ρ‚Ρ™Π΅ ΠΈΠ»ΠΈ ΠΏΠΎΡΡ‚ΠΎΡ˜Π΅Ρ›Ρƒ ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΡ˜Ρƒ Π½Π° вашСм систСму Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΠΊΠΎΡ˜Ρƒ Ρ›Π΅ користити. Π”Π° бисмо Ρ‚ΠΎ ΡƒΡ€Π°Π΄ΠΈΠ»ΠΈ, ΠΊΡ€Π΅ΠΈΡ€Π°Ρ›Π΅ΠΌΠΎ ΠΈ користити Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ ΠΊΠΎΡ˜Ρƒ Ρ›Π΅ΠΌΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΠΈ Π½Π° 10 Π“Π‘:

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

Π₯ајдС Π΄Π° ΠΏΠΎΠ²Π΅ΠΆΠ΅ΠΌΠΎ Π»ΠΎΠΎΠΏΠ±Π°Ρ†ΠΊ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ са бСсплатним Π»ΠΎΠΎΠΏΠ±Π°Ρ†ΠΊ ΡƒΡ€Π΅Ρ’Π°Ρ˜Π΅ΠΌ:

sudo losetup --find --show /mnt/work/lxd/hddpool.img

/dev/loop1

Π—Π°Ρ…Π²Π°Ρ™ΡƒΡ˜ΡƒΡ›ΠΈ ΠΊΡ™ΡƒΡ‡Ρƒ --show ΠΈΠ·Π²Ρ€ΡˆΠ°Π²Π°ΡšΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π²Ρ€Π°Ρ›Π° Π½Π° Π΅ΠΊΡ€Π°Π½ ΠΈΠΌΠ΅ ΡƒΡ€Π΅Ρ’Π°Ρ˜Π° Π½Π° који јС ΠΏΠΎΠ²Π΅Π·Π°Π½ наш Π»ΠΎΠΎΠΏΠ±Π°Ρ†ΠΊ Ρ„Π°Ρ˜Π». Ако јС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ, ΠΌΠΎΠΆΠ΅ΠΌΠΎ Π΄Π° ΠΏΡ€ΠΈΠΊΠ°ΠΆΠ΅ΠΌΠΎ листу свих Π·Π°ΡƒΠ·Π΅Ρ‚ΠΈΡ… ΡƒΡ€Π΅Ρ’Π°Ρ˜Π° ΠΎΠ²ΠΎΠ³ Ρ‚ΠΈΠΏΠ° Π΄Π° бисмо Π±ΠΈΠ»ΠΈ сигурни Π΄Π° су нашС Π°ΠΊΡ†ΠΈΡ˜Π΅ исправнС:

losetup -l

NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE                      DIO LOG-SEC
/dev/loop1         0      0         0  0 /mnt/work/lxd/hddpool.img        0     512
/dev/loop0         0      0         1  0 /var/lib/lxd/disks/ssdpool.img   0     512

Π‘Π° листС ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ½Π°Ρ›ΠΈ Π΄Π° ΡƒΡ€Π΅Ρ’Π°Ρ˜ ΠΈΠΌΠ° /dev/loop1 Π»ΠΎΠΎΠΏΠ±Π°Ρ†ΠΊ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΡƒΠΊΡ™ΡƒΡ‡Π΅Π½Π° /mnt/work/lxd/hddpool.img, ΠΈ Ρƒ ΡƒΡ€Π΅Ρ’Π°Ρ˜Ρƒ /dev/loop0 Π»ΠΎΠΎΠΏΠ±Π°Ρ†ΠΊ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΡƒΠΊΡ™ΡƒΡ‡Π΅Π½Π° /var/lib/lxd/disks/ssdpool.img ΡˆΡ‚ΠΎ ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π° ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π½ΠΎΡ˜ Π‘Ρ‚ΠΎΡ€Π°Π³Π΅ Поол.

Π‘Π»Π΅Π΄Π΅Ρ›Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΊΡ€Π΅ΠΈΡ€Π° Π½ΠΎΠ²Ρƒ Π‘Ρ‚ΠΎΡ€Π°Π³Π΅ Поол Ρƒ Π›ΠšΠ‘Π”-Ρƒ Π½Π° основу Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ ΠΏΠ΅Ρ‚Ρ™Π΅ ΠΊΠΎΡ˜Ρƒ смо ΡƒΠΏΡ€Π°Π²ΠΎ ΠΏΡ€ΠΈΠΏΡ€Π΅ΠΌΠΈΠ»ΠΈ. Π›ΠšΠ‘Π” Ρ›Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Ρ‚ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ ΠΏΠΎΠ²Ρ€Π°Ρ‚Π½Π΅ ΠΏΠ΅Ρ‚Ρ™Π΅ /mnt/work/lxd/hddpool.img Ρƒ ΡƒΡ€Π΅Ρ’Π°Ρ˜Ρƒ /dev/loop1 Π·Π° Π‘Π’Π Π€Π‘ систСм Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°:

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       |
+---------+-------------+--------+--------------------------------+---------+

ΠŸΠΎΠ²Π΅Ρ›Π°ΡšΠ΅ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π΅ складишног простора ^

Након ΡΡ‚Π²Π°Ρ€Π°ΡšΠ° Π‘Ρ‚ΠΎΡ€Π°Π³Π΅ Поол, Π°ΠΊΠΎ јС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ, ΠΌΠΎΠΆΠ΅ сС ΠΏΡ€ΠΎΡˆΠΈΡ€ΠΈΡ‚ΠΈ. Π—Π° Π‘Ρ‚ΠΎΡ€Π°Π³Π΅ Поол Π½Π° основу систСма Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π‘Π’Π Π€Π‘, ΠΏΠΎΠΊΡ€Π΅Π½ΠΈΡ‚Π΅ слСдСћС ΠΊΠΎΠΌΠ°Π½Π΄Π΅:

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

Аутоматско ΡƒΠΌΠ΅Ρ‚Π°ΡšΠ΅ Π»ΠΎΠΎΠΏΠ±Π°Ρ†ΠΊ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ Ρƒ слот ΡƒΡ€Π΅Ρ’Π°Ρ˜Π° Π·Π° ΠΏΠΎΠ²Ρ€Π°Ρ‚Π½Ρƒ ΠΏΠ΅Ρ‚Ρ™Ρƒ ^

Имамо јСдан ΠΌΠ°Π»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΊΠ°Π΄Π° Ρ€Π΅ΡΡ‚Π°Ρ€Ρ‚ΡƒΡ˜Π΅ΠΌΠΎ хост систСм, Ρ„Π°Ρ˜Π» /mnt/work/lxd/hddpool.img Ρ›Π΅ "ΠΈΠ·Π»Π΅Ρ‚Π΅Ρ‚ΠΈ" ΠΈΠ· ΡƒΡ€Π΅Ρ’Π°Ρ˜Π° /dev/loop1 Π° Π›ΠšΠ‘Π” сСрвис Ρ›Π΅ сС ΡΡ€ΡƒΡˆΠΈΡ‚ΠΈ ΠΏΡ€ΠΈΠ»ΠΈΠΊΠΎΠΌ ΡƒΡ‡ΠΈΡ‚Π°Π²Π°ΡšΠ° Ρ˜Π΅Ρ€ Π³Π° Π½Π΅Ρ›Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΠΈ Ρƒ ΠΎΠ²ΠΎΠΌ ΡƒΡ€Π΅Ρ’Π°Ρ˜Ρƒ. Π”Π° бистС Ρ€Π΅ΡˆΠΈΠ»ΠΈ овај ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ јС Π΄Π° ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚Π΅ систСмску услугу која Ρ›Π΅ ΡƒΠΌΠ΅Ρ‚Π½ΡƒΡ‚ΠΈ ΠΎΠ²Ρƒ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ Ρƒ ΡƒΡ€Π΅Ρ’Π°Ρ˜ /dev/loop1 ΠΊΠ°Π΄Π° сС систСм хоста ΠΏΠΎΠΊΡ€Π΅Π½Π΅.

Π₯ајдС Π΄Π° стварамо Ρ˜Π΅Π΄ΠΈΠ½ΠΈΡ†Π° Ρ‚ΠΈΠΏ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ сСрвис Π² /etc/systemd/system/ Π·Π° систСм ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π΅ БистСмД:

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).

Из ΠΈΠ·Π»Π°Π·Π° ΠΌΠΎΠΆΠ΅ΠΌΠΎ ΠΏΠΎΡ‚Π²Ρ€Π΄ΠΈΡ‚ΠΈ Π΄Π° јС ΡΡ‚Π°ΡšΠ΅ услугС active, упркос Ρ‡ΠΈΡšΠ΅Π½ΠΈΡ†ΠΈ Π΄Π° јС ΠΈΠ·Π²Ρ€ΡˆΠ΅ΡšΠ΅ нашС скриптС ΠΈΠ· јСднС ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π·Π°Π²Ρ€ΡˆΠ΅Π½ΠΎ, ΠΎΠΏΡ†ΠΈΡ˜Π° Π½Π°ΠΌ јС ΠΎΠΌΠΎΠ³ΡƒΡ›ΠΈΠ»Π° Π΄Π° Ρ‚ΠΎ ΡƒΡ€Π°Π΄ΠΈΠΌΠΎ RemainAfterExit=true.

Бигурност. ΠŸΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ˜Π΅ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Π° ^

ΠŸΠΎΡˆΡ‚ΠΎ сС сви процСси ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Π° Π·Π°ΠΏΡ€Π°Π²ΠΎ Ρ€Π°Π΄Π΅ ΠΈΠ·ΠΎΠ»ΠΎΠ²Π°Π½ΠΎ Π½Π° хост систСму користСћи њСгово Ρ˜Π΅Π·Π³Ρ€ΠΎ, Π΄Π° Π±ΠΈ Π΄ΠΎΠ΄Π°Ρ‚Π½ΠΎ Π·Π°ΡˆΡ‚ΠΈΡ‚ΠΈΠΎ приступ процСса ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Π° хост систСму, Π›ΠšΠ‘Π” Π½ΡƒΠ΄ΠΈ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ˜Ρƒ процСса, Π³Π΄Π΅:

  • ΠŸΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΎΠ²Π°Π½ΠΈ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ - ΠΎΠ²ΠΎ су ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ Ρƒ којима процСси са Π£Π˜Π” ΠΈ Π“Π˜Π” ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°Ρ˜Ρƒ истом власнику ΠΊΠ°ΠΎ Π½Π° хост систСму. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, процСс који сС ΠΏΠΎΠΊΡ€Π΅Ρ›Π΅ Ρƒ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Ρƒ са Π£Π˜Π”-ΠΎΠΌ 0 ΠΈΠΌΠ° сва иста ΠΏΡ€Π°Π²Π° приступа ΠΊΠ°ΠΎ процСс Π½Π° хост систСму са Π£Π˜Π”-ΠΎΠΌ 0. Π”Ρ€ΡƒΠ³ΠΈΠΌ Ρ€Π΅Ρ‡ΠΈΠΌΠ°, Ρ€ΠΎΠΎΡ‚ корисник Ρƒ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Ρƒ ΠΈΠΌΠ° сва ΠΏΡ€Π°Π²Π° Π½Π΅ само Ρƒ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Ρƒ, Π°Π»ΠΈ ΠΈ Π½Π° хост систСму Π°ΠΊΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π°Ρ’Π΅ Π²Π°Π½ ΠΈΠ·ΠΎΠ»ΠΎΠ²Π°Π½ΠΎΠ³ имСнског простора ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Π°.

  • НСпривилСговани ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ - ΠΎΠ²ΠΎ су ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ Ρƒ којима процСси ΠΏΡ€ΠΈΠΏΠ°Π΄Π°Ρ˜Ρƒ власнику Π£Π˜Π”-Π° ΠΈ Π“Π˜Π”-Π° са Π±Ρ€ΠΎΡ˜Π΅ΠΌ ΠΎΠ΄ 0 Π΄ΠΎ 65535, Π°Π»ΠΈ јС Π·Π° систСм Π΄ΠΎΠΌΠ°Ρ›ΠΈΠ½Π° власник маскиран ΠΊΠΎΡ€ΠΈΡˆΡ›Π΅ΡšΠ΅ΠΌ Π΄ΠΎΠ΄Π°Ρ‚ΠΈΡ… Π‘ΡƒΠ±Π£Π˜Π” ΠΈ Π‘ΡƒΠ±Π“Π˜Π” Π±ΠΈΡ‚ΠΎΠ²Π°, рСспСктивно. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, корисник са Π£Π˜Π”=0 Ρƒ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Ρƒ Ρ›Π΅ сС Π²ΠΈΠ΄Π΅Ρ‚ΠΈ Π½Π° хост систСму ΠΊΠ°ΠΎ SubUID + UID. Ово ΡˆΡ‚ΠΈΡ‚ΠΈ систСм Π΄ΠΎΠΌΠ°Ρ›ΠΈΠ½Π° Ρ˜Π΅Ρ€ Π°ΠΊΠΎ Π±ΠΈΠ»ΠΎ који процСс Ρƒ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Ρƒ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ±Π΅Π³Π½Π΅ ΠΈΠ· свог ΠΈΠ·ΠΎΠ»ΠΎΠ²Π°Π½ΠΎΠ³ имСнског простора, ΠΎΠ½ ΠΌΠΎΠΆΠ΅ ΠΊΠΎΠΌΡƒΠ½ΠΈΡ†ΠΈΡ€Π°Ρ‚ΠΈ са хост систСмом само ΠΊΠ°ΠΎ процСс са Π½Π΅ΠΏΠΎΠ·Π½Π°Ρ‚ΠΈΠΌ, Π²Π΅ΠΎΠΌΠ° високим Π£Π˜Π”/Π“Π˜Π”.

ΠŸΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π½ΠΎ, Π½ΠΎΠ²ΠΎΠΊΡ€Π΅ΠΈΡ€Π°Π½ΠΈ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ ΠΈΠΌΠ°Ρ˜Ρƒ Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΎΠ²Π°Π½ΠΈ статус ΠΈ стога ΠΌΠΎΡ€Π°ΠΌΠΎ Π΄Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡˆΠ΅ΠΌΠΎ Π‘ΡƒΠ±Π£Π˜Π” ΠΈ Π‘ΡƒΠ±Π“Π˜Π”.

Π₯ајдС Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌΠΎ Π΄Π²Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ Ρƒ којима Ρ›Π΅ΠΌΠΎ поставити маску Π·Π° Π‘ΡƒΠ±Π£Π˜Π” ΠΈ Π‘ΡƒΠ±Π“Π˜Π”, рСспСктивно:

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

Π”Π° бистС ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅, Π›ΠšΠ‘Π” сСрвис сС ΠΌΠΎΡ€Π° ΠΏΠΎΠ½ΠΎΠ²ΠΎ ΠΏΠΎΠΊΡ€Π΅Π½ΡƒΡ‚ΠΈ:

sudo systemctl restart lxd

ΠšΡ€Π΅ΠΈΡ€Π°ΡšΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½ΠΎΠ³ ΠΌΡ€Π΅ΠΆΠ½ΠΎΠ³ ΠΏΡ€Π΅ΠΊΠΈΠ΄Π°Ρ‡Π° ^

ΠŸΠΎΡˆΡ‚ΠΎ смо ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ ΠΌΡ€Π΅ΠΆΡƒ ΠΏΠΎΠΌΠΎΡ›Ρƒ Ρ‡Π°Ρ€ΠΎΠ±ΡšΠ°ΠΊΠ° Π·Π° ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Ρƒ lxd init ΠΈ ΠΊΡ€Π΅ΠΈΡ€Π°ΠΎ ΠΌΡ€Π΅ΠΆΠ½ΠΈ ΡƒΡ€Π΅Ρ’Π°Ρ˜ Π»ΠΊΠ΄Π±Ρ€0, ΠΎΠ½Π΄Π° Ρ›Π΅ΠΌΠΎ сС Ρƒ ΠΎΠ²ΠΎΠΌ ΠΎΠ΄Π΅Ρ™ΠΊΡƒ Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΎ ΡƒΠΏΠΎΠ·Π½Π°Ρ‚ΠΈ са ΡƒΠΌΡ€Π΅ΠΆΠ°Π²Π°ΡšΠ΅ΠΌ Ρƒ Π›ΠšΠ‘Π”-Ρƒ ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½ΠΈ ΠΏΡ€Π΅ΠΊΠΈΠ΄Π°Ρ‡ (мост) користСћи ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΊΠ»ΠΈΡ˜Π΅Π½Ρ‚Π°.

Π‘Π»Π΅Π΄Π΅Ρ›ΠΈ Π΄ΠΈΡ˜Π°Π³Ρ€Π°ΠΌ ΠΏΠΎΠΊΠ°Π·ΡƒΡ˜Π΅ ΠΊΠ°ΠΊΠΎ ΠΏΡ€Π΅ΠΊΠΈΠ΄Π°Ρ‡ (мост) ΠΏΠΎΠ²Π΅Π·ΡƒΡ˜Π΅ хост ΠΈ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Π΅ Ρƒ ΠΌΡ€Π΅ΠΆΡƒ:

ОсновнС карактСристикС Π›ΠšΠ‘Π” - Π›ΠΈΠ½ΡƒΠΊ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΡΠΊΠΈΡ… систСма

ΠšΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ ΠΌΠΎΠ³Ρƒ Π΄Π° ΠΊΠΎΠΌΡƒΠ½ΠΈΡ†ΠΈΡ€Π°Ρ˜Ρƒ ΠΏΡ€Π΅ΠΊΠΎ ΠΌΡ€Π΅ΠΆΠ΅ са Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈΠΌΠ° ΠΈΠ»ΠΈ са хостом Π½Π° ΠΊΠΎΠΌΠ΅ сС ΠΎΠ²ΠΈ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ ΠΏΠΎΡΠ»ΡƒΠΆΡƒΡ˜Ρƒ. Π”Π° бистС Ρ‚ΠΎ ΡƒΡ€Π°Π΄ΠΈΠ»ΠΈ, ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ јС Π΄Π° ΠΏΠΎΠ²Π΅ΠΆΠ΅Ρ‚Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½Π΅ ΠΌΡ€Π΅ΠΆΠ½Π΅ ΠΊΠ°Ρ€Ρ‚ΠΈΡ†Π΅ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Π° са Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½ΠΈΠΌ ΠΏΡ€Π΅ΠΊΠΈΠ΄Π°Ρ‡Π΅ΠΌ. ΠŸΡ€Π²ΠΎ Ρ›Π΅ΠΌΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΠΈ ΠΏΡ€Π΅ΠΊΠΈΠ΄Π°Ρ‡, Π° ΠΌΡ€Π΅ΠΆΠ½ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜ΡΠΈ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Π° Ρ›Π΅ Π±ΠΈΡ‚ΠΈ ΠΏΠΎΠ²Π΅Π·Π°Π½ΠΈ Ρƒ Π½Π°Ρ€Π΅Π΄Π½ΠΈΠΌ ΠΏΠΎΠ³Π»Π°Π²Ρ™ΠΈΠΌΠ°, Π½Π°ΠΊΠΎΠ½ ΡˆΡ‚ΠΎ сС сам ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ ΠΊΡ€Π΅ΠΈΡ€Π°.

Π‘Π»Π΅Π΄Π΅Ρ›Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΊΡ€Π΅ΠΈΡ€Π° ΠΏΡ€Π΅ΠΊΠΈΠ΄Π°Ρ‡ са ΠΏΠΎΠ΄ΠΌΡ€Π΅ΠΆΠΎΠΌ 10.0.5.0/24 ΠΈ ИПв4 адрСса 10.0.5.1/24, Π° Ρ‚Π°ΠΊΠΎΡ’Π΅ ΡƒΠΊΡ™ΡƒΡ‡ΡƒΡ˜Π΅ ipv4.nat Ρ‚Π°ΠΊΠΎ Π΄Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ ΠΌΠΎΠ³Ρƒ Π΄Π° приступС Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ ΠΏΡ€Π΅ΠΊΠΎ хоста користСћи НАВ услугу:

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

ΠŸΡ€ΠΎΠ²Π΅Ρ€Π° листС ΠΌΡ€Π΅ΠΆΠ½ΠΈΡ… ΡƒΡ€Π΅Ρ’Π°Ρ˜Π° доступних Ρƒ Π›ΠšΠ‘Π”:

lxc network list

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

Π’Π°ΠΊΠΎΡ’Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ Π΄Π° Π»ΠΈ јС ΠΌΡ€Π΅ΠΆΠ½ΠΈ ΡƒΡ€Π΅Ρ’Π°Ρ˜ ΠΊΡ€Π΅ΠΈΡ€Π°Π½ ΠΏΠΎΠΌΠΎΡ›Ρƒ стандардног Π°Π»Π°Ρ‚Π° Π›ΠΈΠ½ΡƒΠΊ Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π΅ - 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

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

Π‘Π²Π°ΠΊΠΈ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ Ρƒ Π›ΠšΠ‘Π”-Ρƒ ΠΈΠΌΠ° ΡΠ²ΠΎΡ˜Ρƒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Ρƒ ΠΈ ΠΌΠΎΠΆΠ΅ јС ΠΏΡ€ΠΎΡˆΠΈΡ€ΠΈΡ‚ΠΈ Π³Π»ΠΎΠ±Π°Π»Π½ΠΎ дСкларисаним ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°ΠΌΠ° Ρ‚Π·Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ. ΠŸΡ€ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½ΠΈΡ… ΠΏΡ€ΠΎΡ„ΠΈΠ»Π° Π½Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ ΠΈΠΌΠ° каскадни ΠΌΠΎΠ΄Π΅Π», слСдСћи ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·ΡƒΡ˜Π΅:

ОсновнС карактСристикС Π›ΠšΠ‘Π” - Π›ΠΈΠ½ΡƒΠΊ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΡΠΊΠΈΡ… систСма

Π£ ΠΎΠ²ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ су ΠΊΡ€Π΅ΠΈΡ€Π°Π½Π° Ρ‚Ρ€ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»Π° Ρƒ Π›ΠšΠ‘Π” систСму: 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

Π’Π°ΠΆΠ½ΠΎ јС Π½Π°ΠΏΠΎΠΌΠ΅Π½ΡƒΡ‚ΠΈ Π΄Π° ΠΏΠΎΡˆΡ‚ΠΎ смо Π·Π°ΠΏΡ€Π°Π²ΠΎ Π΄ΠΎΠ΄Π°Π»ΠΈ ΡƒΡ€Π΅Ρ’Π°Ρ˜ Ρƒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ», Π°ΠΊΠΎ смо Π½Π°Π²Π΅Π»ΠΈ статичку ИП адрСсу Ρƒ ΡƒΡ€Π΅Ρ’Π°Ρ˜Ρƒ, ΠΎΠ½Π΄Π° Ρ›Π΅ сви ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ који Ρ›Π΅ користити овај ΠΏΡ€ΠΎΡ„ΠΈΠ» Π΄Π΅Π»ΠΈΡ‚ΠΈ исту ИП адрСсу. Ако ΠΏΠΎΡΡ‚ΠΎΡ˜ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π΄Π° сС ΠΊΡ€Π΅ΠΈΡ€Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ са статичком ИП адрСсом Π΄ΠΎΠ΄Π΅Ρ™Π΅Π½ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Ρƒ, ΠΎΠ½Π΄Π° Π±ΠΈ Ρ‚Ρ€Π΅Π±Π°Π»ΠΎ Π΄Π° ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Ρƒ ΠΌΡ€Π΅ΠΆΠ½ΠΎΠ³ ΡƒΡ€Π΅Ρ’Π°Ρ˜Π° Π½Π° Π½ΠΈΠ²ΠΎΡƒ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Π° (Π»ΠΎΠΊΠ°Π»Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°) са ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ ИП адрСсС, Π° Π½Π΅ Π½Π° Π½ΠΈΠ²ΠΎΡƒ ΠΏΡ€ΠΎΡ„ΠΈΠ»Π°.

Π₯ајдС Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌΠΎ ΠΏΡ€ΠΎΡ„ΠΈΠ»:

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 са Ρ‚Π°Ρ‡ΠΊΠΎΠΌ ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°ΡšΠ° / (Ρ€ΠΎΠΎΡ‚) користСћи ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΎ ΠΊΡ€Π΅ΠΈΡ€Π°Π½Ρƒ Π‘Ρ‚ΠΎΡ€Π°Π³Π΅ Поол - 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: []

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡ˜ΡƒΠΌ слика ^

ΠšΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ сС ΠΊΡ€Π΅ΠΈΡ€Π°Ρ˜Ρƒ ΠΎΠ΄ слика којС су посСбно састављСнС Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π΅ којС Π½Π΅ΠΌΠ°Ρ˜Ρƒ Ρ˜Π΅Π·Π³Ρ€ΠΎ Π›ΠΈΠ½ΡƒΠΊΠ°. Π‘Ρ‚ΠΎΠ³Π°, ΠΏΡ€Π΅ ΠΏΠΎΠΊΡ€Π΅Ρ‚Π°ΡšΠ° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Π°, ΠΎΠ½ ΠΌΠΎΡ€Π° Π±ΠΈΡ‚ΠΈ распорСђСн са ΠΎΠ²Π΅ сликС. Π˜Π·Π²ΠΎΡ€ слика јС Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π΅ Ρƒ којС сС сликС ΠΏΡ€Π΅ΡƒΠ·ΠΈΠΌΠ°Ρ˜Ρƒ ΠΈΠ· спољних ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π°.

Π£Π΄Π°Ρ™Π΅Π½Π° ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π° слика ^

ΠŸΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π½ΠΎ, Π›ΠšΠ‘Π” јС конфигурисан Π΄Π° ΠΏΡ€ΠΈΠΌΠ° сликС са Ρ‚Ρ€ΠΈ ΡƒΠ΄Π°Ρ™Π΅Π½Π° ΠΈΠ·Π²ΠΎΡ€Π°:

  • ΡƒΠ±ΡƒΠ½Ρ‚Ρƒ: (Π·Π° стабилнС Π£Π±ΡƒΠ½Ρ‚Ρƒ сликС)
  • ΡƒΠ±ΡƒΠ½Ρ‚Ρƒ-Π΄Π½Π΅Π²Π½ΠΎ: (Π·Π° Π΄Π½Π΅Π²Π½Π΅ Π£Π±ΡƒΠ½Ρ‚Ρƒ сликС)
  • сликС: (Π·Π° Π³ΠΎΠΌΠΈΠ»Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π°)

lxc remote list

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

На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π΅ ubuntu: ΠΈΠΌΠ° слСдСћС сликС:

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

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

Π—Π° ΠΏΡ€ΠΈΠΊΠ°Π· ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎΠ³ Π±Ρ€ΠΎΡ˜Π° ΠΊΠΎΠ»ΠΎΠ½Π° користили смо ΠΎΠΏΡ†ΠΈΡ˜Ρƒ -c са ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠΌΠ° dasut, Π° Ρ‚Π°ΠΊΠΎΡ’Π΅ јС ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΌ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠΎ Π΄ΡƒΠΆΠΈΠ½Ρƒ листС head.

Π€ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°ΡšΠ΅ јС доступно Π·Π° ΠΏΡ€ΠΈΠΊΠ°Π· листС слика. Π‘Π»Π΅Π΄Π΅Ρ›Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ›Π΅ навСсти свС доступнС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π΅ АлпинСЛинук:

lxc image -c ldast list images:alpine/3.11

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

Π›ΠΎΠΊΠ°Π»Π½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅ слика ^

Π”Π° бистС ΠΏΠΎΡ‡Π΅Π»ΠΈ Π΄Π° користитС ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€, ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ јС Π΄Π° Π΄ΠΎΠ΄Π°Ρ‚Π΅ слику ΠΈΠ· Π³Π»ΠΎΠ±Π°Π»Π½ΠΎΠ³ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π° Ρƒ Π»ΠΎΠΊΠ°Π»Π½ΠΎ local:. Π‘Π°Π΄Π° јС Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π΅ ΠΏΡ€Π°Π·Π½ΠΎ, ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ›Π΅ сС ΠΏΠΎΠ±Ρ€ΠΈΠ½ΡƒΡ‚ΠΈ Π·Π° ΠΎΠ²ΠΎ lxc image list. Ако ΠΌΠ΅Ρ‚ΠΎΠ΄ list Π½Π΅ΠΌΠΎΡ˜Ρ‚Π΅ навСсти ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π΅, Ρ‚Π°Π΄Π° Ρ›Π΅ сС Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π΅ користити ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π½ΠΎ - local:

lxc image list local:

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

Π‘Π»ΠΈΠΊΠ°ΠΌΠ° Ρƒ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Ρƒ сС ΡƒΠΏΡ€Π°Π²Ρ™Π° ΠΏΠΎΠΌΠΎΡ›Ρƒ слСдСћих ΠΌΠ΅Ρ‚ΠΎΠ΄Π°:

Π’ΠΈΠΌ
Опис

Π»ΠΊΡ† ΠΈΠΌΠ°Π³Π΅ Π·Π²Π°Π½ΠΈ
Π£ΠΏΡ€Π°Π²Ρ™Π°Ρ˜Ρ‚Π΅ псСудонимима слика

Π»ΠΊΡ† ΠΈΠΌΠ°Π³Π΅ копија
ΠšΠΎΠΏΠΈΡ€Π°Ρ˜Ρ‚Π΅ сликС ΠΈΠ·ΠΌΠ΅Ρ’Ρƒ сСрвСра

Π»ΠΊΡ† ΠΈΠΌΠ°Π³Π΅ избрисати
Π˜Π·Π±Ρ€ΠΈΡˆΠΈ сликС

Π»ΠΊΡ† ΠΈΠΌΠ°Π³Π΅ Π΅Π΄ΠΈΡ‚
Π£Ρ€Π΅Π΄ΠΈΡ‚Π΅ ΡΠ²ΠΎΡ˜ΡΡ‚Π²Π° сликС

Π»ΠΊΡ† ΠΈΠΌΠ°Π³Π΅ ΠΈΠ·Π²ΠΎΠ·
Π˜Π·Π²Π΅Π·ΠΈΡ‚Π΅ ΠΈ ΠΏΡ€Π΅ΡƒΠ·ΠΌΠΈΡ‚Π΅ сликС

Π»ΠΊΡ† ΠΈΠΌΠ°Π³Π΅ ΡƒΠ²ΠΎΠ·
Π£Π²Π΅Π·ΠΈΡ‚Π΅ сликС Ρƒ ΠΏΡ€ΠΎΠ΄Π°Π²Π½ΠΈΡ†Ρƒ слика

Π»ΠΊΡ† ΠΈΠΌΠ°Π³Π΅ info
ΠŸΠΎΠΊΠ°ΠΆΠΈΡ‚Π΅ кориснС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ˜Π΅ ΠΎ сликама

Π»ΠΊΡ† ΠΈΠΌΠ°Π³Π΅ листа
Листа слика

Π»ΠΊΡ† ΠΈΠΌΠ°Π³Π΅ освСТити
ΠžΡΠ²Π΅ΠΆΠΈΡ‚Π΅ сликС

Π»ΠΊΡ† ΠΈΠΌΠ°Π³Π΅ ΡˆΠΎΡƒ
ΠŸΡ€ΠΈΠΊΠ°ΠΆΠΈ ΡΠ²ΠΎΡ˜ΡΡ‚Π²Π° сликС

ΠšΠΎΠΏΠΈΡ€Π°Ρ˜Ρ‚Π΅ слику Ρƒ Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΡΠΏΡ€Π΅ΠΌΠΈΡˆΡ‚Π΅ ΠΈΠ· Π³Π»ΠΎΠ±Π°Π»Π½ΠΎΠ³ 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       |
+---------+--------------+------------------------------------+--------------+

Π›ΠšΠ‘Π” Π¦ΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΈΠΎΠ½ ^

ΠŸΠΎΡ€Π΅Π΄ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ Ρ€Π΅ΠΆΠΈΠΌΠ°, Π›ΠšΠ‘Π” Ρ‚Π°ΠΊΠΎΡ’Π΅ ΠΏΠΎΠ΄Ρ€ΠΆΠ°Π²Π° Π½Π΅ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ Ρ€Π΅ΠΆΠΈΠΌ ΠΈΠ½ΡΡ‚Π°Π»Π°Ρ†ΠΈΡ˜Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π΅, ΠΎΠ²ΠΎ јС ΠΊΠ°Π΄Π° јС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π½Π°Π²Π΅Π΄Π΅Π½Π° Ρƒ ΠΎΠ±Π»ΠΈΠΊΡƒ Π˜ΠΠœΠ› Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅, посСбног Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° који Π²Π°ΠΌ ΠΎΠΌΠΎΠ³ΡƒΡ›Π°Π²Π° Π΄Π° инсталиратС Ρ†Π΅Π»Ρƒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Ρƒ одјСдном, Π·Π°ΠΎΠ±ΠΈΠ»Π°Π·Π΅Ρ›ΠΈ ΠΈΠ·Π²Ρ€ΡˆΠ΅ΡšΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΎ којима јС Π±ΠΈΠ»ΠΎ Ρ€Π΅Ρ‡ΠΈ Ρƒ ΠΎΠ²ΠΎΠΌ Ρ‡Π»Π°Π½ΠΊΡƒ, ΡƒΠΊΡ™ΡƒΡ‡ΡƒΡ˜ΡƒΡ›ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Ρƒ ΠΌΡ€Π΅ΠΆΠ΅, ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½ΠΈΡ… ΠΏΡ€ΠΎΡ„ΠΈΠ»Π° ΠΈΡ‚Π΄. НСћСмо ΠΏΠΎΠΊΡ€ΠΈΠ²Π°Ρ‚ΠΈ ΠΎΠ²Ρƒ област ΠΎΠ²Π΄Π΅, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ јС сами ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΠΈ. Ρƒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜ΠΈ.

Π‘Π»Π΅Π΄Π΅Ρ›Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° 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 β€” Овај тастСр ΠΎΠ·Π½Π°Ρ‡Π°Π²Π° Ρƒ којој Π‘Ρ‚ΠΎΡ€Π°Π³Π΅ Поол Π±ΠΈΡ›Π΅ ΠΊΡ€Π΅ΠΈΡ€Π°Π½ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€
  • --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: ""

ПодСшавањС статичкС ИП адрСсС ^

Ако ΠΏΠΎΠΊΡƒΡˆΠ°ΠΌΠΎ Π΄Π° поставимо ИП адрСсу Π·Π° ΠΌΡ€Π΅ΠΆΠ½ΠΈ ΡƒΡ€Π΅Ρ’Π°Ρ˜ 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

Наравно, ΠΌΠΎΠΆΠ΅ΠΌΠΎ поставити статичку ИП адрСсу Π·Π° 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

Π£ΠΏΡ€Π°Π²Ρ™Π°ΡšΠ΅ рСсурсима ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Π° ^

Π£ Π›ΠšΠ‘Π”-Ρƒ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΏΡ€Π°Π²Ρ™Π°Ρ‚ΠΈ рСсурсима ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Π° користСћи посСбан скуп ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°. МоТС сС ΠΏΡ€ΠΎΠ½Π°Ρ›ΠΈ ΠΊΠΎΠΌΠΏΠ»Π΅Ρ‚Π½Π° листа ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½ΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Π° Ρƒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜ΠΈ.

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ΅ РАМ рСсурса ^

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€ limits.memory ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π° ΠΊΠΎΠ»ΠΈΡ‡ΠΈΠ½Ρƒ РАМ-Π° доступног ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Ρƒ. ВрСдност јС Π±Ρ€ΠΎΡ˜ ΠΈ јСдан ΠΎΠ΄ располоТиви суфикси.

ΠŸΠΎΡΡ‚Π°Π²ΠΈΠΌΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ΅ РАМ-Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Π° Π½Π° 256 ΠœΠ‘:

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 - ΡƒΠΏΡ€Π°Π²Ρ™Π° ΠΈΠ»ΠΈ ΠΊΠ²ΠΎΡ‚Π°ΠΌΠ° Π¦Π€Π‘ ΠΏΠ»Π°Π½Π΅Ρ€Π° ΠΊΠ°Π΄Π° ΠΏΡ€ΠΎΡ’Π΅ врСмСнско ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ΅, ΠΈΠ»ΠΈ ΡƒΠ½ΠΈΠ²Π΅Ρ€Π·Π°Π»Π½ΠΈΠΌ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ Π΄Π΅Ρ™Π΅ΡšΠ° ЦПУ рСсурса ΠΊΠ°Π΄Π° јС ΠΏΡ€ΠΎΡ†Π΅Π½Π°Ρ‚ ΠΏΡ€ΠΎΡˆΠ°ΠΎ
  • 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 Ρ‚Π°ΠΊΠΎΡ’Π΅ ΠΌΠΎΠΆΠ΅ΠΌΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΠΈ ΠΊΠΎΠ»ΠΈΡ‡ΠΈΠ½Ρƒ простора Π½Π° диску који користи ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ (Ρ€Π°Π΄ΠΈ само са Π—Π€Π‘ ΠΈΠ»ΠΈ Π‘Π’Π Π€Π‘):

lxc config device set alp root size=2GB

Након ΠΈΠ½ΡΡ‚Π°Π»Π°Ρ†ΠΈΡ˜Π΅, Ρƒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ devices.root.size МоТСмо Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌΠΎ постављСно ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ΅:

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

Π”Π° бистС Π²ΠΈΠ΄Π΅Π»ΠΈ ΠΊΠΎΡ€ΠΈΡˆΡ›Π΅Π½Π΅ дисковнС ΠΊΠ²ΠΎΡ‚Π΅ ΠΌΠΎΠΆΠ΅ΠΌΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΠΈ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π΅ lxc info:

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

Упркос Ρ‡ΠΈΡšΠ΅Π½ΠΈΡ†ΠΈ Π΄Π° смо поставили ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ΅ Π·Π° Ρ€ΠΎΠΎΡ‚ ΡƒΡ€Π΅Ρ’Π°Ρ˜ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Π° Π½Π° 2Π“Π‘, систСмски услуТни ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ ΠΊΠ°ΠΎ Π½ΠΏΡ€. df Π½Π΅Ρ›Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΠΈ ΠΎΠ²ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ΅. Π”Π° бисмо Ρ‚ΠΎ ΡƒΡ€Π°Π΄ΠΈΠ»ΠΈ, ΡΠΏΡ€ΠΎΠ²Π΅ΡˆΡ›Π΅ΠΌΠΎ ΠΌΠ°Π»ΠΈ тСст ΠΈ сазнаћСмо ΠΊΠ°ΠΊΠΎ Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡˆΠ΅.

Π₯ајдС Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌΠΎ 2 Π½ΠΎΠ²Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Π° Ρƒ истом Π‘Ρ‚ΠΎΡ€Π°Π³Π΅ Поол (Ρ…Π΄Π΄ΠΏΠΎΠΎΠ»):

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 Π“Π‘ Ρƒ јСдном ΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Π°:

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 ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½ ΠΊΠ°ΠΎ ΡˆΡ‚ΠΎ јС Ρ€ΠΎΠΎΡ‚ ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΡ˜Π° Π‘Ρ‚ΠΎΡ€Π°Π³Π΅ Поол којС ΠΎΠ²ΠΈ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ користС, ΠΏΠ° ΡšΠ΅Π³ΠΎΠ²Ρƒ Π·Π°ΠΏΡ€Π΅ΠΌΠΈΠ½Ρƒ Π΄Π΅Π»Π΅ ΠΈΠ·ΠΌΠ΅Ρ’Ρƒ Π΄Π²Π°.

Бтатистика ΠΏΠΎΡ‚Ρ€ΠΎΡˆΡšΠ΅ рСсурса ^

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ статистику ΠΏΠΎΡ‚Ρ€ΠΎΡˆΡšΠ΅ рСсурса Π·Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ користСћи ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

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

Π Π°Π΄ са снимцима ^

Π›ΠšΠ‘Π” ΠΈΠΌΠ° могућност ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ° снимака ΠΈ Π²Ρ€Π°Ρ›Π°ΡšΠ° ΡΡ‚Π°ΡšΠ° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Π° ΠΈΠ· ΡšΠΈΡ….

Π”Π° бистС Π½Π°ΠΏΡ€Π°Π²ΠΈΠ»ΠΈ снимак, ΠΏΠΎΠΊΡ€Π΅Π½ΠΈΡ‚Π΅ слСдСћу ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

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

Π£ Π³ΠΎΡ€ΡšΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΏΠΎΠ³Π»Π΅Π΄Π°Π»ΠΈ смо Ρ‚Π°ΠΊΠΎΠ·Π²Π°Π½Π΅ снимкС Π±Π΅Π· ΡΡ‚Π°ΡšΠ°. Π›ΠšΠ‘Π” ΠΈΠΌΠ° још Ρ˜Π΅Π΄Π½Ρƒ врсту снимака - ΡΡ‚Π°ΡšΠ°, која Ρ‡ΡƒΠ²Π° Ρ‚Ρ€Π΅Π½ΡƒΡ‚Π½ΠΎ ΡΡ‚Π°ΡšΠ΅ свих процСса Ρƒ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€Ρƒ. ΠŸΠΎΡΡ‚ΠΎΡ˜ΠΈ Π½ΠΈΠ· Π·Π°Π½ΠΈΠΌΡ™ΠΈΠ²ΠΈΡ… ΠΈ корисних Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° ΠΏΠΎΠ²Π΅Π·Π°Π½ΠΈΡ… са снимцима ΡΡ‚Π°ΡšΠ°.

Π¨Ρ‚Π° још? ^

  • ΠœΠΎΠ΄ΡƒΠ» јС доступан Π·Π° ΠŸΠΈΡ‚Ρ…ΠΎΠ½ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€Π΅ ΠŸΠΈΠ›ΠšΠ‘Π” који ΠΎΠ±Π΅Π·Π±Π΅Ρ’ΡƒΡ˜Π΅ АПИ Π·Π° Π›ΠšΠ‘Π”

ΠΠ–Π£Π Π˜Π ΠΠŠΠ• 10.04.2020/15/00 XNUMX:XNUMX: Π”ΠΎΠ΄Π°Ρ‚Π° Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡ˜Π°

Π˜Π·Π²ΠΎΡ€: Π²Π²Π².Ρ…Π°Π±Ρ€.Ρ†ΠΎΠΌ

Π”ΠΎΠ΄Π°Ρ˜ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€