近些年來(lái),從RISC-V體系結(jié)構(gòu)位到存儲(chǔ)增強(qiáng)功能,西部數(shù)據(jù)(Western Digital)在Linux內(nèi)核方面做出了更大的貢獻(xiàn)。最近幾周,其一直在處理的最新代碼就是全新的Linux文件系統(tǒng)。
不過(guò),新的Western Digital產(chǎn)品并不是要成為與Linux上的EXT4,Btrfs,XFS和ZFS之類競(jìng)爭(zhēng)的通用文件系統(tǒng)。這個(gè)新的文件系統(tǒng)Zonefs適用于特殊用例,并在分區(qū)塊設(shè)備上運(yùn)行。
Western Digital的Damien Le Moal 針對(duì)Zonefs進(jìn)行描述稱,“zonefs不是POSIX兼容文件系統(tǒng)。其目的是通過(guò)使用基于功能更豐富的文件的API替換原始?jí)K設(shè)備文件訪問(wèn),從而簡(jiǎn)化應(yīng)用程序中分區(qū)塊設(shè)備支持的實(shí)現(xiàn),避免依賴直接的塊設(shè)備文件ioctl。這種方法的一個(gè)示例是,通過(guò)允許將SSTables存儲(chǔ)在與常規(guī)文件系統(tǒng)類似的區(qū)域文件中,而不是作為分區(qū)設(shè)備的扇區(qū)范圍來(lái)存儲(chǔ),從而在分區(qū)塊設(shè)備上實(shí)現(xiàn)LSM(log-structured merge)樹結(jié)構(gòu)(例如在RocksDB和LevelDB中使用)。引入更高級(jí)別的結(jié)構(gòu)“one file is one zone”則可以幫助減少應(yīng)用程序中所需的更改量,同時(shí)允許使用帶有除C 語(yǔ)言之外的各種編程語(yǔ)言的分區(qū)塊設(shè)備。”
事實(shí)上,Western Digital一直在對(duì)分區(qū)存儲(chǔ)進(jìn)行大量投資,以允許使用更大容量的經(jīng)濟(jì)型設(shè)備。有關(guān)分區(qū)存儲(chǔ)的更多背景信息可以在 Western Digital博客找到。
目前,他們提出的Zonefs文件系統(tǒng)僅包含大約1500行新代碼。