OpenZFS 2.4.4: Останнє оновлення для популярної системи зберігання даних
OpenZFS 2.4.4: Останнє оновлення для популярної системи зберігання даних
OpenZFS 2.4.4 було випущено як останнє обслуговуюче оновлення для відкритої реалізації ZFS, що розширює сумісність з ядром Linux 7.2 та впроваджує нову можливість відновлення для пулів, що постраждали від проблем Multi-Modifier Protection.
Сумісність з ядром Linux та підтримка FreeBSD
З цим випуском офіційно підтримуваний діапазон ядер Linux тепер становить від 4.18 до 7.2. Оновлення включає роботи з сумісності для Linux 7.2, такі як перетворення коду суперблоку ZFS на інтерфейс sget_fc() ядра. OpenZFS 2.4.4 також продовжує підтримувати FreeBSD, де у примітках щодо випуску вказані версії FreeBSD 13.3 і пізніші, а також 14.0 і пізніші як підтримувані платформи.
Нова команда для відновлення
Однією з помітних новинок є нова команда zhack mmp reclaim, призначена для відновлення пулу, який залишився без управлінських дій через Multi-Modifier Protection. MMP є запобіжником OpenZFS проти одночасного імпорту та модифікації одного й того ж пулу з кількох систем, що в іншому разі могло б призвести до пошкодження даних.
Удосконалення в управлінні пулами та виправлення помилок
Зміни MMP дозволяють OpenZFS краще розрізняти невдале ствердження uberblock і справжню активність з іншого хоста. Реалізація також пропускає неробочі віртуальні пристрої під час перевірок активності та покращує обробку деградованих дзеркал з деякими відсутніми елементами.
OpenZFS 2.4.4 робить залежність systemd-udev-settle необов’язковою для імпортних одиниць пулу systemd, що усуває безумовне очікування завершення обробки пристроїв перед продовженням імпортної одиниці.
На фронті виправлення помилок усунено кілька проблем, що впливають на таблицю дедуплікації, включаючи переповнення негативного часу під час очищення DDT, численні помилки очищення, недостатнє блокування під час перевірки дедуплікації та неправильне позначення лічильників посилань у журналі DDT.
Покращення функціональності та виправлення
Користувачі L2ARC отримали виправлення, яке обмежує відновлення протягом першого просвіту. Також виправлено читання, що включає блоки, що були звільнені після клонування, і обмежено частоту подій перевірки Direct I/O, щоб уникнути надмірного генерування подій.
Для Linux випуск усуває безкінечний цикл у zfs_write(), який може виникнути при роботі з буфером, що не підлягає помилкам. Також виправлено читання через mmap() за межами файлу та оновлено часові мітки модифікацій і змін належним чином, коли fallocate() збільшує файл.
Управління пулами отримує кілька виправлень. Тепер zpool export повертає EBUSY, коли підпристрої zvol, що належать пулу, все ще використовуються, замість того, щоб продовжувати, коли пул не можна чисто експортувати. Виправлено також змагання між завершенням видалення пристроїв та експортом пула.
Крім того, OpenZFS 2.4.4 також вирішує питання отримання розділених великих блоків з коротким кінцевим фрагментом, виправляє поведінку, пов’язану з zfs receive -x, та усуває можливе посилання на нульовий вказівник у коді отримання DMU. Випуск також виправляє застаріле кешування POSIX ACL, яке могло залишатися після відкату.
Для делегованого адміністрування OpenZFS вводить новий дозвіл send:encrypted, що забезпечує більш тонкий контроль над тим, чи дозволено делегованим користувачам надсилати зашифровані набори даних.
До інших змін належать покращення перевірки прав доступу до пристроїв, безпечніше оброблення рядків та пам’яті в libzfs, виправлення для відновлених надсилань, покращенняавтоматичного розширення пула при зміні ємності розділених дисків, а також низка оновлень, пов’язаних зі збіркою, CI, тестуванням та FreeBSD.
Для детальнішої інформації можна ознайомитися з чangelog.




