Western Digital разрабатывает новую файловую систему для Linux
Операционные системы семейства Linux, в отличие от Windows, весьма богаты на различные файловые системы - от Ext3/4 и популярной в среде СХД ZFS до такой экзотики, как ReiserFS.
Компанию Western Digital, однако, это не смущает. WD разрабатывает новую файловую систему для Linux. Проект носит название Zonefs и он не предназначен для конкуренции с Ext4, Btrfs или ZFS.
Новая файловая система предназначена для специальных случаев, и главное ее свойство отражено в названии -? это поддержка блочных устройств с зонированием (Zoned Block Devices, ZBD). Каждая зона на таких устройствах в этой системе отображается как отдельный файл.
Zonefs не отвечает стандартам POSIX, так как цель заключается в предоставлении удобного файлового API, заменяющего традиционную схему доступа к блочным устройствам, но, вместе с тем, требующего минимального вмешательства в существующее ПО. Преимущества новой ФС должны оценить разработчики и пользователи СУБД.
Наличие такого API позволяет использовать различные языки программирования для создания новых модулей, а не только традиционный C. WD давно развивает концепцию зонированных устройств хранения данных, как позволяющих поднять эффективность их использования. Частным случаем таких устройств являются жесткие диски с "черепичной" записью (Shingled Magnetic Recording), где каждая зона вмещает несколько частично пересекающихся дорожек с данными.
Если в традиционных накопителях порядок записи может быть произвольным, то в зонированных устройствах запись внутри каждой зоны может осуществляться только последовательно.
Внедрение Zonefs позволит перейти от схемы "параметрами записи оперирует сам накопитель" к централизованному управлению на уровне хоста. Немаловажно это и для твердотельных накопителей, поскольку сам принцип их функционирования подразумевает стирание целого блока NAND-памяти; запись также осуществляется поблочно-последовательно.
Zonefs позволит понизить "коэффициент усиление записи" за счет того, что SSD не придется заниматься перемещением данных внутри себя при подготовке к записи новых блоков. За счет эффективного управления можно будет уменьшить резервное пространство, что позволит использовать физический объем более полно. Улучшится и работа QoS, поскольку на него не будет влиять произвольно включающаяся сборка мусора.
Работы по поддержке зонированных накопителей в Linux были начаты еще в 2014 году, а первая версия ядра, получившая поддержку соответствующих наборов команд -?4.10. Более подробно о разработке WD можно прочитать в корпоративном блоге, а также на ресурсе ZonedStorage.io.