เบฅเบฑเบเบชเบฐเบ™เบฐเบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡ LXD - เบฅเบฐเบšเบปเบšเบšเบฑเบ™เบˆเบธ Linux

เบฅเบฑเบเบชเบฐเบ™เบฐเบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡ LXD - เบฅเบฐเบšเบปเบšเบšเบฑเบ™เบˆเบธ Linux

LXD เปเบกเปˆเบ™เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบšเบฑเบ™เบˆเบธเบฅเบฐเบšเบปเบšเบฅเบธเป‰เบ™เบ•เปเปˆเป„เบ›, เบชเบฐเบ™เบฑเป‰เบ™เบกเบฑเบ™เป€เบงเบปเป‰เบฒเบงเปˆเบฒ เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™. เบกเบฑเบ™เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡ virtual, เปเบ•เปˆเปƒเบŠเป‰ Linux containers เปเบ—เบ™.

เบซเบผเบฑเบ LXD เปเบกเปˆเบ™ daemon เบ—เบตเปˆเบกเบตเบชเบดเบ”เบ—เบดเบžเบดเป€เบชเบ” (เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบ”เป‰เบงเบเบชเบดเบ”เบ—เบดเบ‚เบญเบ‡เบฎเบฒเบ) เบ—เบตเปˆเบชเบฐเบซเบ™เบญเบ‡ REST API เบœเปˆเบฒเบ™เบŠเบฑเบญเบเป€เบเบฑเบ” unix เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ–เป‰เบฒเบกเบตเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบก. เบฅเบนเบเบ„เป‰เบฒ, เป€เบŠเบฑเปˆเบ™เป€เบ„เบทเปˆเบญเบ‡เบกเบทเป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เบเบฑเบš LXD, เป€เบฎเบฑเบ”เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบœเปˆเบฒเบ™ REST API เบ™เบตเป‰. เบ™เบตเป‰เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบšเปเปˆเบงเปˆเบฒเบ—เปˆเบฒเบ™เบˆเบฐเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป€เบˆเบปเป‰เบฒเบžเบฒเบšเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบซเบผเบทเป‚เบฎเบ”เบซเปˆเบฒเบ‡เป„เบเบชเบญเบเบซเบผเบตเบ, เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป€เบฎเบฑเบ”เบงเบฝเบเบ„เบทเบเบฑเบ™.

เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบšเปเปˆเบขเบนเปˆเปƒเบ™เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบเปˆเบฝเบงเบเบฑเบšเปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ‚เบญเบ‡ LXD, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบšเปเปˆเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ—เบตเปˆเบกเบตเบขเบนเปˆเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™เป€เบญเบเบฐเบชเบฒเบ™, เบฅเบงเบกเบ—เบฑเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒเปƒเบ™ LXD เบฎเบธเปˆเบ™เบซเบผเป‰เบฒเบชเบธเบ”เบ‚เบญเบ‡เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบ virtual QEMU เปƒเบ™เบ‚เบฐเบซเบ™เบฒเบ™เบเบฑเบšเบšเบฑเบ™เบˆเบธ. เปเบ—เบ™เบ—เบตเปˆเบˆเบฐ, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบฎเบฝเบ™เบฎเบนเป‰เบžเบฝเบ‡เปเบ•เปˆเบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบต - เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบชเบฐเบ™เบธเบเป€เบเบตเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ, เป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เปเบฅเปˆเบ™เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบต, เบ™เปเบฒเปƒเบŠเป‰เบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”เบ‚เบญเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™, เปเบฅเบฐเบงเบดเบ—เบตเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ snapshots เป€เบžเบทเปˆเบญเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเปƒเบˆเบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡ LXD เปเบฅเบฐเปƒเบŠเป‰ containers เปƒเบ™ Linux.

เบชเปเบฒเบฅเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบ„เบปเบšเบ–เป‰เบงเบ™, เบเบฐเบฅเบธเบ™เบฒเป€เบšเบดเปˆเบ‡เปเบซเบผเปˆเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™:

เบ™เบณ เบ—เบฒเบ‡

เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ LXD ^

เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ LXD เปƒเบ™เบเบฒเบ™เปเบˆเบเบขเบฒเบ Ubuntu ^

เปƒเบ™เบŠเบธเบ”เบเบฒเบ™เปเบˆเบเบขเบฒเบ Ubuntu 19.10 lxd เบกเบตเบเบฒเบ™เบญเบญเบเบญเบฒเบเบฒเบ” เปเบžเบฑเบเป€เบเบฑเบ” snap:

apt search lxd

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

เบ™เบตเป‰เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบชเบญเบ‡เบŠเบธเบ”เบˆเบฐเบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบญเบฑเบ™เบซเบ™เบถเปˆเบ‡เป€เบ›เบฑเบ™เบŠเบธเบ”เบฅเบฐเบšเบปเบšเปเบฅเบฐเบญเบตเบเบŠเบธเบ”เบซเบ™เบถเปˆเบ‡เป€เบ›เบฑเบ™เบŠเบธเบ” snap. เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบชเบญเบ‡เปเบžเบฑเบเป€เบเบฑเบ”เบขเบนเปˆเปƒเบ™เบฅเบฐเบšเบปเบšเบญเบฒเบ”เบˆเบฐเบชเป‰เบฒเบ‡เบšเบฑเบ™เบซเบฒเบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ—เบตเปˆเปเบžเบฑเบเป€เบเบฑเบ”เบฅเบฐเบšเบปเบšเบญเบฒเบ”เบˆเบฐเบเบฒเบเป€เบ›เบฑเบ™เป€เบ”เบฑเบเบเปเบฒเบžเป‰เบฒเบ–เป‰เบฒเปเบžเบฑเบเป€เบเบฑเบ” snap เบ–เบทเบเป‚เบเบเบเป‰เบฒเบเบญเบญเบเป‚เบ”เบเบœเบนเป‰เบˆเบฑเบ”เบเบฒเบ™เปเบžเบฑเบเป€เบเบฑเบ” snap.

เบŠเบญเบเบซเบฒเบŠเบธเบ” lxd เปƒเบ™ snap repository เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

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 เป€เบ›เบฑเบ™เบŠเบธเบ” snap, เบกเบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เป‚เบ”เบเบœเปˆเบฒเบ™เบŠเบธเบ”เบฅเบฐเบšเบปเบš lxd, เป€เบŠเบดเปˆเบ‡เบˆเบฐเบชเป‰เบฒเบ‡เบเบธเปˆเบกเบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™เปƒเบ™เบฅเบฐเบšเบปเบš, เป€เบ„เบทเปˆเบญเบ‡เปƒเบŠเป‰เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เปƒเบ™ /usr/bin เปเบฅเบฐเบญเบทเปˆเบ™เป†.

sudo apt update
sudo apt install lxd

เปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบŠเบธเบ”เป„เบ”เป‰เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เป€เบ›เบฑเบ™เปเบžเบฑเบเป€เบเบฑเบ” snap:

snap list

Name  Version    Rev    Tracking  Publisher   Notes
core  16-2.43.3  8689   stable    canonicalโœ“  core
lxd   3.21       13474  stable/โ€ฆ  canonicalโœ“  -

เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ LXD เปƒเบ™เบเบฒเบ™เปเบˆเบเบขเบฒเบ Arch Linux ^

เป€เบžเบทเปˆเบญเบ•เบดเบ”เบ•เบฑเป‰เบ‡เปเบžเบฑเบเป€เบเบฑเบ” LXD เปƒเบ™เบฅเบฐเบšเบปเบš, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰, เบ—เปเบฒเบญเบดเบ”เบˆเบฐเบ›เบฑเบšเบ›เบธเบ‡เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบŠเบธเบ”เปƒเบ™เบฅเบฐเบšเบปเบšเบ—เบตเปˆเบกเบตเบขเบนเปˆเปƒเบ™ repository, เบ—เบตเบชเบญเบ‡เบˆเบฐเบ•เบดเบ”เบ•เบฑเป‰เบ‡เปเบžเบฑเบเป€เบเบฑเบ”เป‚เบ”เบเบเบปเบ‡:

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 ^

เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบชเป‰เบฒเบ‡เปเบฅเบฐเบ™เปเบฒเปƒเบŠเป‰ containers, เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™ LXD เบ—เบปเปˆเบงเป„เบ›เบ—เบตเปˆเบชเป‰เบฒเบ‡เปเบฅเบฐ configure เป€เบ„เบทเบญเบ‚เปˆเบฒเบเปเบฅเบฐเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ. เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰เบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡เป‚เบ”เบเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡เบฅเบนเบเบ„เป‰เบฒเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบ—เบตเปˆเบกเบตเบขเบนเปˆเปƒเบ™เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเป‚เบ”เบเบเบฒเบ™เป‚เบ—เบซเบฒเบ„เปเบฒเบชเบฑเปˆเบ‡ lxc --help เบซเบผเบทเปƒเบŠเป‰เบ•เบปเบงเบŠเปˆเบงเบเบชเป‰เบฒเบ‡เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ lxd init เบเบฒเบ™เบ•เบญเบšเบ„เปเบฒเบ–เบฒเบกเบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡.

เบเบฒเบ™เป€เบฅเบทเบญเบเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบชเปเบฒเบฅเบฑเบš Storage Pool ^

เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, LXD เบ–เบฒเบกเบซเบผเบฒเบเป†เบ„เปเบฒเบ–เบฒเบก, เบฅเบงเบกเบ—เบฑเบ‡เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบชเปเบฒเบฅเบฑเบšเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ เบชเบฐเบฅเบญเบเบ™เปเป‰เบฒ. เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ BTRFS เบ–เบทเบเป€เบฅเบทเบญเบเบชเปเบฒเบฅเบฑเบšเบกเบฑเบ™. เบกเบฑเบ™เบˆเบฐเป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบ›เปˆเบฝเบ™เป€เบ›เบฑเบ™ FS เบญเบทเปˆเบ™เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบชเป‰เบฒเบ‡. เป€เบžเบทเปˆเบญเป€เบฅเบทเบญเบ FS เบกเบฑเบ™เปเบกเปˆเบ™เปเบ™เบฐเบ™เปเบฒ เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ›เบฝเบšเบ—เบฝเบšเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”:

เบ„เบธเบ™เบ™เบฐเบชเบปเบกเบšเบฑเบ”
Directory
Btrfs
LVM
ZFS
CEPH

เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบฎเบนเบšเบžเบฒเบšเบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”
no
yes
yes
yes
yes

เบเบฒเบ™เบชเป‰เบฒเบ‡เบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”
no
yes
yes
yes
yes

เบเบฒเบ™เบชเป‰เบฒเบ‡เบžเบฒเบšเบ–เปˆเบฒเบเบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”
no
yes
yes
yes
yes

เบเบฒเบ™โ€‹เบ–เปˆเบฒเบโ€‹เป‚เบญเบ™โ€‹เบฎเบนเบšโ€‹เบžเบฒเบšโ€‹เบ—เบตเปˆโ€‹เป€เบซเบกเบฒเบฐโ€‹เบชเบปเบกโ€‹
no
yes
no
yes
yes

เบเบฒเบ™เป‚เบญเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”
no
yes
no
yes
yes

เบชเปเบฒโ€‹เป€เบ™เบปเบฒโ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ‚เบฝเบ™โ€‹
no
yes
yes
yes
yes

เบšเบฅเบฑเบญเบเบญเบตเบ‡เปƒเบชเปˆ
no
no
yes
no
yes

cloning เบ—เบฑเบ™เบ—เบต
no
yes
yes
yes
yes

เป„เบ”เป€เบงเบตเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เบ—เบตเปˆเปƒเบŠเป‰เป„เบ”เป‰เบžเบฒเบเปƒเบ™เบ–เบฑเบ‡
yes
yes
no
no
no

เบŸเบทเป‰เบ™โ€‹เบ•เบปเบงโ€‹เบˆเบฒเบโ€‹เบเบฒเบ™โ€‹เบ–เปˆเบฒเบโ€‹เบฎเบนเบšโ€‹เป€เบเบปเปˆเบฒ (เบšเปเปˆโ€‹เบซเบฅเป‰เบฒโ€‹เบชเบธเบ”โ€‹)
yes
yes
yes
no
yes

เป‚เบ„เบ•เป‰เบฒเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ
เปเบกเปˆเบ™เปเบฅเป‰เบง(*)
yes
yes
yes
no

เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ เปเบฅเบฐ Storage Pool เป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเบŠเปˆเบงเบเบชเป‰เบฒเบ‡ ^

เบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบšเบดเปˆเบ‡เปเบ™เบฐเบ™เปเบฒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ•เบปเป‰เบ™เบ•เปเบ‚เบญเบ‡ 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 เบ—เบฒเบ‡โ€‹เบ”เป‰เบฒเบ™โ€‹เบฎเปˆเบฒเบ‡โ€‹เบเบฒเบโ€‹เปƒเบ™ PC เบ‚เบญเบ‡โ€‹เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹.

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เปเปˆเป„เบ›เบ™เบตเป‰, เป€เบžเบทเปˆเบญเบ‚เบฐเบซเบเบฒเบเบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเปƒเบˆเบเปˆเบฝเบงเบเบฑเบšเบšเบปเบ”เบšเบฒเบ”เบ—เบตเปˆเบกเบตเบšเบปเบ”เบšเบฒเบ”เป‚เบ”เบ เบชเบฐเบฅเบญเบเบ™เปเป‰เบฒ เปƒเบ™ repository, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบชเป‰เบฒเบ‡เบญเบฑเบ™เบ—เบตเบชเบญเบ‡ เบชเบฐเบฅเบญเบเบ™เปเป‰เบฒ เป€เบŠเบดเปˆเบ‡เบˆเบฐเบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เบ›เบฐเป€เบžเบ”เบ•เปˆเบฒเบ‡เป†เบ‚เบญเบ‡เปเบœเปˆเบ™, HDD. เบšเบฑเบ™เบซเบฒเปเบกเปˆเบ™เบงเปˆเบฒ LXD เบšเปเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเป‰เบฒเบ‡ เบชเบฐเบฅเบญเบเบ™เปเป‰เบฒ เบญเบญเบเบˆเบฒเบเบ—เบตเปˆเบขเบนเปˆ /var/lib/lxd/disks/ เปเบฅเบฐเป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบชเบฑเบ™เบเบฒเบฅเบฑเบเบˆเบฐเบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบ, เป€เบšเบดเปˆเบ‡เบ„เปเบฒเบ•เบญเบšเบ‚เบญเบ‡เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒ. เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบ‚เป‰เบฒเบกเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบ™เบตเป‰เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ / เบฎเบนเบšเปเบšเบš เบชเบฐเบฅเบญเบเบ™เปเป‰เบฒ เป‚เบ”เบเบเบฒเบ™เบฅเบฐเบšเบธเบ„เปˆเบฒเป€เบ›เบฑเบ™เบญเบธเบ›เบฐเบเบญเบ™เบ•เบฑเบ™เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เป„เบ›เบซเบฒเป„เบŸเบฅเปŒ loopback เป‚เบ”เบเบเบฒเบ™เบฅเบฐเบšเบธเบ™เบตเป‰เปƒเบ™เบ„เบต source.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบชเป‰เบฒเบ‡ เบชเบฐเบฅเบญเบเบ™เปเป‰เบฒ เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบเปเบฒเบ™เบปเบ”เป„เบŸเบฅเปŒ loopback เบซเบผเบทเบเบฒเบ™เปเบšเปˆเบ‡เบ›เบฑเบ™เบ—เบตเปˆเบกเบตเบขเบนเปˆเปƒเบ™เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบ—เบตเปˆเบกเบฑเบ™เบˆเบฐเปƒเบŠเป‰. เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบชเป‰เบฒเบ‡เปเบฅเบฐเบ™เปเบฒเปƒเบŠเป‰เป„เบŸเบฅเปŒเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบˆเปเบฒเบเบฑเบ”เปƒเบ™เบ‚เบฐเบซเบ™เบฒเบ” 10GB:

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

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

