手册页部分 1M: 系统管理命令

退出打印视图

更新时间: 2014 年 7 月
 
 

beadm(1M)

名称

beadm - 管理 ZFS 引导环境

用法概要

beadm create [-a] [-d description]
     [-e non-activeBeName | beName@snapshot]
     [-o property=value] ... [-p zpool] beName
beadm create beName@snapshot
beadm destroy [-fF] beName | beName@snapshot
beadm list [-a | -ds] [-H] [beName]
beadm mount beName mountpoint
beadm unmount [-f] beName
beadm rename beName newBeName
beadm activate beName

描述

beadm 命令是管理 ZFS 引导环境 (Boot Environment, BE) 的用户接口。该实用程序由需要在一个系统中管理多个 Oracle Solaris 实例的系统管理员使用。

使用 beadm 可进行如下操作:

  • 基于活动引导环境创建新的引导环境。

  • 基于非活动引导环境创建新的引导环境。

  • 创建现有引导环境的快照。

  • 基于现有快照创建新的引导环境。

  • 创建新的引导环境并将其复制到另一个 zpool 中。

  • 激活现有的非活动引导环境。

  • 挂载引导环境。

  • 卸载引导环境。

  • 销毁 BE。

  • 销毁引导环境的快照。

  • 重命名现有的非活动引导环境。

  • 显示有关快照和数据集的信息。

子命令

beadm 命令包含以下子命令和选项。下面的“示例”部分对其中的许多子命令和选项的用法进行了说明。

beadm (no arguments)

显示命令用法。

beadm create [–a] [–d description] [–e non-activeBeName | beName@snapshot] [–o property=value] ... [–p zpool] beName

创建名为 beName 的新引导环境。如果不提供 –e 选项,新引导环境将会创建为当前运行的引导环境的克隆。如果提供 –d 选项,相应描述还可作为 x86 系统的 GRUB 菜单或 SPARC 系统的引导菜单中的引导环境的标题。如果不提供 –d 选项,beName 可以用作标题。嵌套引导环境不支持使用 –p 选项。此外,不可引导的嵌套引导环境及其快照不能与 –e 选项一起使用。

–a

创建时激活新创建的引导环境。缺省设置为不激活新创建的引导环境。

–d description

创建带有相关描述的新引导环境。

–e non-activeBeName

基于现有的非活动引导环境创建新引导环境。在嵌套引导环境中,只有可引导的引导环境可以与此选项一起使用。

–e beName@snapshot

基于引导环境 beName 的现有快照创建新引导环境。在嵌套引导环境中,只有可引导的引导环境快照可以与此选项一起使用。

–o property=value

为具有特定 ZFS 属性的新引导环境创建数据集。可以指定多个 –o 选项。有关 –o 选项的更多信息 ,请参见 zfs(1M)

–p zpool

在指定的 zpool 中创建新引导环境。如果不提供该选项,则缺省行为是在与源引导环境相同的池中创建新引导环境。此选项在嵌套引导环境内不受支持。

beadm create beName@snapshot

创建现有引导环境 beName 的快照。在嵌套引导环境内,只能为可引导的引导环境创建快照。在嵌套引导环境内,只能销毁可引导的引导环境,以及不可引导、但在重新引导时未标记为活动的引导环境。

beadm destroy [–fF] beName | beName@snapshot

销毁名为 beName 的引导环境或销毁该引导环境下名为 beName@snapshot。如果销毁一个引导环境,该引导环境下的所有快照也均被销毁。使用该命令时需慎重。

–f

如果当前引导环境已挂载,强制卸载该引导环境。

–F

强制销毁引导环境,而不提示进行确认。

beadm list [–a | –ds] [–H] [beName]

列出有关现有引导环境 beName 的信息,或列出有关所有引导环境(如果不提供 beName)的信息。Active(活动)字段指示引导环境当前是否为活动状态。N 表示引导环境当前为活动状态;R 表示重新引导时为活动状态;NR 表示引导环境在当前以及重新引导时均为活动状态。嵌套引导环境内的不可引导的引导环境由叹号 (!) 表示。

计算机可解析的输出中的每一行将引导环境名称作为第一个字段。Space(空间)字段以字节显示。Created(创建时间)字段以 UTC(国际协调时间)格式显示。如果不与其他选项一起使用,–H 选项在第二个字段中指定引导环境的 UUID(通用唯一标识符)。如果该引导环境不存在 UUID,该字段为空。请参见“示例”部分。在嵌套引导环境内,UUID 字段实际表示与嵌套引导环境相关联的父 ID。

–a

