рдПрд▓рдПрдХреНрд╕рдбреА - рд▓рд┐рдирдХреНрд╕ рдХрдВрдЯреЗрдирд░ рд╕рд┐рд╕реНрдЯрдо рдХреА рдмреБрдирд┐рдпрд╛рджреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ

рдПрд▓рдПрдХреНрд╕рдбреА - рд▓рд┐рдирдХреНрд╕ рдХрдВрдЯреЗрдирд░ рд╕рд┐рд╕реНрдЯрдо рдХреА рдмреБрдирд┐рдпрд╛рджреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ

рдПрд▓рдПрдХреНрд╕рдбреА рдпрд╣ рдЕрдЧрд▓реА рдкреАрдврд╝реА рдХрд╛ рд╕рд┐рд╕реНрдЯрдо рдХрдВрдЯреЗрдирд░ рдореИрдиреЗрдЬрд░ рд╣реИ, рдРрд╕рд╛ рдпрд╣ рдХрд╣рддрд╛ рд╣реИ рд╕реНрд░реЛрдд. рдпрд╣ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЛрдВ рдХреЗ рд╕рдорд╛рди рдПрдХ рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд▓рд┐рдирдХреНрд╕ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдПрд▓рдПрдХреНрд╕рдбреА рдХреЛрд░ рдПрдХ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдбреЗрдореЙрди (рд░реВрдЯ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдПрдХ рд╕реЗрд╡рд╛) рд╣реИ рдЬреЛ рд╕реНрдерд╛рдиреАрдп рдпреВрдирд┐рдХреНрд╕ рд╕реЙрдХреЗрдЯ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЙрдЪрд┐рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рдкрд░ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ REST API рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЧреНрд░рд╛рд╣рдХ, рдЬреИрд╕реЗ LXD рдХреЗ рд╕рд╛рде рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЯреВрд▓, рдЗрд╕ REST API рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЪрд╛рд╣реЗ рдЖрдк рд╕реНрдерд╛рдиреАрдп рд╣реЛрд╕реНрдЯ рдпрд╛ рд░рд┐рдореЛрдЯ рд╣реЛрд╕реНрдЯ рддрдХ рдкрд╣реБрдВрдЪ рд░рд╣реЗ рд╣реЛрдВ, рд╕рдм рдХреБрдЫ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╣рдо LXD рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗрдВрдЧреЗ, рд╣рдо рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╕рднреА рдЙрдкрд▓рдмреНрдз рдХреНрд╖рдорддрд╛рдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕рдореЗрдВ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ QEMU рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЛрдВ рдХреЗ рд▓рд┐рдП LXD рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рд╕рдорд░реНрдерди рдХрд╛ рд╣рд╛рд▓рд┐рдпрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдХреЗрд╡рд▓ рдХрдВрдЯреЗрдирд░ рдкреНрд░рдмрдВрдзрди рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рд╕реАрдЦреЗрдВрдЧреЗ - рд╕реНрдЯреЛрд░реЗрдЬ рдкреВрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛, рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ, рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛рдирд╛, рд╕рдВрд╕рд╛рдзрди рд╕реАрдорд╛рдПрдВ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдФрд░ рд╕реНрдиреИрдкрд╢реЙрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЖрдк рдПрд▓рдПрдХреНрд╕рдбреА рдХреА рдмреБрдирд┐рдпрд╛рджреА рд╕рдордЭ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХреЗрдВ рдФрд░ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВред

рдкреВрд░реА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдХреГрдкрдпрд╛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕реНрд░реЛрдд рджреЗрдЦреЗрдВ:

рдиреЗрд╡рд┐рдЧреЗрд╢рди

рд╕реНрдерд╛рдкрдирд╛ рдПрд▓рдПрдХреНрд╕рдбреА ^

рдЙрдмрдВрдЯреВ рд╡рд┐рддрд░рдг рдкрд░ рдПрд▓рдПрдХреНрд╕рдбреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ ^

Ubuntu 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 рдЖрдк рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ package lxd рдЕрднреА рддрдХ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ:

snap list

Name  Version    Rev   Tracking  Publisher   Notes
core  16-2.43.3  8689  stable    canonicalтЬУ  core

рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ LXD рдПрдХ рд╕реНрдиреИрдк рдкреИрдХреЗрдЬ рд╣реИ, рдЗрд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдкреИрдХреЗрдЬ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП lxd, рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╕рдореВрд╣ рдмрдирд╛рдПрдЧрд╛ /usr/bin рдЖрджрд┐

sudo apt update
sudo apt install lxd

рдЖрдЗрдП рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдкреИрдХреЗрдЬ рд╕реНрдиреИрдк рдкреИрдХреЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ:

snap list

