您可以在同一根池中创建新的 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 中的命令相同的命令,该命令在同一根池中创建新的引导环境。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 根池 rpool2 的 zpool 命令,因为可引导的 ZFS 根池尚不存在。带有 -n 选项的 lucreate 命令为要创建的引导环境指定名称 new-zfsBE。-p 选项指定放置新的引导环境的位置。
本示例显示了与图 11–3 中的命令相同的命令,这些命令创建新的根池,然后在新创建的根池中创建新的引导环境。在本示例中,zpool create 命令用于创建 rpool2。zfs 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 以及其他数据集 ROOT、dump 和 swap。现在可以升级和激活引导环境 new-zfsBE 了。