首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

从 NILFS2 看 Log-Structure 文件系统(2)

从 NILFS2 看 Log-Structure 文件系统(2)

NILFS2 的使用从 2.6.30 开始,NILFS2 已经合并入内核。假如您希望在较老的内核下尝试 NILFS2 也非常简单。NILFS2 是一个内核模块,您只需编译后加载模块文件就可以使用它了,无需对内核进行 patch 和重新编译。可以使用下面的命令创建一个 NILFS2 文件系统。
1
2
3
insmod nilfs2.ko
mkfs – t nilfs2 /dev/sda8
mount – t nilfs2 /nilfs /dev/sda8




NILFS2 的命令很精简,我不想浪费读者的阅读时间,您可以查阅 NILFS2 源码自带的 README 文件,写得很好。
但我在想,您或许还从来不曾见过一个能够不间断地生成快照的文件系统吧,没准儿还不知道这个特性到底意味着什么。因此我还是打算做一个演示,也许能加深您对所谓 continuously snapshot 的印象。
将下面的内容输入文件 /nilfs/poem:
1
2
3
Shoot for the moon.
Even if you miss,
You'll land among the stars.




然后我犯了一次错误,将 nilfs 目录删除了。突然想起有重要的东西保存在那里,于是觉得很后悔。如何弥补呢?假如是 EXT2,或者 btrfs,基本上无计可施。但对于 NILFS2,这就不算什么大事儿。
1
2
3
4
5
6
7
8
[root@localhost nilfs]# lscp
                CNO        DATE     TIME  MODE  FLG   NBLKINC       ICNT
                  1  2009-09-27 12:27:13   cp    -         11          3
                  2  2009-09-27 12:28:16   cp    -         14          4
                  3  2009-09-27 12:28:31   cp    -         14          5
                  4  2009-09-27 12:28:36   cp    -         12          5
                  5  2009-09-27 12:28:41   cp    -         14          3
[root@localhost nilfs]# chcp ss 3




假设我在 12:28:31 左右保存了 poem 文件,然后在 12:28:41 删除了该文件。则需将 12 点 28 分 31 秒的 checkpoint 变成 snapshot,然后 mount 该 snapshot:
1
2
3
4
5
6
#mount – t nilfs2 – r – o cp=2 /dev/sda8 /recover
#cd /recover
#cat nilfs/test1
Shoot for the moon.
Even if you miss,
You ’ ll land among the stars.




文件 poem 又恢复了。
返回列表