跳过导航链接 | |
退出打印视图 | |
创建和管理 Oracle Solaris 11.1 引导环境 Oracle Solaris 11.1 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 选项。此选项可与其他选项结合使用。
# beadm create BeName
BeName 是新引导环境的名称。此新引导环境处于非活动状态。
请注意以下事项:
BeName 不能是已使用的引导环境名称。
此命令将克隆活动的引导环境,除非使用 -e 选项指定某个非活动的引导环境。
beadm create 不会创建部分引导环境。该命令要么成功创建完整的引导环境,要么失败。
# beadm mount BeName mount-point
您可以挂载新的引导环境,例如,如果您要在重新引导至新的引导环境之前修改其中的某些配置文件。
此时引导环境已经挂载,但保持非活动状态。可对已挂载的非活动引导环境进行升级。
注 - 如果该挂载点的目录不存在,则 beadm 实用程序将创建目录,然后在该目录上挂载引导环境。
如果引导环境已经挂载,beadm mount 命令将失败,而且不会在新指定的位置重新挂载引导环境。
# beadm activate BeName
BeName 是要激活的引导环境的名称。
重新引导时,新激活的引导环境在 x86 GRUB 菜单或 SPARC 引导菜单中显示为缺省选项。
注 - GRUB 菜单或引导菜单始终将最近激活的引导环境显示为默认项。
以下示例介绍了如何创建引导环境以及该创建过程如何因区域和数据集结构的不同而有所不同。第一个示例说明了在包含全局和非全局区域的系统中克隆如何执行。第二个示例显示与克隆相关的数据集具体信息。
示例 3-1 在包含非全局区域的全局区域中克隆引导环境
本示例显示当您在包含非全局区域的全局区域中克隆引导环境时,beadm create 命令所影响的区域。
如果克隆的引导环境具有非全局区域中的关联区域引导环境,则也会克隆该关联的引导环境。例如,BE1 在非全局区域中具有关联的区域引导环境 BE2。如果克隆了 BE1,则也将克隆 BE2。
在本示例中,全局区域中的原始引导环境名为 solaris,其根数据集位于 rpool/ROOT/solaris 中。
存在名为 z1 的非全局区域,以数据集 rpool/zones/z1 作为其区域路径。全局区域中的原始 solaris 引导环境在 z1 非全局区域中具有关联的引导环境。此关联的区域引导环境名为 solaris,其根数据集位于 rpool/zones/z1/rpool/ROOT/solaris中。
在本示例中,您应以 root 用户身份发出以下命令,以克隆全局区域中的引导环境,并将新的引导环境命名为 solaris-1:
# beadm create solaris-1
克隆名为 solaris-1,其根数据集位于 rpool/ROOT/solaris-1中。
请注意,由于全局区域中的 solaris 引导环境在 z1 非全局区域中具有关联的区域引导环境,因此克隆进程还将克隆 z1 中的关联区域引导环境。区域 z1 中的新 solaris-1 克隆的根数据集位于 rpool/zones/z1/rpool/ROOT/solaris-1中。
示例 3-2 使用数据集创建新的克隆引导环境
本示例说明了如何在新创建的引导环境中设置数据集。本示例不涉及多个区域。
作为 root 用户,您可以键入以下命令。
# beadm create BE2
本示例中的原始引导环境是 BE1,其根数据集位于 rpool/ROOT/BE1 中且包含另一个数据集 var。
rpool/ROOT/BE1 rpool/ROOT/BE1/var
克隆 BE1 后,新的克隆 BE2 包含全部从 BE1 克隆而来的根数据集和其他嵌套数据集。因为 BE1 在根数据集下包含 /var 文件系统,所以也将克隆 /var。
rpool/ROOT/BE2 rpool/ROOT/BE2/var
但是,如果根数据集之外有共享文件系统,则该共享文件系统不会被克隆。如下一个示例所示,原始引导环境和克隆将“共享”原始共享文件系统。
示例 3-3 使用现有共享数据集创建新引导环境
本示例说明在拥有现有共享数据集时如何创建新的引导环境。在本示例中,原始引导环境是 BE1,共享数据集是 rpool/export 和 rpool/export/home。本示例不涉及多个区域。
作为 root 用户,您可以键入以下命令来克隆 BE1 并将其命名为 BE2:
# beadm create BE2
克隆引导环境时,不会克隆共享数据集 rpool/export 和 rpool/export/home。共享数据集位于 rpool/ROOT/BeName 数据集之外,并在其原始位置由克隆的引导环境 BE2 引用。
原始引导环境 BE1 和数据集如下所示:
rpool/ROOT/BE1 rpool/ROOT/BE1/var rpool/export rpool/export/home
根数据集位于 rpool/ROOT/BE1 中,/var 数据集位于根数据集下。根数据集和 /var 都将被克隆。
克隆的引导环境 BE2 具有新的根数据集和新的 /var 数据集,但原始共享数据集 rpool/export 和 rpool/export/home 不会更改。
rpool/ROOT/BE2 rpool/ROOT/BE2/var rpool/export rpool/export/home