在同一 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 - |