跳过导航链接 | |
退出打印视图 | |
创建和管理 Oracle Solaris 11 引导环境 Oracle Solaris 11 Information Library (简体中文) |
如果要创建现有引导环境的备份,例如,在修改原始引导环境之前,可以使用 beadm 命令创建和挂载一个新引导环境(该新引导环境是活动引导环境的克隆)。此克隆在 GRUB 菜单(对于 x86 系统)或引导菜单(对于 SPARC 系统)中显示为一个备用引导环境。
使用 beadm create 命令克隆引导环境时,该引导环境中所有受支持的区域都将复制到新的引导环境中。
beadm create 命令具有以下选项,其中 BeName 指定要创建的引导环境的名称。
语法:beadm create [-a] [-d description] [-e non-activeBeName | BeName@snapshot] [-o property=value]...[-p zpool] BeName
-a–创建时激活新创建的引导环境。缺省设置为不激活新创建的引导环境。
-d description-输入定制描述作为 x86 GRUB 菜单或 SPARC 引导菜单中用于描述新引导环境的标题。如果不使用此选项,则使用 BeName 作为标题。
-e non-activeBeName-基于指定的现有非活动引导环境创建新的引导环境。缺省设置为基于活动引导环境创建引导环境。
-e BeName@snapshot-基于指定的现有引导环境快照创建新的引导环境。
-o property=value-为具有特定 ZFS 属性的新引导环境创建数据集。可以指定多个 -o 选项。有关 -o 选项的更多信息,请参见 zfs(1M) 手册页。
-p zpool-为具有指定 zpool 的新引导环境创建数据集。如果未提供该选项,则缺省行为是在与原始引导环境相同的池中创建新引导环境。在非全局区域中不支持 -p 选项。
注 - -p 选项可与其他选项结合使用。
# beadm create BeName
BeName 是表示新引导环境名称的变量。此新引导环境处于非活动状态。
注 - beadm create 不会创建部分引导环境。该命令要么成功创建完整的引导环境,要么失败。
# beadm mount BeName mount-point
注 - 如果该挂载点的目录不存在,则 beadm 实用程序将创建目录,然后在该目录上挂载引导环境。
如果引导环境已经挂载,beadm mount 命令将失败,而且不会在新指定的位置重新挂载引导环境。
此时引导环境已经挂载,但保持非活动状态。可对已挂载的非活动引导环境进行升级。
# beadm activate BeName
BeName 是表示要激活的引导环境名称的变量。
重新引导时,新激活的引导环境在 x86 GRUB 菜单或 SPARC 引导菜单中显示为缺省选项。
注 - GRUB 菜单或引导菜单始终将最近激活的引导环境显示为默认项。
以下示例介绍了如何创建引导环境以及该创建过程如何因区域和数据集结构的不同而有所不同。
示例 3-1 在包含非全局区域的全局区域中克隆引导环境
此示例说明了当克隆包含两个非全局区域的引导环境时 beadm create 命令对区域的影响。
全局区域中的原始引导环境被命名为 solaris,且根数据集位于 rpool/ROOT/solaris 中。
存在名为 z1 的区域,其数据集 rpool/zones/z1 作为区域路径。全局区域中的原始引导环境具有该区域的根数据集的副本,此副本位于 rpool/zones/z1/rpool/ROOT/solaris 中。
成为超级用户,然后执行以下命令以克隆引导环境并命名新的引导环境为 solaris-1:
# beadm create solaris-1
新引导环境的根数据集位于 rpool/ROOT/solaris-1 中。对于新的引导环境,区域 z1 的副本的根数据集位于 rpool/zones/z1/rpool/ROOT/solaris-1 中。
示例 3-2 使用数据集创建新的克隆引导环境
该示例介绍了如何在最新创建的引导环境中设置数据集。
成为超级用户角色,然后键入以下命令。
# beadm create BE2
此示例中的原始引导环境为 BE1。新引导环境 BE2 包含克隆自 BE1 的独立数据集。如果 BE1 包含传统文件系统(如 /var )的独立数据集,那么也将克隆这些数据集。
rpool/ROOT/BE1 rpool/ROOT/BE1/var
rpool/ROOT/BE2 rpool/ROOT/BE2/var
此示例中的 rpool 是存储池的名称。该池是之前通过初始安装或升级设置的,因此已经存在于系统中。ROOT 是之前也由初始安装或升级创建的特殊数据集。ROOT 被保留,专供引导环境超级用户使用。
示例 3-3 使用共享数据集创建新引导环境
此示例介绍了具有共享数据集的新引导环境。
成为超级用户角色,然后键入以下命令:
# beadm create BE2
克隆引导环境时,不会克隆共享数据集 rpool/export 和 rpool/export/home。共享数据集位于 rpool/ROOT/<BeName> 数据集之外,并由克隆的引导环境在其原始位置引用。
原始引导环境 BE1 和数据集如下所示:
rpool/ROOT/BE1 rpool/ROOT/BE1/var rpool/export rpool/export/home
克隆的引导环境 BE2 具有新的根数据集,但原始共享数据集 rpool/export 和 rpool/export/home 不会更改。
rpool/ROOT/BE2 rpool/ROOT/BE2/var rpool/export rpool/export/home