LXD 5.0 ​​konteynerlarni boshqarish tizimining chiqarilishi

Canonical konteyner menejeri LXD 5.0 ​​va virtual fayl tizimining LXCFS 5.0 versiyasini nashr etdi. LXD kodi Go'da yozilgan va Apache 2.0 litsenziyasi ostida tarqatiladi. 5.0 filiali uzoq muddatli qo'llab-quvvatlash versiyasi sifatida tasniflanadi - yangilanishlar 2027 yil iyunigacha ishlab chiqariladi.

Konteynerlarni ishga tushirish uchun ish vaqti sifatida liblxc kutubxonasi, yordamchi dasturlar to‘plami (lxc-create, lxc-start, lxc-stop, lxc-ls va boshqalar), konteynerlarni qurish uchun shablonlar va turli dasturlash tillari uchun ulanishlar to'plami. Izolyatsiya standart Linux yadro mexanizmlari yordamida amalga oshiriladi. Jarayonlarni, ipc tarmoq stekini, uts, foydalanuvchi identifikatorlari va o'rnatish nuqtalarini ajratish uchun nomlar bo'shliqlari mexanizmi ishlatiladi. resurslarni cheklash uchun guruhlardan foydalaniladi. Imtiyozlarni pasaytirish va kirishni cheklash uchun Apparmor va SELinux profillari, Seccomp siyosatlari, Chroots (pivot_root) va imkoniyatlar kabi yadro xususiyatlaridan foydalaniladi.

LXC-dan tashqari, LXD CRIU va QEMU loyihalari komponentlaridan ham foydalanadi. Agar LXC alohida konteynerlar darajasida manipulyatsiya qilish uchun past darajadagi asboblar to'plami bo'lsa, LXD bir nechta serverlar klasterida joylashtirilgan konteynerlarni markazlashtirilgan boshqarish vositalarini taqdim etadi. LXD REST API orqali tarmoq orqali so'rovlarni qabul qiladigan va turli xil saqlash orqa tomonlarini (katalog daraxti, ZFS, Btrfs, LVM), holat bo'limiga ega suratlarni, ishlaydigan konteynerlarni bir mashinadan ikkinchisiga jonli ko'chirishni qo'llab-quvvatlaydigan fon jarayoni sifatida amalga oshiriladi. va tasvirlar konteynerlarini saqlash uchun asboblar. LXCFS konteynerlarda psevdo-FS /proc va /sys ni simulyatsiya qilish uchun, virtuallashtirilgan taqdimotlar cgroupfs esa konteynerlarga oddiy mustaqil tizim ko'rinishini berish uchun ishlatiladi.

Asosiy yaxshilanishlar:

  • Drayvlar va USB qurilmalarini issiq ulash va o'chirish imkoniyati. Virtual mashinada yangi disk SCSI shinasida yangi qurilma paydo bo'lishi bilan aniqlanadi va USB qurilmasi USB hotplug hodisasini yaratish orqali aniqlanadi.
  • LXD ni tarmoq ulanishini o'rnatishning iloji bo'lmaganda ham ishga tushirish mumkin, masalan, zarur tarmoq qurilmasi yo'qligi sababli. Ishga tushirishda xatolikni ko'rsatish o'rniga, LXD hozirgi sharoitda mumkin bo'lgan maksimal muhit sonini ishga tushiradi va qolgan muhitlar tarmoq ulanishi o'rnatilgandan so'ng ishga tushiriladi.
  • Klaster a'zosining yangi roli qo'shildi - tarmoq aloqasi uchun OVN (Ochiq virtual tarmoq) dan foydalanadigan klasterlar uchun mo'ljallangan ovn-shassi (ovn-shassi rolini belgilash orqali siz OVN routerlari funktsiyalarini bajarish uchun serverlarni tanlashingiz mumkin).
  • Saqlash bo'limlari tarkibini yangilash uchun optimallashtirilgan rejim taklif qilindi. Oldingi nashrlarda yangilanish birinchi navbatda konteyner nusxasini yoki bo'limini nusxalashdan iborat edi, masalan, zfs yoki btrfs-da yuborish/qabul qilish funksiyasidan foydalangan holda, shundan so'ng yaratilgan nusxa rsync dasturini ishga tushirish orqali sinxronlashtirildi. Virtual mashinalarni yangilash samaradorligini oshirish uchun yangi nashr ilg'or migratsiya mantig'idan foydalanadi, bunda manba va maqsad serverlar bir xil saqlash havzasidan foydalansa, rsync o'rniga oniy suratlar va yuborish/qabul qilish operatsiyalari avtomatik ravishda ishlatiladi.
  • Cloud-init-da muhitlarni aniqlash mantig'i qayta ishlandi: muhit nomlari o'rniga endi UUID instance-id sifatida ishlatiladi.
  • Imtiyozsiz konteynerlarga jarayonning ustuvorliklarini o'zgartirishga imkon beruvchi sched_setscheduler tizimi chaqiruvini ulash uchun qo'shimcha yordam.
  • Thinpool-dagi metadata hajmini nazorat qilish uchun lvm.thinpool_metadata_size opsiyasi joriy qilingan.
  • lxc uchun tarmoq ma'lumotlariga ega fayl formati qayta ishlangan. Interfeys ulanishi, tarmoq ko'priklari, VLAN va OVN tarmog'i bo'yicha ma'lumotlar uchun qo'shimcha yordam.
  • Minimal komponentlar versiyalari uchun talablar oshirildi: Linux yadrosi 5.4, Go 1.18, LXC 4.0.x va QEMU 6.0.
  • LXCFS 5 birlashgan guruhlar ierarxiyasini (cgroup2) qo'llab-quvvatladi, /proc/slabinfo va /sys/devices/system/cpu-ni amalga oshirdi va yig'ish uchun meson asboblar to'plamidan foydalangan.

Manba: opennet.ru

a Izoh qo'shish