跳过导航链接
退出打印视图
| Oracle VM Server for SPARC 2.0 管理指南

搜索范围:

- 本文档
- 整个文档库

### 配置域依赖关系

可以使用 Logical Domains Manager 建立域之间的依赖关系。如果域具有一个或多个依赖于它的域，则该域称为主域。如果域依赖于其他域，该域称为从属域。

通过设置 `master` 属性，每个从属域最多可以指定四个主域。例如，`pine` 从属域在以下用逗号分隔的列表中指定其四个主域：

    # ldm add-domain master=apple,lemon,orange,peach pine

每个主域都可以指定在主域失败时对其从属域产生何种影响。例如，如果主域失败，它可能会要求其从属域发生紧急情况。如果从属域具有多个主域，第一个失败的主域会触发其所有从属域上的已定义失败策略。

注 - 如果同时有多个主域失败，仅会对所有受影响的从属域强制执行一种指定的失败策略。例如，如果失败的主域具有两个失败策略，`stop` 和 `panic`，所有从属域都将被停止或发生紧急情况。

主域的失败策略是通过将以下任一值设置为 `failure-policy` 属性来控制的：

- `ignore` 在主域失败时忽略所有从属域。

- `panic` 在主域失败时使所有从属域都发生紧急情况。

- `reset` 在主域失败时重置所有从属域。

- `stop` 在主域失败时停止所有从属域。

在此示例中，主域按如下所示指定其失败策略：

    # ldm set-domain failure-policy=ignore apple
    # ldm set-domain failure-policy=panic lemon
    # ldm set-domain failure-policy=reset orange
    # ldm set-domain failure-policy=stop peach

可以使用此机制创建域之间的显式依赖关系。例如，来宾域隐式依赖于服务域以提供其虚拟设备。当来宾域所依赖的服务域未启动并运行时，来宾域的 I/O 将受到阻止。通过将来宾域定义为其服务域的从属域，可以指定来宾域在其服务域关闭时的行为。如果未建立此类依赖关系，来宾域只会等待其服务域返回到服务状态。

注 - Logical Domains Manager 不允许创建会产生依赖关系循环的域关系。有关更多信息，请参见依赖关系循环。

有关域依赖关系 XML 示例，请参见示例 D-6。

#### 域依赖关系示例

以下示例说明如何配置域依赖关系。

- 第一个命令创建名为 `twizzle` 的主域。此命令使用 `failure-policy=reset` 来指定如果 `twizzle` 域失败从属域将重置。第二个命令修改名为 `primary` 的主域。此命令使用 `failure-policy=panic` 来指定如果 `primary` 域失败从属域将发生紧急情况。第三个命令创建名为 `chocktaw` 的从属域，该从属域依赖于 `twizzle` 和 `primary` 两个主域。从属域使用 `master=twizzle,primary` 来指定其主域。如果 `twizzle` 域或 `primary` 域失败，`chocktaw` 域将重置或发生紧急情况。第一个失败的主域是负责确定从属域行为的主域。

      # ldm add-domain failure-policy=reset twizzle
      # ldm set-domain failure-policy=panic primary
      # ldm add-domain master=twizzle,primary chocktaw

- 本示例说明如何使用 `ldm set-domain` 命令修改 `orange` 域，以将 `primary` 分配为主域。第二个命令使用 `ldm set-domain` 命令将 `orange` 和 `primary` 分配为 `tangerine` 域的主域。第三个命令列出有关所有这些域的信息。

      # ldm set-domain master=primary orange
      # ldm set-domain master=orange,primary tangerine
      # ldm list -o domain
      NAME             STATE      FLAGS   UTIL
      primary          active     -n-cv-  0.2%

      SOFTSTATE
      Solaris running

      HOSTID
          0x83d8b31c

      CONTROL
          failure-policy=ignore

      DEPENDENCY
          master=

      ------------------------------------------------------------------------------
      NAME             STATE      FLAGS   UTIL
      orange           bound      ------

      HOSTID
          0x84fb28ef

      CONTROL
          failure-policy=stop

      DEPENDENCY
          master=primary

      VARIABLES
          test_var=Aloha

      ------------------------------------------------------------------------------
      NAME             STATE      FLAGS   UTIL
      tangerine        bound      ------

      HOSTID
          0x84f948e9

      CONTROL
          failure-policy=ignore

      DEPENDENCY
          master=orange,primary

      VARIABLES
          test_var=A hui hou

- 以下显示了一个列有可解析输出的示例：

      # ldm list -o domain -p

#### 依赖关系循环

Logical Domains Manager 不允许创建会产生依赖关系循环的域关系。依赖关系循环是指会导致从属域依赖于其本身或主域依赖于其某个从属域这一情况的两个或多个域之间的关系。

Logical Domains Manager 在添加依赖关系之前确定是否存在依赖关系循环。Logical Domains Manager 自从属域开始沿着主阵列指定的所有路径进行搜索，直到到达路径的终点。沿途所发现的任何依赖关系循环都将被报告为错误。

以下示例说明了依赖关系循环可能的创建方式。第一个命令创建名为 `mohawk` 的从属域，该从属域将其主域指定为 `primary`。因此，在以下依赖关系链中 `mohawk` 依赖于 `primary`：

图 12-1 单个域依赖关系

第二个命令创建名为 `primary` 的从属域，该从属域将其主域指定为 `counter`。因此，在以下依赖关系链中，`mohawk` 依赖于 `primary`，而后者又依赖于 `counter`：

图 12-2 多个域依赖关系

第三个命令尝试创建 `counter` 和 `mohawk` 域之间的依赖关系，这种依赖关系将产生以下依赖关系循环：

图 12-3 域依赖关系循环

`ldm set-domain` 命令将失败，并显示以下错误消息：

    # ldm add-domain master=primary mohawk
    # ldm set-domain master=counter primary
    # ldm set-domain master=mohawk counter
    Dependency cycle detected: LDom "counter" indicates "primary" as its master

版权所有 © 2007, 2010, Oracle 和/或其附属公司。 保留所有权利。 法律声明 |