Name  Version    Rev    Tracking  Publisher   Notes
core  16-2.43.3  8689   stable    canonicalтЬУ  core
lxd   3.21       13474  stable/тАж  canonicalтЬУ  -

рдЖрд░реНрдХ рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдг рдкрд░ рдПрд▓рдПрдХреНрд╕рдбреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ ^

рд╕рд┐рд╕реНрдЯрдо рдкрд░ LXD рдкреИрдХреЗрдЬ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдкрд╣рд▓рд╛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдкреИрдХреЗрдЬреЛрдВ рдХреА рд╕реВрдЪреА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдЧрд╛, рджреВрд╕рд░рд╛ рд╕реАрдзреЗ рдкреИрдХреЗрдЬ рдХреЛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдЧрд╛:

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 рд╕рд┐рд╕реНрдЯрдо рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ LXD рд╕реЗрд╡рд╛ рд▓реЛрдб рдХрд░рдирд╛:

sudo systemctl enable lxd

рдЖрдЗрдП рд╕реЗрд╡рд╛ рд╢реБрд░реВ рдХрд░реЗрдВ:

sudo systemctl start lxd

рд╕реЗрд╡рд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛:

sudo systemctl status lxd

рднрдВрдбрд╛рд░рдг рдПрд▓рдПрдХреНрд╕рдбреА (рднрдВрдбрд╛рд░рдг) ^

рдЖрд░рдВрднреАрдХрд░рдг рд╢реБрд░реВ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдПрд▓рдПрдХреНрд╕рдбреА рдореЗрдВ рднрдВрдбрд╛рд░рдг рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд╣реИред

рднрдВрдбрд╛рд░рдг (рднрдВрдбрд╛рд░рдг) рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рд╕реЗ рднрдВрдбрд╛рд░рдг рдкреВрд▓ рдЬреЛ ZFS, BTRFS, LVM рдпрд╛ рдирд┐рдпрдорд┐рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдЬреИрд╕реЗ рд╕рдорд░реНрдерд┐рдд рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдореЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рднрдВрдбрд╛рд░рдг рдкреВрд▓ рдорд╛рддреНрд░рд╛рдУрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИ (рднрдВрдбрд╛рд░рдг рдХреА рдорд╛рддреНрд░рд╛) рдЬрд┐рд╕рдореЗрдВ рдЕрдиреНрдп рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЪрд┐рддреНрд░, рдХрдВрдЯреЗрдирд░ рдпрд╛ рдбреЗрдЯрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

  • рдХрд▓реНрдкрдирд╛ - рдпреЗ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдХреЗ рдмрд┐рдирд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрдХрдЯреНрдареЗ рд╡рд┐рддрд░рдг рд╣реИрдВ рдФрд░ рдмрд╛рд╣рд░реА рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ
  • рдХрдВрдЯреЗрдирд░ - рдпреЗ рдЫрд╡рд┐рдпреЛрдВ рд╕реЗ рддреИрдирд╛рдд рд╡рд┐рддрд░рдг рд╣реИрдВ, рдЬреЛ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ
  • рд╕реНрдиреИрдкрд╢реЙрдЯреНрд╕ - рдпреЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕реНрдиреИрдкрд╢реЙрдЯ рд╣реИрдВ рдЬрд┐рди рдкрд░ рдЖрдк рд╡рд╛рдкрд╕ рд▓реМрдЯ рд╕рдХрддреЗ рд╣реИрдВ

рдПрд▓рдПрдХреНрд╕рдбреА - рд▓рд┐рдирдХреНрд╕ рдХрдВрдЯреЗрдирд░ рд╕рд┐рд╕реНрдЯрдо рдХреА рдмреБрдирд┐рдпрд╛рджреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ

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

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдЧрд░ рдХреЗ рд▓рд┐рдП рднрдВрдбрд╛рд░рдг рдкреВрд▓ рдмрдирд╛рддреЗ рд╕рдордп, 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 рдЖрд░рдВрднреАрдХрд░рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЛ рдмрдирд╛рддрд╛ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдорд╛рдирдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдХрдорд╛рдВрдб рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рд╕реВрдЪреА рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ lxc --help рдпрд╛ рдЖрд░рдВрднреАрдХрд░рдг рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ lxd init рдХреБрдЫ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЙрддреНрддрд░ рджреЗ рд░рд╣рд╛ рд╣реВрдБред

рд╕реНрдЯреЛрд░реЗрдЬ рдкреВрд▓ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ ^

рдЖрд░рдВрднреАрдХрд░рдг рдХреЗ рджреМрд░рд╛рди, LXD рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рд╕рд╣рд┐рдд рдХрдИ рдкреНрд░рд╢реНрди рдкреВрдЫрддрд╛ рд╣реИ рднрдВрдбрд╛рд░рдг рдкреВрд▓. рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЗрд╕рдХреЗ рд▓рд┐рдП BTRFS рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рдж рджреВрд╕рд░реЗ рдПрдлрдПрд╕ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛрдЧрд╛. рдПрдлрдПрд╕ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдлрд╝реАрдЪрд░ рддреБрд▓рдирд╛ рддрд╛рд▓рд┐рдХрд╛:

