LXC болон LXD 4.0 савны менежментийн хэрэгслийн хувилбар

Каноник компани Нийтлэгдсэн тусгаарлагдсан савны ажлыг зохион байгуулах хэрэгслийг гаргах LXC4.0, контейнер менежер LXD 4.0 болон виртуал FS LXCS 4.0 /proc, /sys контейнерт симуляци хийх ба cgroup-д зориулсан нэрийн зайны дэмжлэггүй түгээлтийн cgroupf-ийн виртуалчлагдсан дүрслэл. 4.0 салбар нь урт хугацааны дэмжлэг үзүүлэх хувилбар гэж ангилагдсан бөгөөд шинэчлэлтүүд нь 5 жилийн хугацаанд хийгддэг.

LXC нь системийн контейнер болон бие даасан програмуудад (OCI) зориулсан контейнеруудыг хоёуланг нь ажиллуулах ажлын цаг юм. LXC нь liblxc номын сан, хэрэгслүүдийн багц (lxc-create, lxc-start, lxc-stop, lxc-ls гэх мэт), контейнер бүтээх загварууд, төрөл бүрийн програмчлалын хэлнүүдийн багцуудыг агуулдаг. Тусгаарлах ажлыг Линуксийн цөмийн ердийн механизмуудыг ашиглан гүйцэтгэдэг. Нэрийн орон зайн механизмыг процессууд, IPC, uts сүлжээний стек, хэрэглэгчийн ID болон холбох цэгүүдийг тусгаарлахад ашигладаг. бүлгүүдийг нөөцийг хязгаарлахад ашигладаг. 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-тэй ажиллахын тулд драйверийг бүрэн дахин бичсэн. Нэгдмэл бүлгийн шатлалын дэмжлэгийг нэмсэн (cgroup2). Бүлэг дэх ажлыг зогсоож, зарим нөөцийг (CPU, I/O, магадгүй санах ой) түр чөлөөлөхөд ашиглаж болох хөлдөөгч хянагчийн функцийг нэмсэн;
  • Системийн дуудлагыг таслан зогсоох дэд бүтцийг бий болгосон;
  • PID-г дахин ашиглах нөхцөлийг зохицуулахад зориулагдсан "pidfd" цөмийн дэд системийн дэмжлэгийг нэмсэн (pidfd нь тодорхой процесстой холбоотой бөгөөд өөрчлөгддөггүй, харин PID нь энэ PID-тэй холбоотой одоогийн процесс дууссаны дараа өөр процесстой холбогдож болно);
  • Сүлжээний төхөөрөмжүүдийг үүсгэх, устгах, түүнчлэн сүлжээний дэд системийн нэрийн орон зай хоорондын хөдөлгөөнийг сайжруулсан;
  • Утасгүй сүлжээний төхөөрөмжүүдийг (nl80211) контейнерт шилжүүлэх боломжийг хэрэгжүүлсэн.

Түлхүүр сайжруулалт LXD 4.0-д:

  • Зөвхөн чингэлэг төдийгүй виртуал машиныг эхлүүлэх дэмжлэг нэмэгдсэн;
  • Sharding LXD серверүүдийн хувьд контейнер болон виртуал машинуудын бүлгийг удирдахад хялбар болгох дизайны үзэл баримтлалыг санал болгосон. Төсөл бүр өөрийн гэсэн багц, виртуал машин, зураг, профайл, хадгалах хуваалтыг багтааж болно. Төсөлтэй холбоотойгоор та өөрийн хязгаарлалтыг тогтоож, тохиргоог өөрчлөх боломжтой;
  • Контейнерийн системийн дуудлагыг таслан зогсоох дэмжлэг нэмэгдсэн;
  • Орчны нөөц хуулбарыг үүсгэх, тэдгээрээс сэргээх ажлыг хэрэгжүүлсэн;
  • Зургийн ашиглалтын хугацааг тохируулах чадвартай орчин, хадгалах хуваалтуудын агшин зуурын зургийг автоматаар үүсгэх боломжтой;
  • Сүлжээний статусыг хянах API нэмэгдсэн (lxc сүлжээний мэдээлэл);
  • Нэмэлт дэмжлэг shiftfs, холболтын цэгүүдийг хэрэглэгчийн нэрийн орон зайд буулгах виртуал файлын систем;
  • "ipvlan" болон "routed" сүлжээний адаптеруудын шинэ төрлийг санал болгож байна;
  • CephFS дээр суурилсан хадгалах санг ашиглахад зориулж арын хэсгийг нэмсэн;
  • Кластеруудын хувьд зургийг хуулбарлах, олон архитектурын тохиргоог хийх дэмжлэгийг хэрэгжүүлдэг;
  • Дүрд суурилсан хандалтын хяналтын (RBAC) боломж нэмэгдсэн;
  • CGroup2-д дэмжлэг нэмсэн;
  • MAC хаягийг тохируулах, NAT-ийн эх хаягийг тодорхойлох чадварыг нэмсэн;
  • DHCP (түрээс) дэх холболтыг удирдах API нэмэгдсэн;
  • Nftables-ийн дэмжлэг нэмсэн.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх