Логотип LXD
Нова версія Випущено LXD 5.20 із новими функціями та основними моментами як-от зміна ліцензії з Apache 2.0 на AGPLv3, виправлення порядку завантажувальних пристроїв, а також виправлення помилок тощо.
Для тих, хто не знає про LXD, ви повинні знати що це інструмент, який полегшує централізоване керування контейнерами та віртуальними машинами в кластері серверів. Це фоновий процес, який приймає запити через мережу за допомогою REST API. Крім того, LXD пропонує підтримку для різних систем зберігання, включаючи дерево каталогів, ZFS, Btrfs і LVM.
Серед ключових особливостей LXD — знімки з сегментом стану, які дозволяють зафіксувати та відновити стан контейнера в певний момент часу. Він також пропонує можливість плавного перенесення запущених контейнерів з однієї машини на іншу, а також інструменти для зберігання зображень контейнерів.
Що нового в LXD 5.20?
У цій новій версії LXD 5.20, lГоловне нововведення – змінилася ліцензія на проект та введення необхідності підписання CLA Договору про перехід права власності на код при прийнятті змін до LXD.
Модифікація ліцензії від Apache 2.0 до AGPLv3, являє собою суттєву зміну в умовах розповсюдження та використання проекту. Це рішення засноване на бажанні Canonical уніфікувати ліцензію LXD з іншими продуктами.сервери, які використовують AGPLv3.
У результаті цієї зміни Проект LXD буде виконано на змішаних умовах: Деякий код буде під AGPLv3, тоді як код сторонніх розробників, на який Canonical не має прав власності, залишиться під Apache 2.0. Важливо, що Canonical не має можливості змінювати ліцензію для всього коду LXD, що призвело до розбіжності в умовах ліцензування проекту.
Перехід на цю нову ліцензію означає, що код із попередніх версій залишається доступним за ліцензією Apache 2.0, але зміни, внесені до компонентів за новою ліцензією, будуть випущені лише за ліцензією AGPLv3.
Canonical згадує, що:
Важливо зазначити, що ця зміна не перешкоджає нашим користувачам використовувати, змінювати або надавати програмні рішення на основі LXD, якщо вони надають доступ до вихідного коду, якщо вони його змінюють, і роблять його доступним для інших. Умови ліцензії призначені для заохочення тих, хто хоче змінити програмне забезпечення, щоб зробити внесок у проект і спільноту.
Хоча Насправді це створює проблеми для співпраці між проектами, як Incus, оскільки ліцензія AGPLv3 накладає обмеження, які перешкоджають передачі змін з LXD на Incus і навпаки. Одностороння сумісність між ліцензіями Apache 2.0 і AGPLv3 ускладнює співпрацю між проектами, оскільки код за ліцензією Apache 2.0 можна включити в код за ліцензією AGPLv3, але не навпаки.
З боку зміни, які виділяються цієї нової версії LXD 5.20 є рішення щодо порядку завантажувальних пристроїв CSMЯк додано підтримку прошивки LXD Snap Pack EDK2 для дотримання конфігурації диска пристроїв boot.priority при використанні режиму security.csm. Раніше це спричинив проблему під час імпорту віртуальних машин на основі BIOS який не завантажувався за допомогою UEFI, оскільки прошивка віртуальної машини намагалася спочатку завантажити пристрої UEFI, і це означало, що спроба завантаження мережі PXE була зроблена перед кореневим диском на основі BIOS, що спричиняло тривалі періоди затримок завантаження.
Ще одна зміна, яка виділяється, - це новий режим налагодження проблеми завантаження віртуальної машини, і тепер можна завантажувати віртуальну машину за допомогою прошивки EDK2 UEFI (boot.debug_edk2=true). Журнал налагодження зберігається у файлі $LXD_DIR/logs//edk2.log.
Крім того, Підтримку Shiftfs видалено тому тепер, щоб призначити ідентифікатори користувачів, ви повинні використовувати idmapped mount, який тепер підтримується ZFS і Cephfs (на додаток до давньої підтримки ext4, xfs і btrfs).
Крім того, тепер є можливість гарячого підключення та гарячого відключення дискових пристроїв, оскільки хост-середовище було переміщено з кодової бази Incus fork.
З інших змін що виділяються:
- Код авторизації було модульовано, щоб забезпечити підтримку OpenFGA на додаток до авторизації за допомогою сертифікатів TLS і RBAC.
- Для компіляції LXD тепер потрібна принаймні Go 1.20.
- Вилучено підтримку мікропрограми UEFI 2 МБ (необхідно використовувати мікропрограму 4 МБ).
- Ідентифікатор пристрою org.linuxcontainers.lxd було перейменовано на com.canonical.lxd (старий ідентифікатор усе ще підтримується для зворотної сумісності).
- Підтримку створення сховищ на основі технології NVME перенесено з кодової бази Incus fork.
В кінці кінців якщо вам цікаво дізнатись більше про це, ви можете перевірити деталі в наступне посилання.