Feature
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛
рдмреАрдЯреАрдЖрд░рдПрдлрдПрд╕
рдПрд▓рд╡реАрдПрдо
ZFS
рд╕реАрдИрдкреАрдПрдЪ

рдЕрдиреБрдХреВрд▓рд┐рдд рдЫрд╡рд┐ рднрдВрдбрд╛рд░рдг
рдирд╣реАрдВ
рд╣рд╛рдБ
рд╣рд╛рдБ
рд╣рд╛рдБ
рд╣рд╛рдБ

рдЕрдиреБрдХреВрд▓рд┐рдд рдЙрджрд╛рд╣рд░рдг рдирд┐рд░реНрдорд╛рдг
рдирд╣реАрдВ
рд╣рд╛рдБ
рд╣рд╛рдБ
рд╣рд╛рдБ
рд╣рд╛рдБ

рдЕрдиреБрдХреВрд▓рд┐рдд рд╕реНрдиреИрдкрд╢реЙрдЯ рдирд┐рд░реНрдорд╛рдг
рдирд╣реАрдВ
рд╣рд╛рдБ
рд╣рд╛рдБ
рд╣рд╛рдБ
рд╣рд╛рдБ

рдЕрдиреБрдХреВрд▓рд┐рдд рдЫрд╡рд┐ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг
рдирд╣реАрдВ
рд╣рд╛рдБ
рдирд╣реАрдВ
рд╣рд╛рдБ
рд╣рд╛рдБ

рдЕрдиреБрдХреВрд▓рд┐рдд рдЙрджрд╛рд╣рд░рдг рд╕реНрдерд╛рдирд╛рдВрддрд░рдг
рдирд╣реАрдВ
рд╣рд╛рдБ
рдирд╣реАрдВ
рд╣рд╛рдБ
рд╣рд╛рдБ

рд▓рд┐рдЦрдиреЗ рдкрд░ рдирдХрд▓
рдирд╣реАрдВ
рд╣рд╛рдБ
рд╣рд╛рдБ
рд╣рд╛рдБ
рд╣рд╛рдБ

рдмреНрд▓реЙрдХ рдЖрдзрд╛рд░рд┐рдд
рдирд╣реАрдВ
рдирд╣реАрдВ
рд╣рд╛рдБ
рдирд╣реАрдВ
рд╣рд╛рдБ

рддрддреНрдХрд╛рд▓ рдХреНрд▓реЛрдирд┐рдВрдЧ
рдирд╣реАрдВ
рд╣рд╛рдБ
рд╣рд╛рдБ
рд╣рд╛рдБ
рд╣рд╛рдБ

рдПрдХ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╕реНрдЯреЛрд░реЗрдЬ рдбреНрд░рд╛рдЗрд╡рд░
рд╣рд╛рдБ
рд╣рд╛рдБ
рдирд╣реАрдВ
рдирд╣реАрдВ
рдирд╣реАрдВ

рдкреБрд░рд╛рдиреЗ рд╕реНрдиреИрдкрд╢реЙрдЯ рд╕реЗ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ (рдирд╡реАрдирддрдо рдирд╣реАрдВ)
рд╣рд╛рдБ
рд╣рд╛рдБ
рд╣рд╛рдБ
рдирд╣реАрдВ
рд╣рд╛рдБ

рднрдВрдбрд╛рд░рдг рдХреЛрдЯрд╛
рд╣рд╛рдБ(*)
рд╣рд╛рдБ
рд╣рд╛рдБ
рд╣рд╛рдБ
рдирд╣реАрдВ

рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рд╕реНрдЯреЛрд░реЗрдЬ рдкреВрд▓ рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд░рдирд╛ ^

рдЕрдЧрд▓рд╛ рдХрдорд╛рдВрдб рдЬрд┐рд╕ рдкрд░ рд╣рдо рдЧреМрд░ рдХрд░реЗрдВрдЧреЗ рд╡рд╣ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд░рд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдЙрддреНрддрд░ рджреЗрдХрд░ рдПрд▓рдПрдХреНрд╕рдбреА рдХреЗ рдореБрдЦреНрдп рдШрдЯрдХреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИред

