ืฉื—ืจื•ืจ ื›ืœื™ ื ื™ื”ื•ืœ ื”ืžื›ื•ืœื” LXC ื•-LXD 4.0

ืงื ื•ื ื™ืช ะพะฟัƒะฑะปะธะบะพะฒะฐะปะฐ ืฉื—ืจื•ืจ ื›ืœื™ื ืœืืจื’ื•ืŸ ื”ืขื‘ื•ื“ื” ืฉืœ ืžื›ื•ืœื•ืช ืžื‘ื•ื“ื“ื•ืช LXC 4.0, ืžื ื”ืœ ืžื›ื•ืœื•ืช LXD 4.0 ื•-FS ื•ื™ืจื˜ื•ืืœื™ LXCFS 4.0 ืขื‘ื•ืจ ืกื™ืžื•ืœืฆื™ื” ื‘ืžื›ื•ืœื•ืช /proc, /sys ื•ื™ื™ืฆื•ื’ cgroupfs ื•ื™ืจื˜ื•ืืœื™ ืขื‘ื•ืจ ื”ืคืฆื•ืช ืœืœื ืชืžื™ื›ื” ื‘ืžืจื—ื‘ื™ ืฉืžื•ืช ืฉืœ cgroup. ืกื ื™ืฃ 4.0 ืžืกื•ื•ื’ ื›ื’ืจืกืช ืชืžื™ื›ื” ืืจื•ื›ืช ื˜ื•ื•ื—, ืฉืขื“ื›ื•ื ื™ื ืขื‘ื•ืจื” ื ื•ืฆืจื™ื ืขืœ ืคื ื™ ืชืงื•ืคื” ืฉืœ 5 ืฉื ื™ื

