下一代 Linux 文件系统:NiLFS(2) 和 exofs(3)

日志结构文件系统的一种新的实现:NiLFS(2)

NiLFS(2) 是日本 Nippon Telegraph and Telephone(NTT)开发的一种日志结构文件系统的第二次迭代。该文件系统的开发非常活跃,最近已进入主流 Linux 内核(另外还有 NetBSD 内核)。第一版的 NILFS(version 1)出现于 2005 年,这个版本没有任何形式的垃圾收集。在 2007 年,第 2 版首次发布,其中包括一个垃圾收集器,并且可以创建和维护多个快照。今年(2009),NiLFS(2) 文件系统进入主流内核,可通过安装它的可装载模块方便地启用它。

NiLFS(2) 一个有趣的方面是,它支持连续快照(continuous snap-shotting)技术。由于 NILFS 是基于日志结构的,新数据被写到日志的头部,而旧数据仍然保留(直到需要对旧数据进行垃圾收集)。由于旧数据仍被保留,因此可以在时间线上回滚,以检查文件系统的不同时期(epoch)。在 NiLFS(2) 中,这些时期被称作检查点,它们是文件系统中不可或缺的一部分。每当发生改变时,NiLFS(2) 都会创建这些检查点,但是也可以强制创建检查点。

下一代 Linux 文件系统:NiLFS(2) 和 exofs

  包含快照的文件系统

NiLFS(2) 是众多包含快照行为的文件系统中的一种。其他包含快照的文件系统有 ZFS、LFS 和 Ext3cow。

 
 

可以在快照中查看和更改检查点(恢复点)。可以像其他文件系统一样将快照挂载到 Linux 文件系统空间中,但是目前它们还是只读的。这一点非常有用,因为可以挂载快照,然后恢复之前删除的文件,或者检查之前版本的文件。

除了连续快照外,NiLFS(2) 还具有很多其他的优点。从可用性的角度看,最重要的优点是快速重启。如果当前检查点失效,文件系统只需回滚到上一个有效的检查点,重新获得有效的文件系统。这显然好于 fsck 进程。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/27790.html