рдЪрд▓рд╛рдиреЗ рдХреЗ рдЖрджреЗрд╢ 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. рдпрд╣ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкрддрд╛ рдореЗрд░реЗ рдкреАрд╕реА рдореЗрдВ рднреМрддрд┐рдХ рдПрд╕рдПрд╕рдбреА рдбреНрд░рд╛рдЗрд╡ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреНрд░рд┐рдпрд╛рдПрдВ, рджреНрд╡рд╛рд░рд╛ рдирд┐рднрд╛рдИ рдЧрдИ рднреВрдорд┐рдХрд╛ рдХреА рд╕рдордЭ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднрдВрдбрд╛рд░рдг рдкреВрд▓ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ, рд╣рдо рджреВрд╕рд░рд╛ рдмрдирд╛рдПрдВрдЧреЗ рднрдВрдбрд╛рд░рдг рдкреВрд▓ рдЬреЛ рднреМрддрд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рдХреА рдбрд┐рд╕реНрдХ, рдПрдЪрдбреАрдбреА рдкрд░ рд╕реНрдерд┐рдд рд╣реЛрдЧрд╛ред рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ LXD рдЖрдкрдХреЛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ рднрдВрдбрд╛рд░рдг рдкреВрд▓ рдкрддреЗ рд╕реЗ рдмрд╛рд╣рд░ /var/lib/lxd/disks/ рдФрд░ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд▓рд┐рдВрдХ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рдбреЗрд╡рд▓рдкрд░ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдЦреЗрдВ. рд╣рдо рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди/рдлрд╝реЙрд░реНрдореЗрдЯрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдЗрд╕ рд╕реАрдорд╛ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рднрдВрдбрд╛рд░рдг рдкреВрд▓ рдХреБрдВрдЬреА рдореЗрдВ рдЗрд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рд▓реВрдкрдмреИрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдкрде рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдмреНрд▓реЙрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ source.

рддреЛ, рдмрдирд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рднрдВрдбрд╛рд░рдг рдкреВрд▓ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдПрдХ рд▓реВрдкрдмреИрдХ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдореМрдЬреВрджрд╛ рд╡рд┐рднрд╛рдЬрди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рд╡рд╣ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВрдЧреЗ рдФрд░ рдЙрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рдЬрд┐рд╕рдХрд╛ рдЖрдХрд╛рд░ рд╣рдо 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

рдЖрдЗрдП рд▓реВрдкрдмреИрдХ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдПрдХ рдирд┐рдГрд╢реБрд▓реНрдХ рд▓реВрдкрдмреИрдХ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ:

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

рд▓реВрдкрдмреИрдХ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реНрд▓реЙрдЯ рдореЗрдВ рд▓реВрдкрдмреИрдХ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕рдореНрдорд┐рд▓рди ^

рд╣реЛрд╕реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд░рд┐рдмреВрдЯ рдХрд░рддреЗ рд╕рдордп рд╣рдореЗрдВ рдПрдХ рдЫреЛрдЯреА рд╕реА рд╕рдорд╕реНрдпрд╛ рд╣реЛрддреА рд╣реИ, рдлрд╝рд╛рдЗрд▓ /mnt/work/lxd/hddpool.img рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ "рдЙрдбрд╝" рдЬрд╛рдПрдЧрд╛ /dev/loop1 рдФрд░ LXD рд╕реЗрд╡рд╛ рд▓реЛрдб рд╣реЛрдиреЗ рдкрд░ рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рдПрдЧреА рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣ рдЗрд╕реЗ рдЗрд╕ рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рдирд╣реАрдВ рджреЗрдЦ рдкрд╛рдПрдЧреАред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ рд╕рд┐рд╕реНрдЯрдо рд╕реЗрд╡рд╛ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░реЗрдЧреА /dev/loop1 рдЬрдм рд╣реЛрд╕реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдмреВрдЯ рд╣реЛрддрд╛ рд╣реИ.

рдЪрд▓рд┐рдП рдмрдирд╛рддреЗ рд╣реИрдВ рдЗрдХрд╛рдИ рдлрд╛рдЗрд▓ рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╕реЗрд╡рд╛ ╨▓ /etc/systemd/system/ SystemD рдЖрд░рдВрднреАрдХрд░рдг рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП:

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

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

[Install]
WantedBy=local-fs.target
EOF

рд╕реЗрд╡рд╛ рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдВ:

sudo systemctl enable lxd-hddpool

Created symlink /etc/systemd/system/local-fs.target.wants/lxd-hddpool.service тЖТ /etc/systemd/system/lxd-hddpool.service.

рд╣реЛрд╕реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рд╕реЗрд╡рд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╣реИрдВ:

systemctl status lxd-hddpool.service 

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

╨░╨┐╤А 08 03:43:52 manjaro systemd[1]: Starting Losetup LXD Storage Pool (hddpool)...
╨░╨┐╤А 08 03:43:53 manjaro systemd[1]: Finished Losetup LXD Storage Pool (hddpool).

рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рд╣рдо рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕реЗрд╡рд╛ рд╕реНрдерд┐рддрд┐ рдХреНрдпрд╛ рд╣реИ рд╕рдХреНрд░рд┐рдпрдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдПрдХ рдХрдорд╛рдВрдб рд╕реЗ рд╣рдорд╛рд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рдерд╛, рд╡рд┐рдХрд▓реНрдк рдиреЗ рд╣рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА RemainAfterExit=true.

рд╕реБрд░рдХреНрд╖рд╛ред рдХрдВрдЯреЗрдирд░ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ ^

рдЪреВрдВрдХрд┐ рд╕рднреА рдХрдВрдЯреЗрдирд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдкрдиреЗ рдХрд░реНрдиреЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣реЛрд╕реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЕрд▓рдЧрд╛рд╡ рдореЗрдВ рдЪрд▓рддреА рд╣реИрдВ, рд╣реЛрд╕реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХрдВрдЯреЗрдирд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рдкрд╣реБрдВрдЪ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдПрд▓рдПрдХреНрд╕рдбреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ:

  • рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрдВрдЯреЗрдирд░ - рдпреЗ рдРрд╕реЗ рдХрдВрдЯреЗрдирд░ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдпреВрдЖрдИрдбреА рдФрд░ рдЬреАрдЖрдИрдбреА тАЛтАЛрд╡рд╛рд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╣реЛрд╕реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рдорд╛рди рдорд╛рд▓рд┐рдХ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 0 рдХреЗ рдпреВрдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдПрдХ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдкрд╛рд╕ 0 рдХреЗ рдпреВрдЖрдИрдбреА рдХреЗ рд╕рд╛рде рд╣реЛрд╕реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рдорд╛рди рд╕рднреА рдПрдХреНрд╕реЗрд╕ рдЕрдзрд┐рдХрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рди рдХреЗрд╡рд▓ рд╕рднреА рдЕрдзрд┐рдХрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВ рдХрдВрдЯреЗрдирд░, рд▓реЗрдХрд┐рди рд╣реЛрд╕реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рднреА рдпрджрд┐ рд╡рд╣ рдХрдВрдЯреЗрдирд░ рдХреЗ рдкреГрдердХ рдиреЗрдорд╕реНрдкреЗрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

  • рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд░рд╣рд┐рдд рдХрдВрдЯреЗрдирд░ - рдпреЗ рдРрд╕реЗ рдХрдВрдЯреЗрдирд░ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ 0 рд╕реЗ 65535 рддрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдпреВрдЖрдИрдбреА рдФрд░ рдЬреАрдЖрдИрдбреА тАЛтАЛрдХреЗ рдорд╛рд▓рд┐рдХ рдХреА рд╣реЛрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣реЛрд╕реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдорд╛рд▓рд┐рдХ рдХреЛ рдХреНрд░рдорд╢рдГ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдмрдпреВрдЖрдИрдбреА рдФрд░ рд╕рдмрдЬреАрдЖрдИрдбреА тАЛтАЛрдмрд┐рдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдорд╛рд╕реНрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдХрдВрдЯреЗрдирд░ рдореЗрдВ UID=0 рд╡рд╛рд▓рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реЛрд╕реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЗрд╕ рд░реВрдк рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛рдПрдЧрд╛ SubUID + UID. рдпрд╣ рд╣реЛрд╕реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдХреЛрдИ рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрдкрдиреЗ рдкреГрдердХ рдирд╛рдорд╕реНрдерд╛рди рд╕реЗ рдмрдЪрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ, рддреЛ рдпрд╣ рдХреЗрд╡рд▓ рдЕрдЬреНрдЮрд╛рдд, рдмрд╣реБрдд рдЙрдЪреНрдЪ рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА тАЛтАЛтАЛтАЛрдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реЛрд╕реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░ рд╕рдХрддреА рд╣реИред

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдирд╡ рдирд┐рд░реНрдорд┐рдд рдХрдВрдЯреЗрдирд░реЛрдВ рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд░рд╣рд┐рдд рд╕реНрдерд┐рддрд┐ рд╣реЛрддреА рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдПрдХ 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, рдлрд┐рд░ рдЗрд╕ рдЦрдВрдб рдореЗрдВ рд╣рдо рдПрд▓рдПрдХреНрд╕рдбреА рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдВрдЧреЗ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд░реНрдЪреБрдЕрд▓ рд╕реНрд╡рд┐рдЪ (рдмреНрд░рд┐рдЬ) рдХреИрд╕реЗ рдмрдирд╛рдПрдВред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд┐рддреНрд░ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╕реНрд╡рд┐рдЪ (рдкреБрд▓) рд╣реЛрд╕реНрдЯ рдФрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдХреИрд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реИ:

рдПрд▓рдПрдХреНрд╕рдбреА - рд▓рд┐рдирдХреНрд╕ рдХрдВрдЯреЗрдирд░ рд╕рд┐рд╕реНрдЯрдо рдХреА рдмреБрдирд┐рдпрд╛рджреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ

рдХрдВрдЯреЗрдирд░ рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдиреНрдп рдХрдВрдЯреЗрдирд░реЛрдВ рдпрд╛ рдЙрд╕ рд╣реЛрд╕реНрдЯ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕ рдкрд░ рдпреЗ рдХрдВрдЯреЗрдирд░ рдкрд░реЛрд╕реЗ рдЬрд╛рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд╡рд░реНрдЪреБрдЕрд▓ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛рд░реНрдб рдХреЛ рд╡рд░реНрдЪреБрдЕрд▓ рд╕реНрд╡рд┐рдЪ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╣рдо рдкрд╣рд▓реЗ рдПрдХ рд╕реНрд╡рд┐рдЪ рдмрдирд╛рдПрдВрдЧреЗ, рдФрд░ рдХрдВрдЯреЗрдирд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рдж рдХрдВрдЯреЗрдирд░ рдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рдмрд╛рдж рдХреЗ рдЕрдзреНрдпрд╛рдпреЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ред

рдирд┐рдореНрди рдЖрджреЗрд╢ рд╕рдмрдиреЗрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрд╡рд┐рдЪ рдмрдирд╛рддрд╛ рд╣реИ 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       |
+--------+----------+---------+-------------+---------+

рдЖрдк рдпрд╣ рднреА рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдг рдХреЗ рдорд╛рдирдХ рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ - 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 рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рддреАрди рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдИ рдЧрдИ рд╣реИрдВ: 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: []

рдЫрд╡рд┐ рднрдВрдбрд╛рд░ ^

рдХрдВрдЯреЗрдирд░ рдЙрди рдЫрд╡рд┐рдпреЛрдВ рд╕реЗ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрдХрдЯреНрдареЗ рдХрд┐рдП рдЧрдП рд╡рд┐рддрд░рдг рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕реЗ рдЗрд╕ рдЫрд╡рд┐ рд╕реЗ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рд╕реНрд░реЛрдд рдПрдХ рд╕реНрдерд╛рдиреАрдп рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЫрд╡рд┐рдпрд╛рдВ рдмрд╛рд╣рд░реА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЬрд╛рддреА рд╣реИрдВред

рджреВрд░рд╕реНрде рдЫрд╡рд┐ рднрдВрдбрд╛рд░ ^

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, LXD рдХреЛ рддреАрди рджреВрд░рд╕реНрде рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдЫрд╡рд┐рдпрд╛рдБ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

  • рдЙрдмрдВрдЯреВ: (рд╕реНрдерд┐рд░ рдЙрдмрдВрдЯреВ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП)
  • рдЙрдмрдВрдЯреВ-рджреИрдирд┐рдХ: (рджреИрдирд┐рдХ рдЙрдмрдВрдЯреВ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП)
  • рддрд╕реНрд╡реАрд░реЗрдВ: (рдЕрдиреНрдп рдбрд┐рд╕реНрдЯреНрд░реЛрдЬрд╝ рдХреЗ рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП)

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

рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЫрд╡рд┐рдпрд╛рдБ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВ:

рдЯреАрдо
рд╡рд┐рд╡рд░рдг

рдПрд▓рдПрдХреНрд╕рд╕реА рдЫрд╡рд┐ рдЙрд░реНрдл
рдЫрд╡рд┐ рдЙрдкрдирд╛рдо рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВ

рдПрд▓рдПрдХреНрд╕рд╕реА рдЫрд╡рд┐ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐
рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рдмреАрдЪ рдЫрд╡рд┐рдпреЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБ

рдПрд▓рдПрдХреНрд╕рд╕реА рдЫрд╡рд┐ рд╣рдЯрд╛рдирд╛
рдЫрд╡рд┐рдпрд╛рдБ рд╣рдЯрд╛рдПрдБ

рдПрд▓рдПрдХреНрд╕рд╕реА рдЫрд╡рд┐ рд╕рдВрдкрд╛рджрд┐рдд
рдЫрд╡рд┐ рдЧреБрдг рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ

рдПрд▓рдПрдХреНрд╕рд╕реА рдЫрд╡рд┐ рдирд┐рд░реНрдпрд╛рдд
рдЫрд╡рд┐рдпрд╛рдБ рдирд┐рд░реНрдпрд╛рдд рдФрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ

рдПрд▓рдПрдХреНрд╕рд╕реА рдЫрд╡рд┐ рдЖрдпрд╛рдд
рдЫрд╡рд┐ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдЫрд╡рд┐рдпрд╛рдБ рдЖрдпрд╛рдд рдХрд░реЗрдВ

рдПрд▓рдПрдХреНрд╕рд╕реА рдЫрд╡рд┐ рдкрддрд╛
рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рджрд┐рдЦрд╛рдПрдВ

