рдХрдиреНрдЯреЗрдирд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЙрдкрдХрд░рдг LXC рд░ LXD 4.0 рдХреЛ рд░рд┐рд▓реАрдЬ

рдХреНрдпрд╛рдиреЛрдирд┐рдХрд▓ рдкреНрд░рдХрд╛рд╢рд┐рдд рдкреГрдердХ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдХреЛ рдХрд╛рдо рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрди рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рд░рд┐рд▓реАрдЬ LXC 4.0, рдХрдиреНрдЯреЗрдирд░ рдкреНрд░рдмрдиреНрдзрдХ LXD 4.0.ред рд░ рднрд░реНрдЪреБрдЕрд▓ FS LXCFS 4.0 /proc, /sys рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдорд╛ рд╕рд┐рдореБрд▓реЗрд╢рдирдХреЛ рд▓рд╛рдЧрд┐ рд░ cgroup рдиреЗрдорд╕реНрдкреЗрд╕рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдмрд┐рдирд╛ рд╡рд┐рддрд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рднрд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреНрдб cgroupfs рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ред рд╢рд╛рдЦрд╛ 4.0 рд▓рд╛рдИ рджреАрд░реНрдШрдХрд╛рд▓реАрди рд╕рдорд░реНрдерди рд░рд┐рд▓реАрдЬрдХреЛ рд░реВрдкрдорд╛ рд╡рд░реНрдЧреАрдХреГрдд рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рдХрд╛ рд▓рд╛рдЧрд┐ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХрд╣рд░реВ 5 рд╡рд░реНрд╖рдХреЛ рдЕрд╡рдзрд┐рдорд╛ рдЙрддреНрдкрдиреНрди рд╣реБрдиреНрдЫрдиреНред

LXC рджреБрдмреИ рдкреНрд░рдгрд╛рд▓реА рдХрдиреНрдЯреЗрдирд░ рд░ OCI рдХрдиреНрдЯреЗрдирд░рд╣рд░реВ рдЪрд▓рд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рд░рдирдЯрд╛рдЗрдо рд╣реЛред LXC рд▓реЗ liblxc рдкреБрд╕реНрддрдХрд╛рд▓рдп, рдЙрдкрдпреЛрдЧрд┐рддрд╛рд╣рд░реВрдХреЛ рд╕реЗрдЯ (lxc-create, lxc-start, lxc-stop, lxc-ls, рдЖрджрд┐), рдХрдиреНрдЯреЗрдирд░рд╣рд░реВ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдЯреЗрдореНрдкреНрд▓реЗрдЯрд╣рд░реВ рд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдмрд╛рдЗрдиреНрдбрд┐рдЩрд╣рд░реВрдХреЛ рд╕реЗрдЯ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред рдорд╛рдирдХ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдореЗрдХрд╛рдирд┐рдЬрдорд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЕрд▓рдЧрд╛рд╡ рдЧрд░рд┐рдиреНрдЫред рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ рдЕрд▓рдЧ рдЧрд░реНрди, ipc рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрдЯреНрдпрд╛рдХ, uts, рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ ID рд░ рдорд╛рдЙрдиреНрдЯ рдкреЛрдЗрдиреНрдЯрд╣рд░реВ, рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдХрд╛рдирд┐рдЬреНрдо рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред cgroups рд╕реНрд░реЛрдд рд╕реАрдорд┐рдд рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░рд╣рд░реВ рдХрдо рдЧрд░реНрди рд░ рдкрд╣реБрдБрдЪ рд╕реАрдорд┐рдд рдЧрд░реНрди, рдХрд░реНрдиреЗрд▓ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рдЬрд╕реНрддреИ Apparmor рд░ SELinux рдкреНрд░реЛрдлрд╛рдЗрд▓рд╣рд░реВ, Seccomp рдиреАрддрд┐рд╣рд░реВ, Chroots (pivot_root) рд░ рдХреНрд╖рдорддрд╛рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред рдХреЛрдб LXC рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд┐рдд C рднрд╛рд╖рд╛рдорд╛ рд░ GPLv2 рд▓рд╛рдЗрд╕реЗрдиреНрд╕ рдЕрдиреНрддрд░реНрдЧрдд рд╡рд┐рддрд░рд┐рддред