เปƒเบซเป‰เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป„เบŸเบฅเปŒ loopback เบเบฑเบšเบญเบธเบ›เบฐเบเบญเบ™ loopback เบŸเบฃเบต:

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

/dev/loop1

เบ‚เปเบ‚เบญเบšเปƒเบˆเบเบฑเบšเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™ --show เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡โ€‹เบเบฑเบšโ€‹เบ„เบทเบ™โ€‹เป„เบ›โ€‹เบšเปˆเบญเบ™โ€‹เบซเบ™เป‰เบฒโ€‹เบˆเปโ€‹เบŠเบทเปˆโ€‹เบ‚เบญเบ‡โ€‹เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™โ€‹เบ—เบตเปˆโ€‹เป„เบŸเบฅโ€‹เปŒ loopback เบ‚เบญเบ‡โ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เปเบกเปˆเบ™โ€‹เป€เบŠเบทเปˆเบญเบกโ€‹เบ•เปเปˆโ€‹. เบ–เป‰เบฒเบˆเบณเป€เบ›เบฑเบ™, เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบชเบฐเปเบ”เบ‡เบฅเบฒเบเบŠเบทเปˆเบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเปˆเบซเบเบธเป‰เบ‡เบ—เบฑเบ‡เปเบปเบ”เบ‚เบญเบ‡เบ›เบฐเป€เบžเบ”เบ™เบตเป‰เป€เบžเบทเปˆเบญเปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบเบฒเบ™เบเบฐเบ—เบณเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ–เบทเบเบ•เป‰เบญเบ‡:

losetup -l

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

เบˆเบฒเบเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบŠเบญเบเบซเบฒเบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเปˆเบกเบต /dev/loop1 เบฅเบงเบกเป„เบŸเบฅเปŒ loopback /mnt/work/lxd/hddpool.img, เปเบฅเบฐเปƒเบ™เบญเบธเบ›เบฐเบเบญเบ™ /dev/loop0 เบฅเบงเบกเป„เบŸเบฅเปŒ loopback /var/lib/lxd/disks/ssdpool.img เป€เบŠเบดเปˆเบ‡เบเบปเบ‡เบเบฑเบšเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ เบชเบฐเบฅเบญเบเบ™เปเป‰เบฒ.

เบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰เบชเป‰เบฒเบ‡เบญเบฑเบ™เปƒเบซเบกเปˆ เบชเบฐเบฅเบญเบเบ™เปเป‰เบฒ เปƒเบ™ 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 ^

เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบšเบฑเบ™เบซเบฒเบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบซเบ™เบถเปˆเบ‡, เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆ rebooting เบฅเบฐเบšเบปเบšเป€เบˆเบปเป‰เบฒเบžเบฒเบš, เป„เบŸเบฅเปŒ /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.

เบซเบผเบฑเบ‡เบˆเบฒเบ restart เบฅเบฐเบšเบปเบšเป‚เบฎเบ”, เบžเบงเบเป€เบฎเบปเบฒเบเบงเบ”เป€เบšเบดเปˆเบ‡เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™:

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

เบˆเบฒเบเบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบเบงเบ”เบชเบญเบšเป„เบ”เป‰เบงเปˆเบฒเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปเบกเปˆเบ™ เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบง, เป€เบ–เบดเบ‡เบงเปˆเบฒเบˆเบฐเบกเบตเบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” script เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบˆเบฒเบเบ„เปเบฒเบชเบฑเปˆเบ‡เบซเบ™เบถเปˆเบ‡เป„เบ”เป‰เบ–เบทเบเบชเปเบฒเป€เบฅเบฑเบ”, เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰. RemainAfterExit=true.

เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบž. เบชเบดเบ”เบ—เบดเบžเบดเป€เบชเบ”เบ‚เบญเบ‡เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบต ^

เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบšเบฑเบ™เบˆเบธเบšเบฑเบ™เบˆเบธเบ—เบฑเบ‡เบซเบกเบปเบ”เบ•เบปเบงเบˆเบดเบ‡เปเบฅเป‰เบงเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบขเบนเปˆเป‚เบ”เบ”เบ”เปˆเบฝเบงเปƒเบ™เบฅเบฐเบšเบปเบšเป‚เบฎเบ”เป‚เบ”เบเปƒเบŠเป‰เปเบเปˆเบ™เบ‚เบญเบ‡เบกเบฑเบ™, เป€เบžเบทเปˆเบญเบ›เบปเบเบ›เป‰เบญเบ‡เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ‚เบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบšเบฑเบ™เบˆเบธเป€เบ‚เบปเป‰เบฒเปƒเบ™เบฅเบฐเบšเบปเบšเป€เบˆเบปเป‰เบฒเบžเบฒเบš, LXD เบชเบฐเป€เบซเบ™เบตเบชเบดเบ”เบ—เบดเบžเบดเป€เบชเบ”เบ‚เบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™, เบšเปˆเบญเบ™เบ—เบตเปˆ:

  • เบ•เบนเป‰เบšเบฑเบ™เบˆเบธเบ—เบตเปˆเบกเบตเบชเบดเบ”เบ—เบดเบžเบดเป€เบชเบ” - เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบšเบฑเบ™เบˆเบธเบ—เบตเปˆเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบตเปˆเบกเบต UID เปเบฅเบฐ GID เบเบปเบ‡เบเบฑเบšเป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบฅเบฐเบšเบปเบšเป€เบˆเบปเป‰เบฒเบžเบฒเบš. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบตเปˆเปเบฅเปˆเบ™เบขเบนเปˆเปƒเบ™ container เบ—เบตเปˆเบกเบต UID เบ‚เบญเบ‡ 0 เบกเบตเบชเบดเบ”เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เปƒเบ™เบฅเบฐเบšเบปเบšเป€เบˆเบปเป‰เบฒเบžเบฒเบšเบ—เบตเปˆเบกเบต UID เบ‚เบญเบ‡ 0. เปƒเบ™เบ„เปเบฒเบชเบฑเบšเบ•เปˆเบฒเบ‡เป†เบญเบทเปˆเบ™เป†, เบœเบนเป‰เปƒเบŠเป‰เบฎเบฒเบเปƒเบ™ container เบกเบตเบชเบดเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบขเบนเปˆเปƒเบ™. เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบต, เปเบ•เปˆเบเบฑเบ‡เบขเบนเปˆเปƒเบ™เบฅเบฐเบšเบปเบšเป€เบˆเบปเป‰เบฒเบžเบฒเบšเบ–เป‰เบฒเบฅเบฒเบงเบชเบฒเบกเบฒเบ”เบญเบญเบเป„เบ›เบ‚เป‰เบฒเบ‡เบ™เบญเบ namespace เบ—เบตเปˆเป‚เบ”เบ”เบ”เปˆเบฝเบงเบ‚เบญเบ‡เบ–เบฑเบ‡.

  • เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบตเบ—เบตเปˆเบšเปเปˆเบกเบตเบชเบดเบ”เบ—เบดเบžเบดเป€เบชเบ” - เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบšเบฑเบ™เบˆเบธเบ—เบตเปˆเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เป€เบ›เบฑเบ™เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡ UID เปเบฅเบฐ GID เบ—เบตเปˆเบกเบตเบ•เบปเบงเป€เบฅเบเบˆเบฒเบ 0 เบซเบฒ 65535, เปเบ•เปˆเบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบšเป€เบˆเบปเป‰เบฒเบžเบฒเบšเป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡เปเบกเปˆเบ™ masked เป‚เบ”เบเปƒเบŠเป‰ SubUID เปเบฅเบฐ SubGID bits เป€เบžเบตเปˆเบก, เบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบš. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเบกเบต UID = 0 เปƒเบ™ container เบˆเบฐเป€เบซเบฑเบ™เป„เบ”เป‰เปƒเบ™เบฅเบฐเบšเบปเบšเป‚เบฎเบ”เป€เบ›เบฑเบ™ 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 เปเบฅเบฐเบงเบดเบ—เบตเบเบฒเบ™เบชเป‰เบฒเบ‡เบชเบฐเบซเบผเบฑเบš virtual (เบ‚เบปเบง) เป‚เบ”เบเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡เบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒ.

เปเบœเบ™เบงเบฒเบ”เบ•เปเปˆเป„เบ›เบ™เบตเป‰เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเบดเบ—เบตเบเบฒเบ™เบชเบฐเบงเบดเบ” (เบ‚เบปเบง) เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป‚เบฎเบช เปเบฅเบฐเบšเบฑเบ™เบˆเบธเป€เบ‚เบปเป‰เบฒเปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ:

เบฅเบฑเบเบชเบฐเบ™เบฐเบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡ LXD - เบฅเบฐเบšเบปเบšเบšเบฑเบ™เบˆเบธ Linux

เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบตเบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบ•เปเปˆเบชเบทเปˆเบชเบฒเบ™เบœเปˆเบฒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบเบฑเบšเบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบตเบญเบทเปˆเบ™เบซเบผเบทเป€เบˆเบปเป‰เบฒเบžเบฒเบšเบ—เบตเปˆเบšเบฑเบ™เบˆเบธเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบ–เบทเบเบฎเบฑเบšเปƒเบŠเป‰. เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบšเบฑเบ”เป€เบ„เบทเบญเบ‚เปˆเบฒเบ virtual เบ‚เบญเบ‡เบšเบฑเบ™เบˆเบธเบ—เบตเปˆเบกเบตเบชเบฐเบซเบผเบฑเบš virtual. เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบชเป‰เบฒเบ‡เบชเบฐเบงเบดเบ”เบเปˆเบญเบ™, เปเบฅเบฐเบชเปˆเบงเบ™เบ•เบดเบ”เบ•เปเปˆเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ‚เบญเบ‡เบเปˆเบญเบ‡เบšเบฑเบ™เบˆเบธเบˆเบฐเบ–เบทเบเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเปƒเบ™เบšเบปเบ”เบ•เปเปˆเป„เบ›, เบซเบผเบฑเบ‡เบˆเบฒเบเบ•เบปเบงเบšเบฑเบ™เบˆเบธเบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เป„เบ”เป‰เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™.

เบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰เบชเป‰เบฒเบ‡เบชเบฐเบซเบผเบฑเบšเบเบฑเบšเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบเปˆเบญเบ 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 เบกเบตเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡ เปเบฅเบฐเบชเบฒเบกเบฒเบ”เบ‚เบฐเบซเบเบฒเบเบกเบฑเบ™เบ”เป‰เบงเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบตเปˆเบ›เบฐเบเบฒเบ”เบ—เบปเปˆเบงเป‚เบฅเบเป€เบญเบตเป‰เบ™เบงเปˆเบฒ เป‚เบ›เบฃเป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ. เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบฎเบนเบšโ€‹เปเบšเบšโ€‹เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ„เปˆเบฒโ€‹เบเบฑเบšโ€‹เบžเบฒโ€‹เบŠเบฐโ€‹เบ™เบฐโ€‹เบ—เบตเปˆโ€‹เบกเบตโ€‹เบ•เบปเบงโ€‹เปเบšเบš cascadeโ€‹, เบ•เบปเบงโ€‹เบขเปˆเบฒเบ‡โ€‹เบ•เปเปˆโ€‹เป„เบ›โ€‹เบ™เบตเป‰โ€‹เบชเบฐโ€‹เปเบ”เบ‡โ€‹เปƒเบซเป‰โ€‹เป€เบซเบฑเบ™โ€‹เบ™เบตเป‰โ€‹:

เบฅเบฑเบเบชเบฐเบ™เบฐเบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡ LXD - เบฅเบฐเบšเบปเบšเบšเบฑเบ™เบˆเบธ Linux

เปƒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ™เบตเป‰, เบชเบฒเบกเป‚เบ›เบฃเป„เบŸเบฅเปŒเป„เบ”เป‰เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เปƒเบ™เบฅเบฐเบšเบปเบš LXD: default, hddpool ะธ hostfs. เบ—เบฑเบ‡เบชเบฒเบกเป‚เบ›เบฃเป„เบŸเบฅเปŒเปเบกเปˆเบ™เปƒเบŠเป‰เบเบฑเบšเบ–เบฑเบ‡เบ—เบตเปˆเบกเบตเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™ (เบžเบทเป‰เบ™เบ—เบตเปˆเบชเบตเบ‚เบตเป‰เป€เบ–เบปเปˆเบฒ). เป‚เบ›เบฃเป„เบŸเบฅเปŒ default เบกเบตเบญเบธเบ›เบฐเบเบญเบ™ root เป€เบŠเบดเปˆเบ‡เบกเบตเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต pool เป€เบ—เบปเปˆเบฒเบเบฑเบ™ ssdpool, เปเบ•เปˆเบ‚เปเบ‚เบญเบšเปƒเบˆเบเบฑเบšเบฎเบนเบšเปเบšเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ cascade, เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบชเบฐเบซเบกเบฑเบเบ‚เปเป€เบญเบปเบฒ profile เบเบฑเบš container เป„เบ”เป‰ hddpool เป€เบŠเบดเปˆเบ‡เบกเบตเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต pool เบˆเบฐ override เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ”เบฝเบงเบเบฑเบ™เบˆเบฒเบเป‚เบ›เบฃเป„เบŸเบฅเปŒ 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, เปเบฅเบฐเบšเปเปˆเปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™เบฅเบฐเบ”เบฑเบš profile.

