Western Digital опубликовал специализированную ФС Zonefs для зонированных накопителей

26 декабря 2019 года

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

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

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

Под зонированными накопителями подразумеваются устройства на жёстких магнитных дисках (Архивная копия от 28 сентября 2020 на Wayback Machine) или NVMe SSD (Архивная копия от 28 октября 2020 на Wayback Machine), пространство для хранения в которых разбито на зоны, составляющие группы блоков или секторов, в которые допускается лишь последовательное добавление данных с обновлением целиком всей группы блоков.

Например, зонирование записи применяется в устройствах c черепичной магнитной записью ( Shingled Magnetic Recording, SMR), в которых ширина дорожки меньше ширины магнитной головки, и запись производится с частичным перекрытием соседней дорожки, т.е. любая перезапись приводит к необходимости перезаписи всей группы дорожек. Что касается SSD-накопителей, то в них изначально имеется привязка к последовательным операциям записи с предварительной очисткой данных, но данные операции скрываются на уровне контроллера и прослойки FTL (Flash Translation Layer). Для повышения эффективности при некоторых видах нагрузки организация NVMe стандартизировала интерфейс ZNS (Zoned Namespaces), позволяющий напрямую обращаться к зонам в обход прослойки FTL.

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

Источники править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Western Digital опубликовал специализированную ФС Zonefs для зонированных накопителей», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.