列出有关引导环境的所有可用信息。其中包括从属文件系统和快照。

–d

列出属于该引导环境的所有从属文件系统的信息。

–s

列出有关引导环境的快照的信息。

–H

不列出标题信息。列表信息中的每个字段由分号分隔。

beadm mount beName mountpoint

mountpoint 上挂载名为 beName 的引导环境。mountpoint 必须是已存在的空目录。

beadm unmount [–f] beName

卸载名为 beName 的引导环境。

–f

强制卸载引导环境,即使引导环境当前处于忙碌状态也是如此。

beadm rename beName newBeName

将名为 beName 的引导环境重命名为 newBeName。在嵌套引导环境中,只能对可引导的引导环境进行重命名。

beadm activate beName

在下一次重新引导时使 beName 成为活动引导环境。在嵌套引导环境中,只能激活可引导的引导环境。

嵌套引导环境支持

beadm 支持嵌套引导环境概念,具体而言,因为它与非全局区域的引导环境相关。目前,beadm 只能从非全局区域内部管理嵌套引导环境。

beadm 函数在非全局区域内与从全局区域运行的情况大致相同,但有少数例外。第一,beadmcreate–p(备用池)选项在非全局区域内不受支持。第二,在确定任何给定嵌套引导环境(或引导环境快照)是可引导还是不可引导时存在一定的差别。如果嵌套引导环境与当前活动的全局区域引导环境相关联(即,与活动的全局区域引导环境的 UUID 共享同一父 ID),则它是可引导的。否则,它便是不可引导的,且在 beadm list 的活动列中标记有 "!"。请注意,虽然非全局区域管理员可以通过 beadm activate 将此类引导环境标记为活动,但是重新引导非全局区域并不会导致装入引导环境,因为该引导环境与非活动全局区域引导环境相关联。根据这些条件,beadm 于是会限制对不可引导的引导环境执行某些操作:

  • 不能销毁不可引导且在重新引导时标记为活动的嵌套引导环境。

  • 不能激活不可引导的引导环境。

  • 不能为不可引导的引导环境创建快照。

  • 不能将不可引导的引导环境或引导环境快照与 beadm create–e 选项一起使用。

  • 不能重命名不可引导的引导环境。

示例

示例 1 基于活动的引导环境创建新的引导环境

以下命令通过克隆当前的引导环境来创建新的引导环境 BE1

# beadm create BE1
示例 2 基于非活动的引导环境创建新的引导环境

以下命令通过克隆现有的名为 BE1 的引导环境创建新的引导环境 BE2

# beadm create -e BE1 BE2
示例 3 创建现有的引导环境的快照

以下命令为现有的名为 BE1 的引导环境创建名为 now 的快照。

# beadm create BE1@now
示例 4 通过克隆快照创建新的引导环境

以下命令通过克隆名为 BE1 的引导环境的现有快照创建名为 BE3 的新引导环境。

# beadm create -e BE1@now BE3
示例 5 在指定的 zpool 中创建新的引导环境

以下命令基于当前正在运行的引导环境创建名为 BE4 的新引导环境。该命令在名为 rpool2 的 zpool 中创建一个新的引导环境。

# beadm create -p rpool2 BE4
示例 6 在指定的启用了压缩功能的 zpool 中创建新的引导环境

以下命令基于当前正在运行的引导环境创建名为 BE5 的新引导环境。该命令在名为 rpool2 的 zpool 中创建新的引导环境以及启用了压缩功能的数据集。

# beadm create -p rpool2 -o compression=on BE5
示例 7 创建新的引导环境并提供描述

以下命令基于当前正在运行的引导环境创建名为 BE6 的新引导环境并提供描述。

# beadm create -d "BE6 used as test environment" BE6
示例 8 激活引导环境

以下命令激活现有的名为 BE3 的非活动引导环境。

# beadm activate BE3
示例 9 挂载引导环境

以下命令将名为 BE3 的引导环境挂载到 /mnt

# beadm mount BE3 /mnt
示例 10 卸载引导环境

以下命令卸载名为 BE3 的引导环境。

# beadm unmount BE3
示例 11 销毁引导环境

以下命令销毁名为 BE3 的引导环境,而不提示进行确认。

# beadm destroy -F BE3
示例 12 销毁快照

以下命令销毁 BE1 引导环境的名为 now 的快照。

# beadm destroy BE1@now
示例 13 重命名引导环境

以下命令将现有的名为 BE1 的非活动引导环境重命名为 BE3

# beadm rename BE1 BE3
示例 14 列出所有的引导环境

以下命令列出所有的现有引导环境。