เปƒเบซเป‰เบเบงเบ”เป€เบšเบดเปˆเบ‡เป‚เบ›เบฃเป„เบŸเบฅเปŒ:

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

เบเบฒเบ™เบชเป‰เบฒเบ‡เป‚เบ›เบฃเป„เบŸเบฅเปŒเปƒเปเปˆ ^

เป€เบžเบทเปˆเบญเปƒเบŠเป‰เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™เป€เบกเบทเปˆเบญเบเปˆเบญเบ™ เบชเบฐเบฅเบญเบเบ™เปเป‰เบฒ containers, เบชเป‰เบฒเบ‡ profile เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ ssdroot เปƒเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบžเบตเปˆเบกเบญเบธเบ›เบฐเบเบญเบ™เป€เบŠเบฑเปˆเบ™ disk เบเบฑเบšเบˆเบธเบ” mount / (เบฎเบฒเบ) เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰ เบชเบฐเบฅเบญเบเบ™เปเป‰เบฒ - 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 เบ›เบฐเบˆเปเบฒเบงเบฑเบ™)
  • เบฎเบนเบšเบžเบฒเบšเบ•เปˆเบฒเบ‡เป†: (เบชเปเบฒเบฅเบฑเบšเบŠเปเปˆเบ‚เบญเบ‡ distros เบญเบทเปˆเบ™เป†)

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

เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, repository 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        |
+------------------------------+--------------------------------------+--------------+

เบžเบทเป‰เบ™เบ—เบตเปˆเป€เบเบฑเบšเบฎเบนเบšเบžเบฒเบšเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™ ^

เป€เบžเบทเปˆเบญเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบšเบฑเบ™เบˆเบธ, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบžเบตเปˆเบกเบฎเบนเบšเบžเบฒเบšเบˆเบฒเบ repository เบ—เบปเปˆเบงเป‚เบฅเบเป„เบ›เบซเบฒเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™ local:. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™ repository เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เปเบกเปˆเบ™เบซเบงเปˆเบฒเบ‡เป€เบ›เบปเปˆเบฒ, เบ„เปเบฒเบชเบฑเปˆเบ‡เบˆเบฐเปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบ™เบตเป‰ lxc image list. เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹เบงเบดโ€‹เบ—เบตโ€‹เบเบฒเบ™โ€‹ list เบšเปเปˆเบฅเบฐเบšเบธเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบˆเบฐเบ–เบทเบเปƒเบŠเป‰เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ - local:

lxc image list local:

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

เบฎเบนเบšเบžเบฒเบšเปƒเบ™ repository เป„เบ”เป‰เบ–เบทเบเบ„เบธเป‰เบกเบ„เบญเบ‡เป‚เบ”เบเปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™เบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

เบ—เบตเบกเบ‡เบฒเบ™
เบฅเบฒเบโ€‹เบฅเบฐโ€‹เบญเบฝเบ”

เบฎเบนเบšเบžเบฒเบš lxc alias
เบˆเบฑเบ”เบเบฒเบ™เบฎเบนเบšเบ™เบฒเบกเปเบเบ‡

เบฎเบนเบšเบžเบฒเบš 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

เบเบฒเบ™เบชเป‰เบฒเบ‡เปเบฅเบฐเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบต ^

เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡ container เปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ lxc init เบ—เบตเปˆโ€‹เบ„เปˆเบฒโ€‹เปเบกเปˆเบ™โ€‹เบœเปˆเบฒเบ™โ€‹ ั€ะตะฟะพะทะธั‚ะพั€ะธะน:ะพะฑั€ะฐะท เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ ID เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบšเบฑเบ™เบˆเบธ. เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบฅเบฐโ€‹เบšเบธโ€‹เบšเปˆเบญเบ™โ€‹เป€เบเบฑเบšโ€‹เบกเป‰เบฝเบ™โ€‹เป€เบ›เบฑเบ™โ€‹เบ—เป‰เบญเบ‡โ€‹เบ–เบดเปˆเบ™ local: เบ—เบปเปˆเบงเป‚เบฅเบเบ„เบทเบเบฑเบ™. เบ–เป‰เบฒ repository เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบฅเบฐเบšเบธ, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ repository เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบŠเบญเบเบซเบฒเบฎเบนเบšเบžเบฒเบš. เบ–เป‰เบฒเบฎเบนเบšเบžเบฒเบšเบ–เบทเบเบฅเบฐเบšเบธเบˆเบฒเบเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เบ—เบปเปˆเบงเป‚เบฅเบ, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบฎเบนเบšเบžเบฒเบšเบˆเบฐเบ–เบทเบเบ”เบฒเบงเป‚เบซเบฅเบ”เป„เบ›เปƒเบชเปˆเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบเปˆเบญเบ™เปเบฅเบฐเบˆเบฒเบเบ™เบฑเป‰เบ™เปƒเบŠเป‰เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบเปˆเบญเบ‡เบšเบฑเบ™เบˆเบธ.

เปƒเบซเป‰เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡ container เบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ:

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

เปƒเบซเป‰เป€เบšเบดเปˆเบ‡เบ—เบตเปˆเบ›เบธเปˆเบกเบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เบขเบนเปˆเปƒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡:

  • alpine3 โ€” เบ™เบฒเบกเปเบเบ‡ (เบ™เบฒเบกเปเบเบ‡) เบ–เบทเบเบฅเบฐเบšเบธเป„เบงเป‰เบชเปเบฒเบฅเบฑเบšเบฎเบนเบšเบžเบฒเบšเบ—เบตเปˆเป„เบ”เป‰เบ–เบทเบเบญเบฑเบšเป‚เบซเบผเบ”เบ‚เบถเป‰เบ™เปƒเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™. เบ–เป‰เบฒเบ™เบฒเบกเปเบเบ‡เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เบชเปเบฒเบฅเบฑเบšเบฎเบนเบšเบžเบฒเบšเบ™เบตเป‰, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบญเป‰เบฒเบ‡เบญเบตเบ‡เปƒเบชเปˆเบฎเบนเบšเบžเบฒเบšเป„เบ”เป‰เบ•เบฐเบซเบผเบญเบ”เป€เบงเบฅเบฒ เบ™เบดเป‰เบงเบกเบท เป€เบŠเบดเปˆเบ‡เบชเบฐเปเบ”เบ‡เบขเบนเปˆเปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡.
  • alp โ€” เบเบณเบ™เบปเบ”เบ•เบปเบงเบฅเบฐเบšเบธเบชเบณเบฅเบฑเบšเบšเบฑเบ™เบˆเบธ
  • --storage โ€” เบ—เบตเปˆโ€‹เบชเปเบฒโ€‹เบ„เบฑเบ™โ€‹เบ™เบตเป‰โ€‹เบŠเบตเป‰โ€‹เบšเบญเบโ€‹เปƒเบ™โ€‹เบ—เบตเปˆโ€‹ เบชเบฐเบฅเบญเบเบ™เปเป‰เบฒ เบšเบฑเบ™เบˆเบธเบˆเบฐเบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™
  • --profile โ€” เบเบฐเปเบˆเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบ™เบณเปƒเบŠเป‰เบเบฒเบ™เบเบณเบ™เบปเบ”เบ„เปˆเบฒเบˆเบฒเบเป‚เบ›เบฃเป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™เป€เบกเบทเปˆเบญเบเปˆเบญเบ™เปƒเบชเปˆเบเบฑเบšเบšเบฑเบ™เบˆเบธ

