JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris ZFS 管理指南     Oracle Solaris 10 8/11 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

1.  Oracle Solaris ZFS 文件系统(介绍)

2.  Oracle Solaris ZFS 入门

3.  Oracle Solaris ZFS 与传统文件系统之间的差别

4.  管理 Oracle Solaris ZFS 存储池

5.  安装和引导 Oracle Solaris ZFS 根文件系统

6.  管理 Oracle Solaris ZFS 文件系统

7.  使用 Oracle Solaris ZFS 快照和克隆

ZFS 快照概述

创建和销毁 ZFS 快照

保持 ZFS 快照

重命名 ZFS 快照

显示和访问 ZFS 快照

ZFS 快照的磁盘空间记帐

回滚 ZFS 快照

确定 ZFS 快照的差异 (zfs diff)

ZFS 克隆概述

创建 ZFS 克隆

销毁 ZFS 克隆

使用 ZFS 克隆替换 ZFS 文件系统

发送和接收 ZFS 数据

使用其他备份产品保存 ZFS 数据

发送 ZFS 快照

接收 ZFS 快照

向 ZFS 快照流应用不同的属性值

发送和接收复杂的 ZFS 快照流

远程复制 ZFS 数据

8.  使用 ACL 和属性保护 Oracle Solaris ZFS 文件

9.  Oracle Solaris ZFS 委托管理

10.  Oracle Solaris ZFS 高级主题

11.  Oracle Solaris ZFS 故障排除和池恢复

A.  Oracle Solaris ZFS 版本说明

索引

ZFS 克隆概述

克隆是可写入的卷或文件系统,其初始内容与从中创建它的数据集的内容相同。与快照一样,创建克隆几乎是即时的,而且最初不占用其他磁盘空间。此外,还可以创建克隆的快照。

克隆只能从快照创建。克隆快照时,会在克隆和快照之间建立隐式相关性。即使克隆是在数据集分层结构中的某个其他位置创建的,但只要克隆存在,就无法销毁原始快照。origin 属性显示此相关性,而 zfs destroy 命令会列出任何此类相关性(如果存在)。

克隆不继承从其中创建它的数据集的属性。使用 zfs getzfs set 命令,可以查看和更改克隆数据集的属性。有关设置 ZFS 数据集属性的更多信息,请参见设置 ZFS 属性

由于克隆最初与原始快照共享其所有磁盘空间,因此其 used 属性值最初为零。随着不断对克隆进行更改,它使用的磁盘空间将越来越多。原始快照的 used 属性不包括克隆所占用的磁盘空间。

创建 ZFS 克隆

要创建克隆,请使用 zfs clone 命令,指定从中创建克隆的快照以及新文件系统或卷的名称。新文件系统或卷可以位于 ZFS 分层结构中的任意位置。新数据集与从其中创建克隆的快照属同一类型(例如文件系统或卷)。不能在原始文件系统快照所在池以外的池中创建该文件系统的克隆。

在以下示例中,将创建一个名为 tank/home/ahrens/bug123 的新克隆,其初始内容与快照 tank/ws/gate@yesterday 的内容相同:

# zfs snapshot tank/ws/gate@yesterday
# zfs clone tank/ws/gate@yesterday tank/home/matt/bug123

在以下示例中,将从 projects/newproject@today 快照为临时用户创建克隆工作区 projects/teamA/tempuser。然后,在克隆工作区上设置属性。

# zfs snapshot projects/newproject@today
# zfs clone projects/newproject@today projects/teamA/tempuser
# zfs set sharenfs=on projects/teamA/tempuser
# zfs set quota=5G projects/teamA/tempuser

销毁 ZFS 克隆

使用 zfs destroy 命令可以销毁 ZFS 克隆。例如:

# zfs destroy tank/home/matt/bug123

必须先销毁克隆,才能销毁父快照。

使用 ZFS 克隆替换 ZFS 文件系统

借助 zfs promote 命令可以用活动的 ZFS 文件系统的克隆来替换该文件系统。利用此功能可以克隆并替换文件系统,使文件系统变为指定文件系统的克隆。此外,通过此功能还可以销毁最初创建克隆所基于的文件系统。如果没有克隆提升 (clone promotion) 功能,就无法销毁活动克隆的源文件系统。有关销毁克隆的更多信息,请参见销毁 ZFS 克隆

在以下示例中,对 tank/test/productA 文件系统进行了克隆,然后克隆文件系统 tank/test/productAbeta 成为原始 tank/test/productA 文件系统。

# zfs create tank/test
# zfs create tank/test/productA
# zfs snapshot tank/test/productA@today
# zfs clone tank/test/productA@today tank/test/productAbeta
# zfs list -r tank/test
NAME                       USED  AVAIL  REFER  MOUNTPOINT
tank/test                  104M  66.2G    23K  /tank/test
tank/test/productA         104M  66.2G   104M  /tank/test/productA
tank/test/productA@today      0      -   104M  -
tank/test/productAbeta        0  66.2G   104M  /tank/test/productAbeta
# zfs promote tank/test/productAbeta
# zfs list -r tank/test
NAME                           USED  AVAIL  REFER  MOUNTPOINT
tank/test                      104M  66.2G    24K  /tank/test
tank/test/productA                0  66.2G   104M  /tank/test/productA
tank/test/productAbeta         104M  66.2G   104M  /tank/test/productAbeta
tank/test/productAbeta@today      0      -   104M  -

在此 zfs list 输出中,注意源 productA 文件系统的磁盘空间记帐信息已被 productAbeta 文件系统取代。

可以通过重命名文件系统完成克隆替换过程。例如:

# zfs rename tank/test/productA tank/test/productAlegacy
# zfs rename tank/test/productAbeta tank/test/productA
# zfs list -r tank/test

或者,也可以删除传统的文件系统。例如:

# zfs destroy tank/test/productAlegacy