系统管理指南:设备和文件系统

创建和删除 UFS 快照

使用 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 快照

创建多 TB UFS 快照与为较小的 UFS 文件系统创建快照相同。唯一的区别在于为每个 512 GB 的文件系统空间创建了多个后备存储文件。

为大于 512 GB 的文件系统创建快照时,请牢记以下要点:

有关为大于 512 GB 的文件系统创建快照的示例,请参见示例 26–2

有关更多信息,请参见 fssnap_ufs(1M)

Procedure如何创建 UFS 快照

  1. 成为超级用户或承担等效角色。

  2. 确保文件系统有足够的磁盘空间可用于后备存储文件。


    # df -k 
    
  3. 确保名称和位置相同的后备存储文件尚不存在。


    # ls /backing-store-file
    
  4. 创建 UFS 快照。


    # fssnap -F ufs -o bs=/backing-store-file /file-system
    

    注 –

    后备存储文件必须驻留在与使用 UFS 快照捕获的文件系统不同的文件系统上。


  5. 检验是否已创建快照。


    # /usr/lib/fs/ufs/fssnap -i /file-system
    

示例 26–1 创建 UFS 快照

以下示例说明如何创建 /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


示例 26–2 创建多 TB UFS 快照

以下示例说明如何创建 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

Procedure如何显示 UFS 快照信息

可以使用 fssnap -i 选项显示系统上的当前快照。如果指定了文件系统,则会显示有关该文件系统快照的详细信息。如果未指定文件系统,则会显示有关所有当前 UFS 快照及其对应虚拟设备的信息。


注 –

使用 UFS 文件系统特定的 fssnap 命令可以查看以下示例中显示的扩展快照信息。


  1. 成为超级用户或承担等效角色。

  2. 列出所有当前快照。

    例如:


    # /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
  3. 显示有关特定快照的详细信息。

    例如:


    # /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 快照时,可以指定解除链接后备存储文件。删除快照后,将会删除解除链接的后备存储文件。如果创建 UFS 快照时不指定 -o unlink 选项,则必须手动删除后备存储文件。

无论是使用 -o unlink 选项删除后备存储文件,还是手动删除该文件,删除快照之前后备存储文件会一直占用磁盘空间。

Procedure如何删除 UFS 快照

可以通过重新引导系统来删除快照,也可以通过使用 fssnap -d 命令来删除快照。使用此命令时,必须指定包含 UFS 快照的文件系统的路径。

  1. 成为超级用户或承担等效角色。

  2. 确定要删除的快照。


    # /usr/lib/fs/ufs/fssnap -i
    
  3. 删除快照。


    # fssnap -d /file-system
    
    Deleted snapshot 1.
  4. 如果在创建快照时未使用 -o unlink 选项,请手动删除后备存储文件。


    # rm /file-system/backing-store-file
    

示例 26–3 删除 UFS 快照

以下示例说明如何删除快照并假定未使用 -o unlink 选项。


# fssnap -i

    0    /export/home

    1    /export

   # fssnap -d /usr

 Deleted snapshot 1.

# rm /var/tmp/export.snap0