LXD LXC, CRIU рд░ QEMU рдорд╛ рдПрдХ рдПрдб-рдЕрди рд╣реЛ рдЬреБрди рдПрдХ рд╡рд╛ рдзреЗрд░реИ рд╕рд░реНрднрд░рд╣рд░реВрдорд╛ рдХрдиреНрдЯреЗрдирд░ рд░ рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рдирд╣рд░реВ рдХреЗрдиреНрджреНрд░реАрдп рд░реВрдкрдорд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред рдпрджрд┐ LXC рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдХреЛ рд╕реНрддрд░рдорд╛ рд╣реЗрд░рдлреЗрд░рдХреЛ рд▓рд╛рдЧрд┐ рдирд┐рдореНрди-рд╕реНрддрд░рдХреЛ рдЯреБрд▓рдХрд┐рдЯ рд╣реЛ рднрдиреЗ, LXD рд▓рд╛рдИ рдкреГрд╖реНрдарднреВрдорд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдХреЛ рд░реВрдкрдорд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░рд┐рдиреНрдЫ рдЬрд╕рд▓реЗ REST API рдорд╛рд░реНрдлрдд рдиреЗрдЯрд╡рд░реНрдХрдорд╛ рдЕрдиреБрд░реЛрдзрд╣рд░реВ рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрджрдЫ рд░ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдзреЗрд░реИ рд╕рд░реНрднрд░рд╣рд░реВрдХреЛ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рддреИрдирд╛рде рдЧрд░рд┐рдПрдХреЛ рд╕реНрдХреЗрд▓реЗрдмрд▓ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред
рд╡рд┐рднрд┐рдиреНрди рднрдгреНрдбрд╛рд░рдг рдмреНрдпрд╛рдХрдЗрдиреНрдбрд╣рд░реВ рд╕рдорд░реНрдерд┐рдд рдЫрдиреН (рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рдЯреНрд░реА, ZFS, Btrfs, LVM), рд╕реНрдЯреЗрдЯ рд╕реНрд▓рд╛рдЗрд╕рдХреЛ рд╕рд╛рде рд╕реНрдиреНрдпрд╛рдкрд╕рдЯрд╣рд░реВ, рдПрдХ рдореЗрд╕рд┐рдирдмрд╛рдЯ рдЕрд░реНрдХреЛ рдореЗрд╕рд┐рдирдорд╛ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдХреЛ рд▓рд╛рдЗрдн рдорд╛рдЗрдЧреНрд░реЗрд╕рди, рд░ рдЫрд╡рд┐ рднрдгреНрдбрд╛рд░рдг рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрди рдЙрдкрдХрд░рдгрд╣рд░реВред рдХреЛрдб LXD рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд┐рдд Go рдорд╛ рд░ Apache 2.0 рд▓рд╛рдЗрд╕реЗрдиреНрд╕ рдЕрдиреНрддрд░реНрдЧрдд рд╡рд┐рддрд░рд┐рддред