LXC ื”ื•ื ื–ืžืŸ ืจื™ืฆื” ืœื”ืคืขืœืช ืžื™ื›ืœื™ ืžืขืจื›ืช ื•ื’ื ืžื™ื›ืœื™ OCI. LXC ื›ื•ืœืœ ืืช ืกืคืจื™ื™ืช liblxc, ืกื˜ ืฉืœ ื›ืœื™ ืขื–ืจ (lxc-create, lxc-start, lxc-stop, lxc-ls ื•ื›ื•'), ืชื‘ื ื™ื•ืช ืœื‘ื ื™ื™ืช ืงื•ื ื˜ื™ื™ื ืจื™ื ื•ืžืขืจื›ืช ื›ืจื™ื›ื•ืช ืœืฉืคื•ืช ืชื›ื ื•ืช ืฉื•ื ื•ืช. ื”ื‘ื™ื“ื•ื“ ืžืชื‘ืฆืข ื‘ืืžืฆืขื•ืช ืžื ื’ื ื•ื ื™ ืœื™ื‘ืช ืœื™ื ื•ืงืก ืกื˜ื ื“ืจื˜ื™ื™ื. ื›ื“ื™ ืœื‘ื•ื“ื“ ืชื”ืœื™ื›ื™ื, ืžื—ืกื ื™ืช ืจืฉืช ื”-ipc, uts, ืžื–ื”ื™ ืžืฉืชืžืฉ ื•ื ืงื•ื“ื•ืช ื”ืจื›ื‘ื”, ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืžื ื’ื ื•ืŸ ืžืจื—ื‘ื™ ื”ืฉืžื•ืช. ืงื‘ื•ืฆื•ืช 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 ื™ื›ื•ืœ ืœื”ื™ื•ืช ืžืฉื•ื™ืš ืœืชื”ืœื™ืš ืื—ืจ ืœืื—ืจ ืฉื”ืชื”ืœื™ืš ื”ื ื•ื›ื—ื™ ื”ืžืฉื•ื™ืš ืœืื•ืชื• PID ืžืกืชื™ื™ื) ;
  • ืฉื™ืคื•ืจ ื™ืฆื™ืจื” ื•ืžื—ื™ืงื” ืฉืœ ื”ืชืงื ื™ ืจืฉืช, ื›ืžื• ื’ื ืชื ื•ืขืชื ื‘ื™ืŸ ืžืจื—ื‘ื™ ืฉืžื•ืช ืฉืœ ืชืช-ืžืขืจื›ืช ื”ืจืฉืช;
  • ื”ื•ื˜ืžืขื” ื”ื™ื›ื•ืœืช ืœื”ืขื‘ื™ืจ ื”ืชืงื ื™ ืจืฉืช ืืœื—ื•ื˜ื™ืช (nl80211) ืœืชื•ืš ืงื•ื ื˜ื™ื™ื ืจื™ื.

ืžืคืชื— ืฉื™ืคื•ืจื™ื ื‘-LXD 4.0:

  • ื ื•ืกืคื” ืชืžื™ื›ื” ืœื”ืคืขืœืช ืœื ืจืง ืงื•ื ื˜ื™ื™ื ืจื™ื, ืืœื ื’ื ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช;
  • ืœืคื™ืœื•ื— ืฉืจืชื™ LXD, ื”ื•ืฆืข ืงื•ื ืกืคื˜ ืฉืœ ืคืจื•ื™ืงื˜ ื”ืžืคืฉื˜ ืืช ื”ื ื™ื”ื•ืœ ืฉืœ ืงื‘ื•ืฆื•ืช ืงื•ื ื˜ื™ื™ื ืจื™ื ื•ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช. ื›ืœ ืคืจื•ื™ืงื˜ ื™ื›ื•ืœ ืœื›ืœื•ืœ ืกื˜ ืžืฉืœื• ืฉืœ ืงื•ื ื˜ื™ื™ื ืจื™ื, ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช, ืชืžื•ื ื•ืช, ืคืจื•ืคื™ืœื™ื ื•ืžื—ื™ืฆื•ืช ืื—ืกื•ืŸ. ื‘ืงืฉืจ ืœืคืจื•ื™ืงื˜ื™ื, ืืชื” ื™ื›ื•ืœ ืœื”ื’ื“ื™ืจ ืžื’ื‘ืœื•ืช ืžืฉืœืš ื•ืœืฉื ื•ืช ื”ื’ื“ืจื•ืช;
  • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ื™ื™ืจื•ื˜ ืงืจื™ืื•ืช ืžืขืจื›ืช ืœืžื›ื•ืœื•ืช;
  • ื™ื™ืฉื ื™ืฆื™ืจืช ืขื•ืชืงื™ ื’ื™ื‘ื•ื™ ืฉืœ ืกื‘ื™ื‘ื•ืช ื•ืฉื—ื–ื•ืจ ืžื”ืŸ;
  • ื™ืฆื™ืจื” ืื•ื˜ื•ืžื˜ื™ืช ืฉืœ ืฆื™ืœื•ืžื™ ืžืฆื‘ ืฉืœ ืกื‘ื™ื‘ื•ืช ื•ืžื—ื™ืฆื•ืช ืื—ืกื•ืŸ ืžืกื•ืคืงืช ืขื ื”ื™ื›ื•ืœืช ืœื”ื’ื“ื™ืจ ืืช ืžืฉืš ื”ื—ื™ื™ื ืฉืœ ืชืžื•ื ืช ื”ืžืฆื‘;
  • ื ื•ืกืฃ API ืœื ื™ื˜ื•ืจ ืžืฆื‘ ื”ืจืฉืช (ืžื™ื“ืข ืจืฉืช lxc);
  • ื ื•ืกืคื” ืชืžื™ื›ื” ืžืฉืžืจื•ืช, FS ื•ื™ืจื˜ื•ืืœื™ ืœืžื™ืคื•ื™ ื ืงื•ื“ื•ืช ื”ืจื›ื‘ื” ืœืžืจื—ื‘ื™ ืฉืžื•ืช ืžืฉืชืžืฉื™ื;
  • ื”ื•ืฆืขื• ืกื•ื’ื™ื ื—ื“ืฉื™ื ืฉืœ ืžืชืืžื™ ืจืฉืช "ipvlan" ื•"ืžื ื•ืชื‘ื™ื";
  • ื”ื•ืกืคืช ืงืฆื” ืขื•ืจืคื™ ืœืฉื™ืžื•ืฉ ื‘ืื—ืกื•ืŸ ืžื‘ื•ืกืก CephFS;
  • ืชืžื™ื›ื” ื‘ืฉื›ืคื•ืœ ืชืžื•ื ื” ื•ืชืฆื•ืจื•ืช ืจื™ื‘ื•ื™ ืืจื›ื™ื˜ืงื˜ื•ืจื•ืช ื™ื•ืฉืžื” ืขื‘ื•ืจ ืืฉื›ื•ืœื•ืช;
  • ื ื•ืกืคื” ื‘ืงืจืช ื’ื™ืฉื” ืžื‘ื•ืกืกืช ืชืคืงื™ื“ื™ื (RBAC);
  • ื ื•ืกืคื” ืชืžื™ื›ื” ืขื‘ื•ืจ CGroup2;
  • ื ื•ืกืคื” ื”ื™ื›ื•ืœืช ืœื”ื’ื“ื™ืจ ืืช ื›ืชื•ื‘ืช ื”-MAC ื•ืœืงื‘ื•ืข ืืช ื›ืชื•ื‘ืช ื”ืžืงื•ืจ ืขื‘ื•ืจ NAT;
  • ื ื•ืกืฃ API ืœื ื™ื”ื•ืœ ื›ืจื™ื›ื•ืช DHCP (ื—ื›ื™ืจื•ืช);
  • ื ื•ืกืคื” ืชืžื™ื›ื” ืขื‘ื•ืจ Nftables.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”