рдПрд▓рдПрдХреНрд╕рд╕реА рдЫрд╡рд┐ рд╕реВрдЪреА
рдЫрд╡рд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдмрдирд╛рдПрдВ

рдПрд▓рдПрдХреНрд╕рд╕реА рдЫрд╡рд┐ рддрд╛рдЬрд╝рд╛ рдХрд░рдирд╛
рдЫрд╡рд┐рдпрд╛рдБ рддрд╛рдЬрд╝рд╛ рдХрд░реЗрдВ

рдПрд▓рдПрдХреНрд╕рд╕реА рдЫрд╡рд┐ рджрд┐рдЦрд╛рдирд╛
рдЫрд╡рд┐ рдЧреБрдг рджрд┐рдЦрд╛рдПрдБ

рдЫрд╡рд┐ рдХреЛ рд╡реИрд╢реНрд╡рд┐рдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рд╕реНрдерд╛рдиреАрдп рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВ 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       |
+---------+--------------+------------------------------------+--------------+

рдПрд▓рдПрдХреНрд╕рдбреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди ^

рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдореЛрдб рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрд▓рдПрдХреНрд╕рдбреА рдПрдХ рдЧреИрд░-рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдореЛрдб рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдРрд╕рд╛ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ YAML рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рд╛рд░реВрдк рдЬреЛ рдЖрдкрдХреЛ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рд╕рдВрдкреВрд░реНрдг рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЗрд╕ рдЖрд▓реЗрдЦ рдореЗрдВ рдКрдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рдХрдИ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдХрдорд╛рдВрдбреНрд╕ рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдЖрджрд┐ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд╣рдо рдпрд╣рд╛рдВ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдХрд╡рд░ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рдЖрдк рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВред рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ.

рдЕрдЧрд▓рд╛ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдХрдорд╛рдВрдб lxc config рдЬрд┐рд╕ рдкрд░ рд╣рдо рдЧреМрд░ рдХрд░реЗрдВрдЧреЗ рд╡рд╣ рдЖрдкрдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╕реНрдерд╛рдиреАрдп рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рдЫрд╡рд┐рдпрд╛рдВ рд╡реИрд╢реНрд╡рд┐рдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ, рд╣рдо рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

lxc config set images.auto_update_cached=false

рдПрдХ рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдирд╛ рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ ^

рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ lxc init рдХрд┐рди рдореВрд▓реНрдпреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ╤А╨╡╨┐╨╛╨╖╨╕╤В╨╛╤А╨╕╨╣:╨╛╨▒╤А╨░╨╖ рдФрд░ рдлрд┐рд░ рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП рд╡рд╛рдВрдЫрд┐рдд рдЖрдИрдбреАред рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рд╕реНрдерд╛рдиреАрдп рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ local: рдРрд╕рд╛ рд╣реА рдХреЛрдИ рднреА рд╡реИрд╢реНрд╡рд┐рдХ рд╣реИред рдпрджрд┐ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдиреАрдп рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдЫрд╡рд┐ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЫрд╡рд┐ рд╡реИрд╢реНрд╡рд┐рдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреА рдЧрдИ рд╣реИ, рддреЛ рдЫрд╡рд┐ рдХреЛ рдкрд╣рд▓реЗ рд╕реНрдерд╛рдиреАрдп рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдлрд┐рд░ рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЖрдЗрдП рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:

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

рдЖрдЗрдП рдЙрди рдХрдорд╛рдВрдб рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦреЗрдВ рдЬрд┐рдирдХрд╛ рд╣рдо рдпрд╣рд╛рдВ рдХреНрд░рдо рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:

  • alpine3 тАФ рдЙрд╕ рдЫрд╡рд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдирд╛рдо (рдЙрдкрдирд╛рдо) рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдкрд╣рд▓реЗ рд╕реНрдерд╛рдиреАрдп рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдкрд░ рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрджрд┐ рдЗрд╕ рдЫрд╡рд┐ рдХреЗ рд▓рд┐рдП рдЙрдкрдирд╛рдо рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдЖрдк рд╣рдореЗрд╢рд╛ рдЫрд╡рд┐ рдХреЛ рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЕрдВрдЧреБрд▓реА рдХреА рдЫрд╛рдк рдЬрд┐рд╕реЗ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
  • alp - рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ
  • --storage тАФ рдпрд╣ рдХреБрдВрдЬреА рдХрд┐рд╕рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИ рднрдВрдбрд╛рд░рдг рдкреВрд▓ рдПрдХ рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛
  • --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 рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЙрдкрд▓рдмреНрдз RAM рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддрд╛ рд╣реИред рдорд╛рди рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдПрдХ рд╣реИ рдЙрдкрд▓рдмреНрдз рдкреНрд░рддреНрдпрдп.

