在 Sun Cluster 上,Solaris Resource Manager 可以被配置为,无论是在正常的群集操作,还是在切换移交或故障移交情况下,lnode 配置 ( /var/srm/srmDB) 中所描述的资源分配配置保持不变。有关更多信息,请参阅份额分配示样。
以下章节为示例情况。
前两节(带有两个应用程序的的两节点群集和带有三个应用程序的两节点群集)显示整个节点的故障移交情况。
仅限于资源组的故障移交一节说明仅用于应用程序的故障移交操作。
在群集环境中,应用程序配置为资源组 (RG) 的部分。故障发生时,资源组及其关联的应用程序一起将故障移交至另一个节点。在以下示例中,在资源组 RG-1 中配置应用程序 1 (App-1),在资源组 RG-2 中配置应用程序 2 (App-2),在资源组 RG-3 中配置应用程序 3 (App-3)。
虽然分配份额的数目保持相同,但是分配给每个应用程序的 CPU 资源百分比将在故障移交后发生变化,这取决于运行在节点上的应用程序数和分配给每个活动的应用程序的份额数。
在这种情况下,假定以下配置。
所有应用程序配置在共同的父 lnode 之下。
应用程序是节点上仅有的活动进程。
限制数据库在群集的每个节点上配置相同。
您可以在一个两节点群集上配置两个应用程序,以便每个物理主机(phys-schost-1、phys-schost-2)均作为一个应用程序的缺省主机。每个物理主机均作为另一物理主机的备份节点。所有的应用程序必须在两个节点的 Solaris Resource Manager 限制数据库文件中得到表示。当群集正常运行时,每个应用程序在其缺省的主机上运行并由 Solaris Resource Manager 分配所有的 CPU 资源。
在一个故障移交或切换移交发生后,两个应用程序在单独一个节点上运行,其分配有配置文件中所指定的份额。例如,此配置文件指定为应用程序 1 分配 80 个份额,为应用程序 2 分配 20 个份额。
# limadm set cpu.shares=80 App-1 # limadm set cpu.shares=20 App-2 ... |
下图说明该配置的正常和故障移交操作。请注意,虽然分配的份额数量没有改变,但是每个应用程序的可用 CPU 资源百分比可以改变,这取决于分配到每个请求 CPU 时间的进程的份额数量。
在一个带有三个应用程序的两节点群集上,您可以将其配置为,一个物理主机 (phys-schost-1) 是一个应用程序的缺省主机,而第二个物理主机 ( phys-schost-2) 是其余两个应用程序的缺省主机。假定以下示例限制每个节点上的数据库文件。当发生故障移交或切换移交时,限制数据库文件不改变。
# limadm set cpu.shares=50 App-1 # limadm set cpu.shares=30 App-2 # limadm set cpu.shares=20 App-3 ... |
当群集正常运行时,应用程序 1 在其缺省主机 phys-schost-1 上获分配 50 个份额。这等于 100% 的 CPU 资源,因为在此节点上只有这一个应用程序请求 CPU 资源。在其缺省主机 phys-schost-2 上,应用程序 2 和 3 分别获分配 30 个和 20 个份额。在正常操作过程中,应用程序 2 将接收 60%,而应用程序 3 将接收 40% 的 CPU 资源。
如果发生故障移交或切换移交,且应用程序 1 切换移交至 phys-schost-2,则所有三个应用程序的份额保持相同,但是根据限制数据库文件,CPU 资源百分比将重新分配。
拥有 50 个份额的应用程序 1 接收 50% 的 CPU 资源。
拥有 30 个份额的应用程序 2 接收 30% 的 CPU 资源。
拥有 20 个份额的应用程序 3 接收 20% 的 CPU 资源。
下图说明该配置的正常和故障移交操作。
在一个多个资源组拥有同一缺省主机的配置中,有可能让一个资源组(及其相关联的应用程序)故障移交或被切换移交到一个备份节点,而缺省的主机在群集中保持运行。
在故障移交过程中,故障移交的应用程序将依照备份节点上的配置文件中所指定的情形分配资源。在此示例中,主要节点和备份节点上的限制数据库文件拥有相同的配置。
例如,此样本配置文件指定应用程序 1 获分配 30 个份额,应用程序 2 获分配 60 个份额。
# limadm set cpu.shares=30 App-1 # limadm set cpu.shares=60 App-2 # limadm set cpu.shares=60 App-3 ... |
下图说明此配置的正常和故障移交操作,其中 RG-2(包含应用程序 2)将故障移交到 phys-schost-2。请注意,虽然分配的份额数量没有改变,但是每个应用程序的可用 CPU 资源百分比可以改变,这取决于分配到每个请求 CPU 时间的应用程序的份额数量。