1. Oracle VM Server for SPARC 软件概述
操作具有 Oracle VM Server for SPARC 的 Oracle Solaris OS
OpenBoot 固件在 Oracle Solaris OS 启动之后不可用
请勿对电源管理域中的活动 CPU 使用 psradm(1M) 命令
将 Logical Domains Manager 与服务处理器结合使用
A. Oracle VM Server for SPARC 物理机到虚拟机转换工具
B. Oracle VM Server for SPARC Configuration Assistant
D. 将 XML 接口与 Logical Domains Manager 结合使用
可以使用 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 将受到阻止。通过将来宾域定义为其服务域的从属域,可以指定来宾域在其服务域关闭时的行为。如果未建立此类依赖关系,来宾域只会等待其服务域返回到服务状态。
有关域依赖关系 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