เบžเบงเบเป€เบฎเบปเบฒเป€เบ›เบตเบ”เบ•เบปเบงเบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบต, เป€เบŠเบดเปˆเบ‡เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบตเบ”เบ•เบปเบงเบฅเบฐเบšเบปเบš init เบ‚เบญเบ‡เบเบฒเบ™เปเบˆเบเบขเบฒเบ:

lxc start alp

เบ—เปˆเบฒเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ lxc launch เป€เบŠเบดเปˆเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเบปเบกเบ—เบปเบšเบ—เบตเบกเบ‡เบฒเบ™ lxc init ะธ lxc start เปƒเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบซเบ™เบถเปˆเบ‡.

เบเบฒเบ™โ€‹เบเบงเบ”โ€‹เบชเบญเบšโ€‹เบชเบฐโ€‹เบ–เบฒโ€‹เบ™เบฐโ€‹เบžเบฒเบšโ€‹เบ‚เบญเบ‡โ€‹เบžเบฒโ€‹เบŠเบฐโ€‹เบ™เบฐโ€‹:

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

เบเบฒเบ™โ€‹เบเบงเบ”โ€‹เบชเบญเบšโ€‹เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ„เปˆเบฒโ€‹เบ•เบนเป‰โ€‹เป€เบเบฑเบšโ€‹เบฎเบฑเบโ€‹เบชเบฒโ€‹:

lxc config show alp

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

เปƒเบ™เบžเบฒเบ profiles เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เป€เบฎเบฑเบ”โ€‹เปƒเบซเป‰โ€‹เปเบ™เปˆโ€‹เปƒเบˆเบงเปˆโ€‹เบฒโ€‹เบšเบฑเบ™โ€‹เบˆเบธโ€‹เบ™เบตเป‰โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบชเบญเบ‡โ€‹เบฎเบนเบšโ€‹เปเบšเบšโ€‹เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ„เปˆเบฒ โˆ’ default ะธ hddroot. เปƒเบ™เบžเบฒเบ devices เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบเบงเบ”โ€‹เบžเบปเบšโ€‹เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™โ€‹เบซเบ™เบถเปˆเบ‡โ€‹เบžเบฝเบ‡โ€‹เปเบ•เปˆโ€‹เป€เบ™เบทเปˆเบญเบ‡โ€‹เบˆเบฒเบโ€‹เบงเปˆเบฒโ€‹เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™โ€‹เป€เบ„เบทเบญโ€‹เบ‚เปˆเบฒเบโ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบชเป‰เบฒเบ‡โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ‚เบถเป‰เบ™โ€‹เบขเบนเปˆโ€‹เปƒเบ™โ€‹เบฅเบฐโ€‹เบ”เบฑเบš profileโ€‹ 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 static เบชเปเบฒเบฅเบฑเบš eth0 เบญเบธเบ›เบฐเบเบญเบ™เปƒเบ™เป‚เบ›เบฃเป„เบŸเบฅเปŒ, เปเบ•เปˆเบกเบฑเบ™เบˆเบฐเป€เบ›เบฑเบ™เบญเบฑเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบ—เบธเบเบ–เบฑเบ‡เบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰เป‚เบ›เบฃเป„เบŸเบฅเปŒเบ™เบตเป‰. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเป€เบžเบตเปˆเบกเบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเปˆเบญเบธเบ—เบดเบ”เบ•เบปเบ™เป€เบžเบทเปˆเบญเบšเบฑเบ™เบˆเบธ:

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

เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡ restart เบเปˆเบญเบ‡เบšเบฑเบ™เบˆเบธ:

lxc restart alp

เบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเป€เบšเบดเปˆเบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบตเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™, เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เปƒเบŠเป‰เบ—เบฒเบ‡เป€เบฅเบทเบญเบ --expanded เป€เบžเบทเปˆเบญเป€เบšเบดเปˆเบ‡เบญเบธเบ›เบฐเบเบญเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ eth0, เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบžเบงเบเป€เบฎเบปเบฒเบชเป‰เบฒเบ‡เบกเบฑเบ™เบขเบนเปˆเปƒเบ™เบฅเบฐเบ”เบฑเบšเบšเบฑเบ™เบˆเบธเปเบฅเบฐเบกเบฑเบ™ cascaded เปƒเบ™เป„เบฅเบเบฐเบญเบธเบ›เบฐเบเบญเบ™เบ”เบฝเบงเบเบฑเบ™เบˆเบฒเบเป‚เบ›เบฃเป„เบŸเบฅเปŒ default:

lxc config show alp

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

เบเบฒเบ™เป€เบญเบปเบฒเบ–เบฑเบ‡เบญเบญเบ ^

เป€เบžเบทเปˆเบญเป€เบญเบปเบฒเบ–เบฑเบ‡เบญเบญเบ, เปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ lxc delete, เปเบ•เปˆเบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเป€เบญเบปเบฒเบ–เบฑเบ‡เบญเบญเบ, เบกเบฑเบ™เบ•เป‰เบญเบ‡เบขเบธเบ”เป€เบŠเบปเบฒเบเบฒเบ™เปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ lxc stop:

lxc stop alp

lxc list

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

เบซเบผเบฑเบ‡เบˆเบฒเบเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบเบงเบ”เบชเบญเบšเบงเปˆเบฒเบชเบฐเบ–เบฒเบ™เบฐเบ‚เบญเบ‡เบšเบฑเบ™เบˆเบธเป„เบ”เป‰เบเบฒเบเป€เบ›เบฑเบ™ STOPPED, เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เป‚เบเบเบเป‰เบฒเบเบญเบญเบเบˆเบฒเบ เบชเบฐเบฅเบญเบเบ™เปเป‰เบฒ:

lxc delete alp

เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบต ^

เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบ™ container เป‚เบ”เบเบเบปเบ‡, เบ‚เป‰เบฒเบกเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ lxc exec เป€เบŠเบดเปˆเบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบ™ container เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบง shell เบฅเบฐเบšเบปเบš. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบ™ shell เป‚เบ”เบเปƒเบŠเป‰เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡เปเบเบฐเป€เบŠเบฑเปˆเบ™เบ•เบปเบงเปเบ›, เบเบฒเบ™เบ›เปˆเบฝเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เป„เบŸเบฅเปŒ (เบ—เปเปˆ), เปเบฅเบฐเบญเบทเปˆเบ™เป†, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบ›เบตเบ” shell เบขเปˆเบฒเบ‡เบŠเบฑเบ”เป€เบˆเบ™เปเบฅเบฐเบœเปˆเบฒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เป€เบ›เบฑเบ™เบเบธเบ™เปเบˆ, เบ•เบปเบงเบขเปˆเบฒเบ‡:

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

