19.14. 文件系统快照

Contributed by Tom Rhodes.

FreeBSD 提供了一个和 Soft Updates 关联的新功能: 文件系统快照

快照允许用户创建指定文件系统的映像,并把它们当做一个文件来对待。 快照文件必须在文件系统正在使用时创建,一个用户对每个文件系统创建的 快照不能大于20个。活动的快照文件被记录在超级块中,所以它们可以在系统 启动的时候一块进行挂接后摘掉。当一个快照不再需要时,可以使用标准的 rm(1) 使用来使其删除。快照可以以任何顺序进行移除,但所有使用 的快照不可能同时进行移除,因为其它的快照将有可能互相引用一些块。

不可改的 snapshot 文件标志, 是由 mksnap_ffs(8) 在完成创建快照文件时设置的。 unlink(1) 命令是一个特例, 以允许删除快照文件。

快照可以通过 mount(8) 命令创建。 将文件系统 /var 的快照放到 /var/snapshot/snap 可以使用下面的命令:

# mount -u -o snapshot /var/snapshot/snap /var

作为选择,你也可以使用 mksnap_ffs(8) 来创建一个快照:

# mksnap_ffs /var /var/snapshot/snap

可以查找文件系统中的快照文件 (例如 /var), 方法是使用 find(1) 命令:

# find /var -flags snapshot

当快照文件被创建好后,可以用于下面一些目的:

现在你就可以看到挂接在 /mnt 目录下的 /var 文件系统的快照。 每一样东西都保存的像它创建时的状态一样。 唯一例外的是更早的快照文件将表现为长度为 0 的文件。 用完快照文件之后可以把它卸下,使用:

# umount /mnt# mdconfig -d -u 4

想了解更多关于 softupdates 和 文件系统快照的信息, 包括技术说明, 可以访问 Marshall Kirk McKusick 的 WWW 站点 http://www.mckusick.com/

本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题,请先阅读 文档,如不能解决再联系 <questions@FreeBSD.org>.

关于本文档的问题请发信联系 <doc@FreeBSD.org>.