# beadm list
BE  Active Mountpoint Space  Policy Created
--  ------ ---------- -----  ------ -------
BE2 -      -          72.0K  static 2008-05-21 12:26
BE3 -      -          332.0K static 2008-08-26 10:28
BE4 -      -          15.78M static 2008-09-05 18:20
BE5 NR     /          7.25G  static 2008-09-09 16:53
示例 15 列出所有的引导环境及其数据集和快照信息

以下命令列出所有现有的引导环境及其所有数据集和快照信息。

# beadm list -d -s
BE/Dataset/Snapshot     Active Mountpoint Space   Policy Created
-------------------     ------ ---------- -----   ------ -------
BE2
   p/ROOT/BE2           -      -          36.0K   static 2008-05-21 12:26
   p/ROOT/BE2/opt       -      -          18.0K   static 2008-05-21 16:26
   p/ROOT/BE2/opt@now   -      -          0       static 2008-09-08 22:43
   p/ROOT/BE2@now       -      -          0       static 2008-09-08 22:43
BE3
   p/ROOT/BE3           -      -          192.0K  static 2008-08-26 10:28
   p/ROOT/BE3/opt       -      -          86.0K   static 2008-08-26 10:28
   p/ROOT/BE3/opt/local -      -          36.0K   static 2008-08-28 10:58
BE4
   p/ROOT/BE4           -      -          15.78M  static 2008-09-05 18:20
BE5
   p/ROOT/BE5           NR     /          6.10G   static 2008-09-09 16:53
   p/ROOT/BE5/opt       -      /opt       24.55M  static 2008-09-09 16:53
   p/ROOT/BE5/opt@bar   -      -          18.38M  static 2008-09-10 00:59
   p/ROOT/BE5/opt@foo   -      -          18.38M  static 2008-06-10 16:37
   p/ROOT/BE5@bar       -      -          139.44M static 2008-09-10 00:59
   p/ROOT/BE5@foo       -      -          912.85M static 2008-06-10 16:37
示例 16 列出一个引导环境的数据集和快照信息

以下命令列出名为 BE5 的引导环境的所有数据集和快照信息。

# beadm list -a BE5
BE/Dataset/Snapshot   Active Mountpoint Space   Policy Created
-------------------   ------ ---------- -----   ------ -------
BE5
   p/ROOT/BE5         NR     /          6.10G   static 2008-09-09 16:53
   p/ROOT/BE5/opt     -      /opt       24.55M  static 2008-09-09 16:53
   p/ROOT/BE5/opt@bar -      -          18.38M  static 2008-09-10 00:59
   p/ROOT/BE5/opt@foo -      -          18.38M  static 2008-06-10 16:37
   p/ROOT/BE5@bar     -      -          139.44M static 2008-09-10 00:59
   p/ROOT/BE5@foo     -      -          912.85M static 2008-06-10 16:37
示例 17 按计算机可解析的格式列出

以下命令按照计算机可解析的格式列出所有引导环境的信息。

# beadm list -H
BE2;;;;55296;static;1211397974
BE3;;;;339968;static;1219771706
BE4;;;;16541696;static;1220664051
BE5;215b8387-4968-627c-d2d0-f4a011414bab;NR;/;7786206208;static;1221004384
示例 18 显示不可引导的引导环境

以下命令将列出所有引导环境。在非全局区域内运行时,它会显示可引导的和不可引导的引导环境。不可引导的引导环境在活动列中以叹号 (!) 指明。

# beadm list
BE    Active Mountpoint Space   Policy Created
--    ------ ---------- -----   ------ -------
zbe-0 -      -          29.22M  static 2011-03-04 09:14
zbe-1 NR     /          815.10M static 2011-03-04 09:28
zbe-2 -      -          35.0K   static 2011-03-04 09:28
zbe-3 -      -          35.0K   static 2011-03-04 09:28
zbe-4 -      -          35.0K   static 2011-03-04 09:28
zbe-5 !      -          35.0K   static 2011-03-04 11:47
zbe-6 !      -          54.0K   static 2011-03-07 14:37

退出状态

0

成功。

>0

失败。

文件

/var/log/beadm/beName/create.log.yyyymmdd_hhmmss

用于捕获 beadm create 输出的日志。文件名中的时间部分解释如下。

  • yyyymmdd_hhmmss-例如,20071130_140558

  • yyyy-年,2007

  • mm-月,11

  • dd-日,30

  • hh-时,14

  • mm-分,05

  • ss-秒,58

属性

有关下列属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
system/boot-environment-utilities
接口稳定性
Committed(已确定)

另请参见

zfs(1M)attributes(5)