เบ„เปเบฒเบชเบฑเปˆเบ‡เป„เบ”เป‰เบ™เปเบฒเปƒเบŠเป‰เบฅเบฑเบเบชเบฐเบ™เบฐเบเบฒเบ™เบซเบฅเบปเบšเบซเบ™เบตเบžเบดเป€เบชเบ” เบชเปเบฒเบฅเบฑเบšเบฅเบฑเบเบชเบฐเบ™เบฐเบžเบดเป€เบชเบ” $ เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ•เบปเบงเปเบ› $HOME เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ•เบตเบ„เบงเบฒเบกเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เป‚เบฎเบ”, เปเบ•เปˆเบ–เบทเบเบ•เบตเบ„เบงเบฒเบกเบขเบนเปˆเปƒเบ™เบ–เบฑเบ‡เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™.

เบกเบฑเบ™เบเบฑเบ‡เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป‚เบซเบกเบ”เปเบเบฐเปเบšเบšเป‚เบ•เป‰เบ•เบญเบš, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบชเบดเป‰เบ™เบชเบธเบ”เบเบญเบ‡เบ›เบฐเบŠเบธเบกเป‚เบ”เบเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ hotkey CTRL+D:

lxc exec alp -- /bin/sh

เบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบต ^

เปƒเบ™ LXD, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบˆเบฑเบ”เบเบฒเบ™เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบšเบฑเบ™เบˆเบธเป‚เบ”เบเปƒเบŠเป‰เบŠเบธเบ”เบžเบดเป€เบชเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ. เบชเบฒเบกเบฒเบ”เบžเบปเบšเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเป€เบ•เบฑเบกเบ‚เบญเบ‡เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบเปเบฒเบซเบ™เบปเบ”เบ„เปˆเบฒเบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบต เปƒเบ™เป€เบญเบเบฐเบชเบฒเบ™.

เบเบฒเบ™เบˆเปเบฒเบเบฑเบ”เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ RAM ^

Parameter 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 เบญเบฐโ€‹เบ™เบธโ€‹เบเบฒเบ”โ€‹เปƒเบซเป‰โ€‹เบ—เปˆเบฒเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบชเบฐโ€‹เปเบ”เบ‡โ€‹เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ„เปˆเบฒโ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เบ‚เบญเบ‡ container เป„เบ”เป‰โ€‹, เบฅเบงเบกโ€‹เบ—เบฑเบ‡โ€‹เบเบฒเบ™โ€‹เบˆเปเบฒโ€‹เบเบฑเบ”โ€‹เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบŠเบฑเบšโ€‹เบžเบฐโ€‹เบเบฒโ€‹เบเบญเบ™โ€‹เบ—เบตเปˆโ€‹เป„เบ”เป‰โ€‹เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เป„เบงเป‰โ€‹:

lxc config show alp

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

เบ‚เบตเบ”เบˆเบณเบเบฑเบ”เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ CPU ^

เบกเบตเบซเบผเบฒเบเบงเบดเบ—เบตเบ—เบตเปˆเบˆเบฐเบˆเปเบฒเบเบฑเบ”เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ CPU. เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”:

  • limit.cpu - เบœเบนเบโ€‹เบกเบฑเบ”โ€‹เบ–เบฑเบ‡โ€‹เปƒเบชเปˆโ€‹เบเบฑเบšโ€‹เบซเบ™เบถเปˆเบ‡โ€‹เบซเบผเบทโ€‹เบซเบผเบฒเบโ€‹เบซเบผเบฑเบ CPUโ€‹
  • limits.cpu.allowance - เบˆเบฑเบ”เบเบฒเบ™เบ—เบฑเบ‡เป‚เบ„เบ•เป‰เบฒเบ•เบฒเบ•เบฐเบฅเบฒเบ‡ CFS เป€เบกเบทเปˆเบญเป€เบงเบฅเบฒเบเปเบฒเบ™เบปเบ”เป„เบ”เป‰เบœเปˆเบฒเบ™เป„เบ›, เบซเบผเบทเบเบปเบ™เป„เบเบเบฒเบ™เปเบšเปˆเบ‡เบ›เบฑเบ™เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ CPU เบ—เบปเปˆเบงเป„เบ›เป€เบกเบทเปˆเบญเบญเบฑเบ”เบ•เบฒเบชเปˆเบงเบ™เป„เบ”เป‰เบœเปˆเบฒเบ™เป„เบ›.
  • limits.cpu.priority - เบเบฒเบ™เบˆเบฑเบ”เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบšเบนเบฅเบดเบกเบฐเบชเบดเบ”เป€เบกเบทเปˆเบญเบซเบผเบฒเบเป†เบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบตเปˆเปเบšเปˆเบ‡เบ›เบฑเบ™เบŠเบธเบ”เบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบตเบ–เบทเบเบกเบญเบšเบซเบกเบฒเบเบญเบฑเบ”เบ•เบฒเบชเปˆเบงเบ™เบ”เบฝเบงเบเบฑเบ™เบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบต

lxc config set alp limits.cpu.allowance 40%

lxc config show alp

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

เบเบฒเบ™เบˆเบณเบเบฑเบ”เบžเบทเป‰เบ™เบ—เบตเปˆเบ”เบดเบชเบเปŒ ^

เบ™เบญเบเป€เบซเบ™เบทเบญเป„เบ›เบˆเบฒเบเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง limits.read, limits.write เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบเบฑเบ‡โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบˆเปเบฒโ€‹เบเบฑเบ”โ€‹เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบ‚เบญเบ‡โ€‹เบžเบทเป‰เบ™โ€‹เบ—เบตเปˆโ€‹เปเบœเปˆเบ™โ€‹เบเบฒเบ™โ€‹เบšเปโ€‹เบฅเบดโ€‹เป‚เบžเบโ€‹เป‚เบ”เบโ€‹เบžเบฒโ€‹เบŠเบฐโ€‹เบ™เบฐ (เบžเบฝเบ‡โ€‹เปเบ•เปˆโ€‹เป€เบฎเบฑเบ”โ€‹เบงเบฝเบโ€‹เบฎเปˆเบงเบกโ€‹เบเบฑเบš ZFS เบซเบผเบท BTRFSโ€‹)โ€‹:

lxc config device set alp root size=2GB

เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡, เปƒเบ™เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต devices.root.size เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบเบงเบ”เบชเบญเบšเบ‚เบญเบšเป€เบ‚เบ”เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰:

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

เป€เบžเบทเปˆเบญเป€เบšเบดเปˆเบ‡เป‚เบ„เบ•เป‰เบฒเปเบœเปˆเบ™เบ—เบตเปˆเปƒเบŠเป‰เปเบฅเป‰เบง, เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบˆเบฒเบเบ„เปเบฒเบชเบฑเปˆเบ‡ lxc info:

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

