Solaris 10 10/08 安装指南:Solaris Live Upgrade 和升级规划

从 ZFS 根池创建新的引导环境

您可以在同一根池中创建新的 ZFS 引导环境,也可以在新的根池中创建。本节对以下内容进行了概述:

在同一根池中创建新的引导环境

在同一 ZFS 根池中创建新的引导环境时,lucreate 命令将从源引导环境创建一个快照,然后从该快照创建克隆。创建快照和克隆几乎瞬间即可完成,且使用的磁盘空间量最少。最终需要的空间量取决于升级过程中要替换的文件数量。快照是只读的,但克隆是快照的读写副本。对克隆引导环境所做的任何更改都不会反映在快照或从中创建快照的源引导环境。


注 –

活动数据集中的数据更改时,快照通过继续引用旧数据来占用空间。因此,快照可防止将数据释放回池中。有关快照的更多信息,请参见《Solaris ZFS 管理指南》中的第 7  章 “使用 ZFS 快照和克隆”


如果当前引导环境位于同一 ZFS 池中,则可以省略 -p 选项。

图 11–2 显示了如何从 ZFS 根池创建 ZFS 引导环境。片 c0t0d0s0 包含 ZFS 根池 rpool。在 lucreate 命令中,-n 选项为要创建的引导环境指定名称 new-zfsBE。创建了原始根池的快照 rpool@new-zfsBE。该快照用于创建克隆 new-zfsBE(即新的引导环境)。现在可以升级和激活引导环境 new-zfsBE 了。

图 11–2 在同一根池上创建新的引导环境

文中对此图例进行了说明。


示例 11–3 在同一 ZFS 根池中创建引导环境

本示例显示与图 11–2 中的命令相同的命令,该命令在同一根池中创建新的引导环境。lucreate 命令使用 -c zfsBE 选项指定当前运行的引导环境,使用 -n new-zfsBE 创建新的引导环境。zfs list 命令显示带有新的引导环境和快照的 ZFS 数据集。


# lucreate -c zfsBE -n new-zfsBE
# zfs list
AME                        USED  AVAIL  REFER  MOUNTPOINT 
rpool                      9.29G  57.6G    20K  /rpool
rpool/ROOT                 5.38G  57.6G    18K  /rpool/ROOT
rpool/ROOT/zfsBE           5.38G  57.6G   551M  
rpool/ROOT/zfsBE@new-zfsBE 66.5K      -   551M  -
rpool/ROOT/new-zfsBE       5.38G  57.6G   551M  /tmp/.alt.luupdall.110034
rpool/dump                 1.95G      -  1.95G  - 
rpool/swap                 1.95G      -  1.95G  - 

在其他根池中创建新的引导环境

您可以使用 lucreate 命令将现有的 ZFS 根池复制到其他 ZFS 根池中。复制过程可能需要一段时间,具体取决于您的系统。

图 11–3 显示了用于在 c0t1d0s5 上创建 ZFS 根池 rpool2zpool 命令,因为可引导的 ZFS 根池尚不存在。带有 -n 选项的 lucreate 命令为要创建的引导环境指定名称 new-zfsBE-p 选项指定放置新的引导环境的位置。

图 11–3 在其他根池中创建新的引导环境

文中对此图例进行了说明。


示例 11–4 在其他 ZFS 根池中创建引导环境

本示例显示了与图 11–3 中的命令相同的命令,这些命令创建新的根池,然后在新创建的根池中创建新的引导环境。在本示例中,zpool create 命令用于创建 rpool2zfs list 命令显示未在 rpool2 中创建 ZFS 数据集。数据集是使用 lucreate 命令创建的。


# zpool create rpool2 c0t2d0s5
# zfs list
NAME                             USED    AVAIL   REFER   MOUNTPOINT 
rpool2                           9.29G    57.6G     20K   /rpool2 
rpool                            9.29G    57.6G     20K   /.new.lulib.rs.109262
rpool/ROOT                       5.46G    57.6G     18K   legacy
rpool/ROOT/zfsBE                 5.46G    57.6G   551M  
rpool/dump                       3.99G        -   3.99G   - 
rpool/swap                       3.99G        -   3.99G   - 

在磁盘片 c0t2d0s5 上创建了新的 ZFS 根池 rpool2


# lucreate -n new-zfsBE -p rpool2
# zfs list
NAME                             USED    AVAIL   REFER   MOUNTPOINT 
rpool2                           9.29G    57.6G     20K   /rpool2 
rpool2/ROOT/                     5.38G    57.6G     18K   /rpool2/ROOT 
rpool2/ROOT/new-zfsBE            5.38G    57.6G    551M   /tmp/.new.luupdall.109859
rpool2/dump                      3.99G        -   3.99G   - 
rpool2/swap                      3.99G        -   3.99G   - 
rpool                            9.29G    57.6G     20K   /.new.lulib.rs.109262
rpool/ROOT                       5.46G    57.6G     18K   legacy
rpool/ROOT/zfsBE                 5.46G    57.6G   551M  
rpool/dump                       3.99G        -   3.99G   - 
rpool/swap                       3.99G        -   3.99G   - 

rpool2 上创建了新的引导环境 new-zfsBE 以及其他数据集 ROOTdumpswap。现在可以升级和激活引导环境 new-zfsBE 了。