红帽正在开发一种新的 NVFS 文件系统,该系统对于 NVM 内存来说非常高效

Mikuláš Patočka,LVM 的开发者之一,也是多部著作的作者 发明与存储系统优化相关,在红帽工作, 提交 Linux 内核开发者邮件列表中的新文件系统 NVFS,旨在为非易失性存储芯片(NVM,非易失性存储器,例如NVDIMM)创建紧凑且快速的FS,将RAM性能与永久存储内容的能力结合起来。

开发NVFS时考虑了FS的经验 NEW,于 2017 年专门为 NVM 内存创建,但未被 Linux 内核接受,并且 有限 支持 Linux 内核 4.13 到 5.1。
提议的 FS NVFS 比 NOVA 简单得多(代码行为 4972 行,代码行为 21459 行),提供 fsck 实用程序,具有更高的性能,支持扩展属性 (xattrs)、安全标签、ACL 和配额,但不支持快照。 建筑学 NVFS 接近
Ext4 文件系统非常适合基于 VFS 子系统的文件系统模型,它允许您最大限度地减少层数,并使用不需要内核补丁的模块。

NVFS使用内核接口 DAX 用于绕过页面缓存直接访问持久内存设备。 为了优化字节寻址 NVM 内存的操作,驱动器的内容被映射到内核的线性地址空间,而不使用传统的块设备层和中间缓存。 用于存储目录内容 基础树 (基数树),其中每个文件名都经过哈希处理,并且在搜索树时使用哈希值。

使用“软更新“(如 FreeBSD 的 UFS 和 OpenBSD 的 FFS)不使用日志。 为了避免 NVFS 中的文件损坏,数据更改操作以崩溃不会导致块或 inode 丢失的方式进行分组,并且使用 fsck 实用程序恢复结构的完整性。 fsck 实用程序以多线程模式运行,并提供每秒 1.6 万个索引节点的强力性能。

В 性能测试 NVFS 在 NVM 内存上执行 Linux 内核源代码树复制操作大约比 NOVA 快 10%,比 ext30 快 4%,比 XFS 快 37%。 在数据检索测试中,NVFS比NOVA快3%,ext4和XFS快15%(但使用活动磁盘缓存,NOVA慢15%)。
在百万次目录操作测试中,NVFS 比 NOVA 快 40%,比 ext4 快 22%,比 XFS 快 46%。 在模拟 DBMS 活动时,NVFS 文件系统的性能比 NOVA 快 20%,比 ext4 快 18 倍,比 XFS 快 5 倍。 在fs_mark测试中,NVFS和NOVA的性能大致处于同一水平,而ext4和XFS则落后约3倍。

传统文件系统在 NVM 存储器上的滞后是因为它们不是为字节寻址而设计的,而字节寻址用于非易失性存储器,看起来像普通 RAM。 从传统驱动器读取可确保扇区读/写级别操作的原子性,而 NVM 内存提供单个机器字级别的访问。 此外,传统文件系统试图减少对介质的访问强度,这被认为明显比 RAM 慢,并且还尝试对操作进行分组以确保使用硬盘时的顺序读取、处理请求队列、对抗碎片和分离数据。不同操作的优先级。 对于 NVM 存储器来说,这种复杂性是不必要的,因为数据访问的速度与 RAM 相当,并且访问顺序并不重要。

来源: opennet.ru

添加评论