เป€เบ–เบดเบ‡เบงเปˆเบฒเบˆเบฐเบกเบตเบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบเปเบฒเบ™เบปเบ”เบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบญเบธเบ›เบฐเบเบญเบ™เบฎเบฒเบเบ‚เบญเบ‡เบšเบฑเบ™เบˆเบธเป€เบ–เบดเบ‡ 2GB, เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเป€เบŠเบฑเปˆเบ™: df เบˆเบฐเบšเปเปˆเป€เบซเบฑเบ™เบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบ™เบตเป‰. เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเปเบฅเบฐเบŠเบญเบเบซเบฒเบงเบดเบ—เบตเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบ.

เบกเบฒเบชเป‰เบฒเบ‡ 2 เบ–เบฑเบ‡เบ—เบตเปˆเบ„เบทเบเบฑเบ™เปƒเบ™เบญเบฑเบ™เบ”เบฝเบงเบเบฑเบ™ เบชเบฐเบฅเบญเบเบ™เปเป‰เบฒ (hddpool):

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

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

เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒ 1GB เปƒเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบšเบฑเบ™เบˆเบธ:

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

เปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเป„เบŸเบฅเปŒเบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™:

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

เบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเป€เบšเบดเปˆเบ‡เบขเบนเปˆเปƒเบ™เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบตเบ—เบตเบชเบญเบ‡, เบเบงเบ”เป€เบšเบดเปˆเบ‡เบเบฒเบ™เบกเบตเบขเบนเปˆเบ‚เบญเบ‡เป„เบŸเบฅเปŒเบขเบนเปˆเปƒเบ™เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบ”เบฝเบงเบเบฑเบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เป„เบŸเบฅเปŒเบ™เบตเป‰เบˆเบฐเบšเปเปˆเบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™, เป€เบŠเบดเปˆเบ‡เบ„เบฒเบ”เบงเปˆเบฒ, เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบšเบฑเบ™เบˆเบธเบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เปƒเบ™เบ•เบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡. เบ›เบฐเบฅเบดเบกเบฒเบ™เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ เปƒเบ™เบ”เบฝเบงเบเบฑเบ™ เบชเบฐเบฅเบญเบเบ™เปเป‰เบฒ:

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 เบ•เบดเบ”โ€‹เบ•เบฑเป‰เบ‡โ€‹เป€เบ›เบฑเบ™โ€‹เบเบฒเบ™โ€‹เปเบšเปˆเบ‡โ€‹เบ›เบฑเบ™โ€‹เบฎเบฒเบโ€‹เปเบกเปˆเบ™โ€‹ เบชเบฐเบฅเบญเบเบ™เปเป‰เบฒ เบ—เบตเปˆเบšเบฑเบ™เบˆเบธเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปƒเบŠเป‰, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเปเบšเปˆเบ‡เบ›เบฑเบ™เบ›เบฐเบฅเบดเบกเบฒเบ™เบ‚เบญเบ‡เบกเบฑเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบชเบญเบ‡.

เบชเบฐเบ–เบดเบ•เบดเบเบฒเบ™เบšเปเบฅเบดเป‚เบžเบเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ ^

เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เบชเบฐเบ–เบดเบ•เบดเบเบฒเบ™เบšเปเบฅเบดเป‚เบžเบเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบชเปเบฒเบฅเบฑเบš container เป‚เบ”เบเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡:

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เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เป€เบžเบทเปˆเบญเป€เบšเบดเปˆเบ‡เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡ snapshots, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบชเบฐเปเบ”เบ‡เบ‚เปเป‰เบกเบนเบ™เบ—เบปเปˆเบงเป„เบ›เบเปˆเบฝเบงเบเบฑเบš container เป„เบ”เป‰:

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

เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบŸเบทเป‰เบ™เบŸเบนเบžเบฒเบŠเบฐเบ™เบฐเบˆเบฒเบเบžเบฒเบšเบ–เปˆเบฒเบเป‚เบ”เบเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ lxc restore เบเบฒเบ™โ€‹เบฅเบฐโ€‹เบšเบธโ€‹เบ•เบนเป‰โ€‹เป€เบเบฑเบšโ€‹เบฎเบฑเบโ€‹เบชเบฒโ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบŸเบทเป‰เบ™โ€‹เบŸเบนโ€‹เปเบฅเบฐโ€‹เบ™เบฒเบกโ€‹เปเบเบ‡ snapshotโ€‹:

lxc restore alp snapshot1

เบ„เบณเบชเบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰เบ–เบทเบเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบฅเบถเบšเบฎเบนเบšเบ–เปˆเบฒเบ. เบเบฐเบฅเบธเบ™เบฒเบฎเบฑเบšเบŠเบฒเบšเบงเปˆเบฒ syntax เบ„เปเบฒเบชเบฑเปˆเบ‡เบšเปเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบšเบ„เบปเบ™เบญเบทเปˆเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”; เปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบฅเบฐเบšเบธเบ•เบปเบงเบซเบเปเป‰เบซเบ™เป‰เบฒเบซเบผเบฑเบ‡เบˆเบฒเบเบŠเบทเปˆ container. เบ–เป‰เบฒ slash เบ–เบทเบเบเบปเบเป€เบงเบฑเป‰เบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบˆเบฐเบฅเบถเบš snapshot เป„เบ”เป‰เบ–เบทเบเบ•เบตเบ„เบงเบฒเบกเบงเปˆเบฒเป€เบ›เบฑเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบˆเบฐเบฅเบถเบš container!

lxc delete alp/snapshot1

เปƒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบšเบดเปˆเบ‡เบญเบฑเบ™เบ—เบตเปˆเป€เบญเบตเป‰เบ™เบงเปˆเบฒเบžเบฒเบšเบ–เปˆเบฒเบเบ—เบตเปˆเบšเปเปˆเบกเบตเบฅเบฑเบ”. LXD เบกเบตเบเบฒเบ™เบ–เปˆเบฒเบเบžเบฒเบšเบญเบตเบเบ›เบฐเป€เบžเบ”เปœเบถเปˆเบ‡ - stateful, เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเบ›เบฐเบขเบฑเบ”เบชเบฐเบ–เบฒเบ™เบฐเบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ‚เบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบฑเบ‡เปเบปเบ”เปƒเบ™ container. เบกเบตเบซเบผเบฒเบเบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเปœเป‰เบฒเบชเบปเบ™เปƒเบˆ เปเบฅเบฐ เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบ–เปˆเบฒเบเบžเบฒเบšเบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™.

เบกเบตโ€‹เบซเบเบฑเบ‡โ€‹เบญเบตเบ? ^

  • เป‚เบกเบ”เบนเบ™เบกเบตเปƒเบซเป‰เบชเปเบฒเบฅเบฑเบšเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ Python PyLXD เป€เบŠเบดเปˆเบ‡เบชเบฐเบซเบ™เบญเบ‡ API เปƒเบซเป‰เบเบฑเบš LXD

เบญเบฑเบšเป€เบ”เบ” 10.04.2020/15/00 XNUMX:XNUMX: เป€เบžเบตเปˆเบกเบเบฒเบ™เบ™เบณเบ—เบฒเบ‡

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™