рдХреБрдЮреНрдЬреА рд╕реБрдзрд╛рд░рд╣рд░реВ LXC 4.0 рдорд╛:

  • рдбреНрд░рд╛рдЗрднрд░рд▓рд╛рдИ cgroup рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдкреБрди: рд▓реЗрдЦрд┐рдПрдХреЛ рдЫред рдПрдХреАрдХреГрдд cgroup рдкрджрд╛рдиреБрдХреНрд░рдо (cgroup2) рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкрд┐рдпреЛред рдлреНрд░рд┐рдЬрд░ рдирд┐рдпрдиреНрддреНрд░рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдердкрд┐рдпреЛ, рдЬрд╕рдХреЛ рд╕рд╛рде рддрдкрд╛рдИрдВрд▓реЗ cgroup рдорд╛ рдХрд╛рдо рд░реЛрдХреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ рдЕрдиреНрдп рдХрд╛рд░реНрдпрд╣рд░реВ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЕрд╕реНрдерд╛рдпреА рд░реВрдкрдорд╛ рдХреЗрд╣реА рд╕реНрд░реЛрддрд╣рд░реВ (CPU, I/O, рд░ рд╕рдореНрднрд╛рд╡рд┐рдд рд░реВрдкрдорд╛ рдореЗрдореЛрд░реА) рдЦрд╛рд▓реА рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ;
  • рдЗрдиреНрдЯрд░рд╕реЗрдкреНрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдо рдХрд▓рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░рд┐рдПрдХреЛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░;
  • "pidfd" рдХрд░реНрдиреЗрд▓ рдЙрдкрдкреНрд░рдгрд╛рд▓реАрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкрд┐рдпреЛ, PID рдкреБрди: рдкреНрд░рдпреЛрдЧрдХреЛ рд╕реНрдерд┐рддрд┐ рд╣реНрдпрд╛рдиреНрдбрд▓ рдЧрд░реНрди рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ (pidfd рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдЫ рд░ рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдБрджреИрди, рдЬрдмрдХрд┐ PID рд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рд╣рд╛рд▓рдХреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдорд╛рдкреНрдд рднрдПрдкрдЫрд┐ рдЕрд░реНрдХреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рд╣реБрди рд╕рдХреНрдЫ)ред ;
  • рд╕реБрдзрд╛рд░рд┐рдПрдХреЛ рд╕рдЮреНрдЬрд╛рд▓ рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рд╕рд┐рд░реНрдЬрдирд╛ рд░ рдореЗрдЯрд╛рдЙрдиреЗ, рд╕рд╛рдереИ рдиреЗрдЯрд╡рд░реНрдХ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдиреЗрдорд╕реНрдкреЗрд╕рд╣рд░реВ рдмреАрдЪ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдЖрд╡рд╛рдЧрдорди;
  • рд╡рд╛рдпрд░рд▓реЗрд╕ рдиреЗрдЯрд╡рд░реНрдХ рдЙрдкрдХрд░рдгрд╣рд░реВ (nl80211) рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдорд╛ рд╕рд╛рд░реНрди рд╕рдХреНрдиреЗ рдХреНрд╖рдорддрд╛ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫред

рдХреБрдЮреНрдЬреА рд╕реБрдзрд╛рд░рд╣рд░реВ LXD 4.0 рдорд╛:

  • рдХрдиреНрдЯреЗрдирд░рд╣рд░реВ рдорд╛рддреНрд░ рд╣реЛрдЗрди, рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рдирд╣рд░реВ рдкрдирд┐ рд╕реБрд░реВ рдЧрд░реНрди рд╕рдорд░реНрдерди рдердкрд┐рдпреЛ;
  • LXD рд╕рд░реНрднрд░рд╣рд░реВ рдЦрдгреНрдб рдЧрд░реНрди, рдПрдЙрдЯрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЕрд╡рдзрд╛рд░рдгрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░рд┐рдПрдХреЛ рдЫ рдЬрд╕рд▓реЗ рдХрдиреНрдЯреЗрдирд░ рд░ рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рдирд╣рд░реВрдХреЛ рд╕рдореВрд╣рд╣рд░реВрдХреЛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирд▓рд╛рдИ рд╕рд░рд▓ рдмрдирд╛рдЙрдБрдЫред рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рд▓реЗ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдХреЛ рдЖрдлреНрдиреИ рд╕реЗрдЯ, рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рдирд╣рд░реВ, рдЫрд╡рд┐рд╣рд░реВ, рдкреНрд░реЛрдлрд╛рдЗрд▓рд╣рд░реВ рд░ рднрдгреНрдбрд╛рд░рдг рд╡рд┐рднрд╛рдЬрдирд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрди рд╕рдХреНрдЫред рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрдХреЛ рд╕рдореНрдмрдиреНрдзрдорд╛, рддрдкрд╛рдЗрдБ рддрдкрд╛рдЗрдБрдХреЛ рдЖрдлреНрдиреИ рдкреНрд░рддрд┐рдмрдиреНрдзрд╣рд░реВ рд╕реЗрдЯ рдЧрд░реНрди рд░ рд╕реЗрдЯрд┐рдЩрд╣рд░реВ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ;
  • рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЕрд╡рд░реЛрдз рдкреНрд░рдгрд╛рд▓реА рдХрд▓рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкрд┐рдпреЛ;
  • рд╡рд╛рддрд╛рд╡рд░рдгрдХреЛ рдЬрдЧреЗрдбрд╛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐рд╣рд░реВрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд░ рддрд┐рдиреАрд╣рд░реВрдмрд╛рдЯ рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛;
  • рд╡рд╛рддрд╛рд╡рд░рдг рд░ рднрдгреНрдбрд╛рд░рдг рд╡рд┐рднрд╛рдЬрдирд╣рд░реВрдХреЛ рд╕реНрдиреНрдпрд╛рдкрд╕рдЯрд╣рд░реВрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕рд┐рд░реНрдЬрдирд╛ рд╕реНрдиреНрдпрд╛рдкрд╕рдЯрдХреЛ рдЬреАрд╡рдирдХрд╛рд▓ рд╕реЗрдЯ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛рдХреЛ рд╕рд╛рде рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫ;
  • рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрдерд┐рддрд┐ (lxc рдиреЗрдЯрд╡рд░реНрдХ рдЬрд╛рдирдХрд╛рд░реА) рдХреЛ рдирд┐рдЧрд░рд╛рдиреА рдХреЛ рд▓рд╛рдЧреА API рдердкрд┐рдпреЛ;
  • рд╕рдорд░реНрдерди рдердкрд┐рдпреЛ shiftfs, рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗрдорд╕реНрдкреЗрд╕рд╣рд░реВрдорд╛ рдорд╛рдЙрдиреНрдЯ рдмрд┐рдиреНрджреБрд╣рд░реВ рдореНрдпрд╛рдк рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рднрд░реНрдЪреБрдЕрд▓ FS;
  • рдирдпрд╛рдБ рдкреНрд░рдХрд╛рд░рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдПрдбреЗрдкреНрдЯрд░рд╣рд░реВ "ipvlan" рд░ "routed" рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЧрд░рд┐рдПрдХрд╛ рдЫрдиреН;
  • CephFS-рдЖрдзрд╛рд░рд┐рдд рднрдгреНрдбрд╛рд░рдг рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рдмреНрдпрд╛рдХрдЗрдиреНрдб рдердкрд┐рдпреЛ;
  • рдЫрд╡рд┐ рдкреНрд░рддрд┐рдХреГрддрд┐ рд░ рдмрд╣реБ-рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫ;
  • рдердкрд┐рдПрдХреЛ рднреВрдорд┐рдХрд╛-рдЖрдзрд╛рд░рд┐рдд рдкрд╣реБрдБрдЪ рдирд┐рдпрдиреНрддреНрд░рдг (RBAC);
  • CGroup2 рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкрд┐рдпреЛ;
  • MAC рдареЗрдЧрд╛рдирд╛ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдиреЗ рд░ NAT рдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрд░реЛрдд рдареЗрдЧрд╛рдирд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдердкрд┐рдпреЛ;
  • DHCP рдмрд╛рдЗрдиреНрдбрд┐рдЩрд╣рд░реВ рдкреНрд░рдмрдиреНрдз рдЧрд░реНрди API рдердкрд┐рдпреЛ (рд▓реАрдЬрд╣рд░реВ);
  • Nftables рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкрд┐рдпреЛред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди