现在,挂载快照作为一个只读文件系统。这和之前的挂载类似,但是需要指定挂载的快照。为此可以使用 cp 选项。从之前的 lscp 命令中可以看出,快照是 CNO=2。在 mount 命令中使用这个 CNO 挂载只读文件系统。挂载后,首先使用 ls 命令列出挂载的读/写文件系统,然后查看所有的文件。在只读快照中,只能看到两个文件,这两个文件是创建快照时存在的两个文件(如清单 5 所示)。
清单 5. 挂载只读 NiLFS(2) 快照
$ sudo mkdir /mnt/nilfs-ss2 $ sudo mount.nilfs2 -r /dev/loop0 /mnt/nilfs-ss2/ -o cp=2 $ ls /mnt/nilfs file1.txt file2.txt file3.txt file4.txt $ ls /mnt/nilfs-ss2/ file1.txt file2.txt $
注意,一旦将检查点转换为快照,这些快照将持久存在。当需要清理出空间时,检查点会被从文件系统中回收,而快照可以持久存在。
该演示展示了用于 NiLFS(2) 的两个命令行实用程序:lscp(列出检查点和快照)和 mkcp(创建检查点或快照)。有一个名为 chcp 的实用程序,用于将检查点转换为快照,或者将快照转换为检查点;还有一个 rmcp 实用程序,用于使检查点或快照无效。
鉴于这种文件系统是临时性的,NTT 已经为将来考虑了一些非常有创新性的工具 — 例如,tls(临时 ls)、tdiff(临时 diff)和 tgrep(临时 grep)。下一步引入基于时间的功能似乎是合乎情理的。