使用 fssnap 命令创建 UFS 快照时,请观察后备存储文件占用的磁盘空间量。后备存储文件最初不使用任何空间,随后该文件会快速增大,特别是在使用频繁的系统中。请确保后备存储文件有足够的空间可以进行扩展。或者,请使用 -o maxsize=n [k,m,g] 选项限制该文件的大小,其中 n [k,m,g] 是后备存储文件的最大大小。
如果后备存储文件空间不足,则快照可能会自行删除,从而导致备份失败。请检查 /var/adm/messages 文件中可能的快照错误。
还可以为后备存储路径指定目录,这表示后备存储文件将在该指定目录中创建。例如,如果为后备存储路径指定 /var/tmp,则将会创建以下后备存储文件。
/var/tmp/snapshot0 |
如果已为 /export/home、/usr 等创建了一个大的根 (/) 文件系统而不是单独的文件系统,则将无法创建这些单独文件系统的快照。例如,对于在 Mounted on 列下指示的 /usr,此系统没有单独的文件系统:
# df -k /usr Filesystem kbytes used avail capacity Mounted on /dev/dsk/c0t0d0s0 3618177 2190002 1391994 62% / |
如果尝试为 /usr 文件系统创建快照,则将显示以下类似消息:
# fssnap -F ufs -o bs=/snaps/usr.back.file /usr snapshot error: Invalid backing file path |
此消息表明,不能在与正在抓取的文件系统相同的系统上包含后备存储文件,例如,本示例中的 /usr 文件系统。
有关更多信息,请参见 fssnap_ufs(1M) 手册页。
创建多 TB UFS 快照与为较小的 UFS 文件系统创建快照相同。唯一的区别在于为每个 512 GB 的文件系统空间创建了多个后备存储文件。
为大于 512 GB 的文件系统创建快照时,请牢记以下要点:
将创建多个后备存储文件。
如果在创建快照时指定了后备存储文件名,则后续的后备存储文件名将基于指定的文件名进行迭代。后续的后备存储文件将具有相同的名称,但后缀分别为 .2、.3,依此类推。
如果仅指定了后备存储文件目标(或目录)而未指定后备存储文件名,则将创建多个后备存储文件名并分别以后缀 .2、.3 进行迭代,依此类推。
即使创建了多个后备存储文件,fssnap -i 命令也只报告第一个后备存储文件名。但是,报告的后备存储长度为快照的所有后备存储文件的大小之和。
后备存储文件是稀疏文件。ls 命令报告的稀疏文件的逻辑大小与 du 命令报告的已分配给稀疏文件的空间量不同。
备份快照后或只希望删除快照时,必须手动删除后备存储文件,前提是创建快照时未使用 unlink 选项。
有关为大于 512 GB 的文件系统创建快照的示例,请参见示例 26–2。
有关更多信息,请参见 fssnap_ufs(1M)。
成为超级用户或承担等效角色。
确保文件系统有足够的磁盘空间可用于后备存储文件。
# df -k |
# ls /backing-store-file |
创建 UFS 快照。
# fssnap -F ufs -o bs=/backing-store-file /file-system |
后备存储文件必须驻留在与使用 UFS 快照捕获的文件系统不同的文件系统上。
检验是否已创建快照。
# /usr/lib/fs/ufs/fssnap -i /file-system |
以下示例说明如何创建 /usr 文件系统的快照。后备存储文件为 /scratch/usr.back.file。虚拟设备为 /dev/fssnap/1。
# fssnap -F ufs -o bs=/scratch/usr.back.file /usr /dev/fssnap/1 |
以下示例说明如何将后备存储文件限制到 500 MB。
# fssnap -F ufs -o maxsize=500m,bs=/scratch/usr.back.file /usr /dev/fssnap/1 |
以下示例说明如何创建 1.6 TB UFS 文件系统的快照。
# fssnap -F ufs -o bs=/var/tmp /data2 /dev/fssnap/0 # /usr/lib/fs/ufs/fssnap -i Snapshot number : 0 Block Device : /dev/fssnap/0 Raw Device : /dev/rfssnap/0 Mount point : /data2 Device state : idle Backing store path : /var/tmp/snapshot0 Backing store size : 0 KB Maximum backing store size : Unlimited Snapshot create time : Fri Sep 10 13:13:02 2004 Copy-on-write granularity : 32 KB # ls /var/tmp snapshot0 snapshot0.2 snapshot0.3 snapshot0.4 |
可以使用 fssnap -i 选项显示系统上的当前快照。如果指定了文件系统,则会显示有关该文件系统快照的详细信息。如果未指定文件系统,则会显示有关所有当前 UFS 快照及其对应虚拟设备的信息。
使用 UFS 文件系统特定的 fssnap 命令可以查看以下示例中显示的扩展快照信息。
成为超级用户或承担等效角色。
列出所有当前快照。
例如:
# /usr/lib/fs/ufs/fssnap -i Snapshot number : 0 Block Device : /dev/fssnap/0 Raw Device : /dev/rfssnap/0 Mount point : /export/home Device state : idle Backing store path : /var/tmp/home.snap0 Backing store size : 0 KB Maximum backing store size : Unlimited Snapshot create time : Thu Jul 01 14:50:38 2004 Copy-on-write granularity : 32 KB |
显示有关特定快照的详细信息。
例如:
# /usr/lib/fs/ufs/fssnap -i /export Snapshot number : 1 Block Device : /dev/fssnap/1 Raw Device : /dev/rfssnap/1 Mount point : /export Device state : idle Backing store path : /var/tmp/export.snap0 Backing store size : 0 KB Maximum backing store size : Unlimited Snapshot create time : Thu Jul 01 15:03:22 2004 Copy-on-write granularity : 32 KB |
创建 UFS 快照时,可以指定解除链接后备存储文件。删除快照后,将会删除解除链接的后备存储文件。如果创建 UFS 快照时不指定 -o unlink 选项,则必须手动删除后备存储文件。
无论是使用 -o unlink 选项删除后备存储文件,还是手动删除该文件,删除快照之前后备存储文件会一直占用磁盘空间。
可以通过重新引导系统来删除快照,也可以通过使用 fssnap -d 命令来删除快照。使用此命令时,必须指定包含 UFS 快照的文件系统的路径。
成为超级用户或承担等效角色。
确定要删除的快照。
# /usr/lib/fs/ufs/fssnap -i |
删除快照。
# fssnap -d /file-system Deleted snapshot 1. |
如果在创建快照时未使用 -o unlink 选项,请手动删除后备存储文件。
# rm /file-system/backing-store-file |
以下示例说明如何删除快照并假定未使用 -o unlink 选项。
# fssnap -i 0 /export/home 1 /export # fssnap -d /usr Deleted snapshot 1. # rm /var/tmp/export.snap0 |