рдЖрдЗрдП рдХрдВрдЯреЗрдирд░ рдХреА рд░реИрдо рд╕реАрдорд╛ 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 рд╣рдо рдХрдВрдЯреЗрдирд░ рджреНрд╡рд╛рд░рд╛ рдЙрдкрднреЛрдЧ рдХреА рдЧрдИ рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рднреА рд╕реАрдорд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдХреЗрд╡рд▓ 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 рдирдП рд╕рдорд╛рди рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдПрдВ рднрдВрдбрд╛рд░рдг рдкреВрд▓ (рдПрдЪрдбреАрдкреВрд▓):

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 рд░реВрдЯ рд╡рд┐рднрд╛рдЬрди рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдЙрдВрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рднрдВрдбрд╛рд░рдг рдкреВрд▓ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдпреЗ рдХрдВрдЯреЗрдирд░ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡реЗ рдЗрд╕рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рджреЛ рдХреЗ рдмреАрдЪ рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВред

рд╕рдВрд╕рд╛рдзрди рдЦрдкрдд рдЖрдБрдХрдбрд╝реЗ ^

рдЖрдк рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕рд╛рдзрди рдЦрдкрдд рдЖрдБрдХрдбрд╝реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:

lxc info alp

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

рд╕реНрдиреИрдкрд╢реЙрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдп рдХрд░рдирд╛ ^

LXD рдореЗрдВ рд╕реНрдиреИрдкрд╢реЙрдЯ рдмрдирд╛рдиреЗ рдФрд░ рдЙрдирд╕реЗ рдХрдВрдЯреЗрдирд░ рд╕реНрдерд┐рддрд┐ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред

рд╕реНрдиреИрдкрд╢реЙрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рдЖрджреЗрд╢ рдЪрд▓рд╛рдПрдБ:

lxc snapshot alp snapshot1

рдЯреАрдо lxc snapshot рдХреЛрдИ рдХреБрдВрдЬреА рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ listрдЗрд╕рд▓рд┐рдП, рд╕реНрдиреИрдкрд╢реЙрдЯ рдХреА рд╕реВрдЪреА рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЙрд╕ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдХрдВрдЯреЗрдирд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ:

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

рдЖрдк рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдиреИрдкрд╢реЙрдЯ рд╕реЗ рдПрдХ рдХрдВрдЯреЗрдирд░ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ lxc restore рдЙрд╕ рдХрдВрдЯреЗрдирд░ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рдХреА рдЬрд╛рдПрдЧреА рдФрд░ рд╕реНрдиреИрдкрд╢реЙрдЯ рдЙрдкрдирд╛рдо:

lxc restore alp snapshot1

рд╕реНрдиреИрдкрд╢реЙрдЯ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдХрдорд╛рдВрдб рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЕрдиреНрдп рд╕рднреА рдХреЗ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИ; рдпрд╣рд╛рдВ рдЖрдкрдХреЛ рдХрдВрдЯреЗрдирд░ рдирд╛рдо рдХреЗ рдмрд╛рдж рдлреЙрд░рд╡рд░реНрдб рд╕реНрд▓реИрд╢ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрджрд┐ рд╕реНрд▓реИрд╢ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕реНрдиреИрдкрд╢реЙрдЯ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рдЖрджреЗрд╢ рдХреЛ рдХрдВрдЯреЗрдирд░ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рдЖрджреЗрд╢ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдордЭрд╛ рдЬрд╛рддрд╛ рд╣реИ!

lxc delete alp/snapshot1

рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдордиреЗ рддрдерд╛рдХрдерд┐рдд рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рд╕реНрдиреИрдкрд╢реЙрдЯ рдХреЛ рджреЗрдЦрд╛ред LXD рдореЗрдВ рдПрдХ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реНрдиреИрдкрд╢реЙрдЯ рд╣реИрдВ - рд╕реНрдЯреЗрдЯрдлреБрд▓, рдЬреЛ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╕рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рд╣реЗрдЬрддрд╛ рд╣реИред рд╕реНрдЯреЗрдЯрдлреБрд▓ рд╕реНрдиреИрдкрд╢реЙрдЯ рдХреЗ рд╕рд╛рде рдХрдИ рджрд┐рд▓рдЪрд╕реНрдк рдФрд░ рдЙрдкрдпреЛрдЧреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдЬреБрдбрд╝реА рд╣реБрдИ рд╣реИрдВред

рдФрд░ рдХреНрдпрд╛? ^

  • рдкрд╛рдпрдерди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдореЙрдбреНрдпреВрд▓ рдЙрдкрд▓рдмреНрдз рд╣реИ PyLXD рдЬреЛ LXD рдХреЛ рдПрдХ рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ

рдЕрджреНрдпрддрди 10.04.2020/15/00 XNUMX:XNUMX: рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдиреЗрд╡рд┐рдЧреЗрд╢рди

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