Western Digital опублікував спеціалізовану ФС Zonefs для зонованих накопичувачів

Директор з програмних розробок компанії Western Digital запропонував у списку розсилки розробників ядра Linux нову файлову систему Zonefs, націлену на спрощення низькорівневої роботи з зонованими пристроями зберігання. Zonefs пов'язує кожну зону в накопичувачі з окремим файлом, який можна використовувати для зберігання даних у raw-режимі без маніпуляції на рівні секторів та блоків.

Zonefs не є POSIX-сумісною ФС і обмежена досить вузькою сферою застосування, що дозволяє програмам використовувати файловий API замість прямого звернення до блокового пристрою за допомогою ioctl. Пов'язані із зонами файли вимагають виконання операцій послідовного запису, починаючи з кінця файлу (запис у режимі доповнення).

Файли, що надаються в Zonefs, можуть застосовуватися для розміщення поверх зонованих накопичувачів БД, що використовують структури зберігання у формі лога LSM (log-structured merge), відштовхуючись від концепції один файл - одна зона зберігання. Наприклад, подібні структури застосовуються у БД RocksDB та LevelDB. Запропонований підхід дає можливість скоротити витрати на портування коду, що спочатку розрахований на маніпуляцію з файлами, а не блочними пристроями, а також організувати низькорівневу роботу з зонованими накопичувачами з додатків мовами програмування відмінних від Сі.

Під зонованими накопичувачами маються на увазі пристрої на жорстких магнітних дисків або NVMe SSD, простір для зберігання в яких розбито на зони, складові групи блоків або секторів, які допускається лише послідовне додавання даних з оновленням цілої групи блоків.

Наприклад, зонування запису застосовується в пристроях з черепичною магнітною записом (Дранкою магнітний запис, SMR), в яких ширина доріжки менша за ширину магнітної головки, і запис проводиться з частковим перекриттям сусідньої доріжки, тобто. будь-який перезапис призводить до необхідності перезапису всієї групи доріжок. Що стосується SSD-накопичувачів, то в них є прив'язка до послідовних операцій запису з попереднім очищенням даних, але дані операції ховаються на рівні контролера і прошарку FTL (Flash Translation Layer). Для підвищення ефективності при деяких видах навантаження організація NVMe стандартизувала інтерфейс ZNS (Zoned Namespaces), що дозволяє безпосередньо звертатися до зон в обхід прошарку FTL.

Western Digital опублікував спеціалізовану ФС Zonefs для зонованих накопичувачів

У Linux для зонованих жорстких дисків, починаючи з ядра 4.10 пропонуються блокові пристрої ZBC (SCSI) і ZAC (ATA), а починаючи з випуску 4.13 доданий модуль dm-zoned, що представляє зонований накопичувач як звичайний блоковий пристрій, приховуючи обмеження запису, що застосовуються в процесі роботи. На рівні файлових систем підтримка зонування вже інтегрована у ФС F2FS, а в розробці знаходиться набір патчів для ФС Btrfs, адаптація якої для зонованих накопичувачів спрощує роботу в режимі CoW (copy-on-write).
Роботу Ext4 та XFS поверх зонованих накопичувачів можна організувати за допомогою dm-zoned. Для спрощення перекладу файлових систем запропоновано інтерфейс ZBD, що транслює операції випадкового запису до файлів потоки послідовних операцій запису.

Western Digital опублікував спеціалізовану ФС Zonefs для зонованих накопичувачів

Джерело: opennet.ru

Додати коментар або відгук