Linux 6.3 最新补丁引入了 SSDFS 文件系统支持,这个新的开源文件系统特别针对 ZNS SSD (支持 NVMe 分区命名空间 (ZNS) 的固态硬盘)进行了优化。
ZNS (Zoned Namespaces)SSD 即分区命名空间固态硬盘,通过 NVMe 的新规范实现。ZNS SSD 将容量划分为 zone(分区),在namespace(命名空间)里线性分布。每个zone可以按任意顺序读取,但必须按顺序写入,且在再一次写入前必须要先重置。此外,其 ZNS 命令集公开主机系统和 SSD 之间的分区块存储接口,允许更具优化的数据对齐。
这些特性允许 ZNS SSD 改善其内部数据放置,通过降低 I/O 访问延迟、提高写吞吐量、更低的 QoS 和更大的容量来获得更高的性能。
尽管内核主线已存在 F2FS “闪存友好文件系统”,但从 SSDFS 的介绍来看,该文件系统特对支持 NVMe ZNS 的固态硬盘有特别的优化,比如通过消除垃圾收集的“GC”开销,延长 SSD 寿命/耐用性,且原生支持 ZNS SSD 和 SMR HDD 的严格“仅附加模式”,保证强大的可靠性和稳定的性能。
SSDFS 已经开发了好几年,现在仍处于“不完全稳定”的状态,但其开发人员 Viacheslav Dubeyko 认为该文件系统已经准备好进入主线,接受更多来自社区的审查/反馈。与其他稳定的Linux 文件系统相比,SSDFS 的基准测试结果相当优秀:
目前 SSDFS 文件系统正在开发更多功能,包括快照支持、重复数据删除、共享字典功能、扩展属性、IOCTL 支持和其他项目,以及需要稳定 ZNS 支持和其他功能。
更完整的 SSDFS 文件系统介绍可以在该邮件中查阅。