由Jake Edge發(fā)表于2018年5月18日原文
在2018年的Linux存儲,文件系統(tǒng)和內(nèi)存管理峰會上爬凑,Andiry Xu發(fā)布了他正試圖進(jìn)入上游內(nèi)核的NOVA文件系統(tǒng)徙缴。與現(xiàn)有的內(nèi)核文件系統(tǒng)不同,NOVA專門針對非易失性主內(nèi)存(NVMM)嘁信,而不是傳統(tǒng)的塊設(shè)備(磁盤或SSD)于样。實(shí)際上迁霎,它根本不使用內(nèi)核的Block層,而是使用直接映射到內(nèi)核地址空間的持久性內(nèi)存(persistent memory)百宇。
Xu將NOVA與支持DAX直接訪問機(jī)制的ext4和XFS文件系統(tǒng)版本進(jìn)行了比較考廉。有了這些,只有文件系統(tǒng)數(shù)據(jù)(filesystem data)繞過頁面緩存;元數(shù)據(jù)(metadata)仍然通過頁面緩存携御。另外昌粤,這些文件系統(tǒng)對附加(append)操作的延遲要高得多。還有一個寫入放大效應(yīng)(write amplification effect)涮坐。所有這些都導(dǎo)致了日志記錄的高開銷,他說誓军。
除此之外袱讹,NVMM上的這些文件系統(tǒng)還存在可擴(kuò)展性問題。他在高端多核硬件上進(jìn)行了一些測試昵时,將NOVA和tmpfs與ext4和XFS的DAX模式進(jìn)行比較捷雕。在他的測試中,他用RAM來模擬NVMM壹甥,因?yàn)樵谶@一時期上很難真正獲得NVMM設(shè)備救巷。一般而言,只有tmpfs和NOVA可以合理擴(kuò)展 - 其他文件系統(tǒng)爭奪各種鎖和信號量 - 盡管如此句柠,NOVA仍有改進(jìn)空間浦译,因?yàn)橹挥衪mpfs可以合理地按比例進(jìn)行測試。
Xu表示溯职,對于DAX文件系統(tǒng)來說精盅,支持大頁面是很困難的。巨大的頁面要求物理地址在大頁面大小的邊界上對齊谜酒,并且內(nèi)存物理連續(xù)叹俏,但由文件系統(tǒng)分配的內(nèi)存不一定符合這些要求。Dave Chinner表示XFS有一個inode選項(xiàng)來支持大頁面的使用;另一位與會者表示甚带,ext4具有類似的功能她肯,但它只能支持2MB的大頁面,而不是1GB鹰贵。
Xu在2016年NOVA論文[PDF]中向與會者指出了更多信息晴氨,但簡要介紹了NOVA的一些功能。它是為NVMM設(shè)計的日志結(jié)構(gòu)文件系統(tǒng)碉输。它具有只包含元數(shù)據(jù)更改的每個inode日志記錄;該日志指出對實(shí)際數(shù)據(jù)的更改籽前。它使用基數(shù)樹(radix tree)作為塊映射,并寫入復(fù)制(CoW)其文件數(shù)據(jù)。
NOVA使用輕量級的日志記錄方案枝哄,該日志記錄方案僅記錄日志條目鏈接列表的頭部和尾部指針肄梨。這有利于快速垃圾回收,因?yàn)楫?dāng)條目不再有效時就從列表中刪除挠锥。除非無效條目占日志的一半以上众羡,否則不會復(fù)制,在這種情況下蓖租,會創(chuàng)建一個新的日志以原子地替換舊日志;元數(shù)據(jù)日志條目僅在該點(diǎn)復(fù)制粱侣。
他展示了一些比較DAX版本的ext4和XFS與NOVA的性能圖表。通常蓖宦,NOVA在他測試的大多數(shù)filebench工作負(fù)載上的性能要優(yōu)于ext4或XFS齐婴。“Web服務(wù)器”工作負(fù)載例外稠茂,其中文件系統(tǒng)的執(zhí)行大致相同柠偶。
Xu表示,第三個基于4.16-rc4的RFC 發(fā)布是在3月份完成的睬关。這篇文章收到了一些反饋意見诱担,所以他正在研究這些項(xiàng)目,并將很快發(fā)布v3共螺。所需的更改包括64位時間戳和更好的巨大頁面支持该肴。
Chinner詢問了用戶空間工具情竹,特別是NOVA是否有<tt>fsck</tt> 藐不。在文件系統(tǒng)可以合并之前這是需要的,因?yàn)橛脩粜枰軌蛐迯?fù)他們的文件系統(tǒng)秦效。徐說雏蛮,一直以來關(guān)注性能,所以沒有<tt>fsck</tt> 阱州。Ted Ts'o指出NOVA還需要一個可以驗(yàn)證文件系統(tǒng)映像的工具挑秉,這將允許在xfstests上運(yùn)行更多的測試。