|
Кристоф Хелвиг (Christoph Hellwig), мэйнтейнер подсистем DMA, KVM, Slab Allocator и архитектуры PowerPC в ядре Linux, представил первый публичный выпуск XRAID, реализации декластеризованного RAID с контролем чётности, интегрированной в файловую систему XFS. Проект создан с целью добавления возможности использования RAID на зонированных устройствах хранения, таких как диски SMR (Shingled Magnetic Recording), и предоставления высокопроизводительной реализации RAID для поддержания целостности данных. Помимо зонированных устройств, XRAID также поддерживает работу на обычных жёстких дисках и SSD-накопителях, демонстрируя на последних существенный прирост производительности по сравнению с mdraid (до 20 раз при записи).
Для распределения информации по накопителям в XRAID применяется декластеризованный контроль чётности, напоминающий dRAID в OpenZFS, при котором для горячего восстановления (hot spare) не выделяются отдельные накопители, а данные, информация контроля чётности и свободное резервное пространство (spare space) равномерно распределяются по всем накопителям. Процесс чтения, записи и восстановления в случае аварий, охватывает все имеющиеся накопители, что повышает пропускную способность, снижает нагрузку на отдельные диски, позволяет избежать заметного проседания производительности при авариях и существенно ускоряет процесс перестроения массива после добавления или замены накопителей.
Декластеризованные RAID также упрощают создание отказоустойчивых массивов с очень большим числом дисков. В процессе восстановления после аварий XRAID динамически определяет порядок перестроения накопителей, в первую очередь обрабатывая зоны с большей потерей избыточной информации и перестраивая зоны с данными перед зонами с информацией контроля чётности.
XRAID изначально развивается с оглядкой на возможность использования с зонированными накопителями, пространство для хранения в которых разбивается на зоны, составляющие группы блоков или секторов. В подобных устройствах допускается только последовательное добавление данных с обновлением целиком всей группы блоков. Например, зонирование записи применяется в дисках SMR (Shingled Magnetic Recording), в которых ширина дорожки меньше ширины магнитной головки, и запись производится с частичным перекрытием соседней дорожки, т.е. любая перезапись приводит к необходимости перезаписи всей группы дорожек.
Для поддержки зонированных устройств в XRAID задействован реализованный в XFS и ядре Linux распределитель блоков для зонированных устройств (zoned allocator), использующий RT-подраздел (RealTime subvolume) для организации раздельного хранения данных и метаданных (в зонах c последовательной записью хранится только содержимое файлов, а метаданные ФС размещаются в обычных зонах или на дополнительных SSD-накопителях).
В XRAID механизмы контроля чётности RAID применяются только для содержимого файлов, а избыточность для метаданных реализуется через задействование уже имеющихся в ядре Linux драйверов, например, через зеркалирование при помощи MD RAID, что более эффективно для мелких объектов, обновляемых по месту. Реализация RAID встраивается в XFS до обработчиков зонированного ввода/вывода, представляющих физические зоны нижележащих накопителей в форме логических зон, подобно многослойному блочному устройству.
Работа над XRAID ведётся уже полтора года, и хотя реализация пока не готова для интеграции в основной состав ядра, она уже пригодна для тестирования широкой аудиторией. В предложенной реализации поддерживается от 0 до 2 уровней чётности (в разработке код для поддержки 3 и более уровней). Для управления XRAID в инструментарий xfsprogs добавлена новая утилита "xraid" и реализована поддержка XRAID в mkfs. Помимо этого в утилиту для инспектирования зонированных накопителей Zonar добавлены возможности для визуализации маппинга логических зон на физические зоны.
Опубликованы результаты тестирования производительности XRAID в сравнении с mdraid и btrfs, проведённые для XRAID-массива в конфигурации из двух SSD-накопителей WD DC-SN650 для метаданных (зеркало на базе mdraid), шести обычных SATA-дисков WD DC-HC590 26 TB и 6-21 зонированных дисков WD DC-HC690 30 TB (SMR).
Также проведено тестирования XRAID на обычных незонированных SSD-накопителях в конфигурации с одним 4 TiB Samsung PM9D3a для метаданных и пятью 4 Tib Samsung PM9D3a для RAID (4 + 1).
|