PDA

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


Suicide
26.12.2019, 20:31
Директор по программным разработкам компании Western Digital предложил (https://lkml.org/lkml/2019/12/25/30) в списке рассылки разработчиков ядра Linux новую файловую систему Zonefs, нацеленную на упрощение низкоуровневой работы с зонированными устройствами хранения (https://www.zonedstorage.io/). Zonefs связывает каждую зону в накопителе с отдельным файлом, который можно использовать для хранения данных в raw-режиме без манипуляции на уровне секторов и блоков.

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

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

Под зонированными накопителями подразумеваются (https://blog.westerndigital.com/what-is-zoned-storage-initiative/) устройства на жёстких магнитных дисках (https://www.zonedstorage.io/introduction/smr/) или NVMe SSD (https://www.zonedstorage.io/introduction/zns/), пространство для хранения в которых разбито на зоны, составляющие группы блоков или секторов, в которые допускается лишь последовательное добавление данных с обновлением целиком всей группы блоков.

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

https://www.opennet.ru/opennews/pics_base/0_1577340404.png (https://blog.westerndigital.com/wp-content/uploads/2019/06/Picture3-800x396.png)

В Linux для зонированных жёстких дисков начиная с ядра 4.10 предлагаются (https://www.zonedstorage.io/introduction/linux-support/) блочные устройства ZBC (SCSI) и ZAC (ATA), а начиная с выпуска 4.13 добавлен модуль dm-zoned, представляющий зонированный накопитель как обычное блочное устройство, скрывая применяемые в процессе работы ограничения записи. На уровне файловых систем поддержка зонирования уже интегрирована в ФС F2FS, а в разработке находится набор патчей для ФС Btrfs, адаптацию которой для зонированных накопителей упрощает работа в режиме CoW (copy-on-write). Работу Ext4 и XFS поверх зонированных накопителей можно организовать (https://www.zonedstorage.io/linux/fs/) при помощи dm-zoned. Для упрощения перевода файловых систем предложен интерфейс ZBD, транслирующий операции случайной записи в файлы в потоки последовательных операций записи.

https://www.opennet.ru/opennews/pics_base/0_1577340710.png (https://blog.westerndigital.com/wp-content/uploads/2019/06/Picture4.png)

26.12.2019

http://www.opennet.ru/opennews/art.shtml?num=52092​

altblitz
27.12.2019, 10:13
What are Zoned Storage Devices?

In a nutshell, Zoned Storage Devices are block storage devices that have their address space divided into zones.

ZSDs impose unconventional writing rules: zones can only be written sequentially and starting from the beginning of the zone.

In addition, data within a zone cannot be arbitrarily overwritten.

https://blog.westerndigital.com/wp-content/uploads/2019/06/Picture1-800x425.png

Zoned Storage Devices - это блочные устройства хранения, адресное пространство которых разделено на зоны.

ZSD налагают нетрадиционные правила записи: зоны могут быть записаны только последовательно и начиная с начала зоны.

Кроме того, данные в пределах зоны не могут быть произвольно перезаписаны.

https://blog.westerndigital.com/what-is-zoned-storage-initiative/

Интересно!

И весьма годно для целей архивации данных.