Sun Cluster 概念指南(适用于 Solaris OS)

失效转移情况

可以对管理参数进行配置,以便项目配置 (/etc/project) 在正常的群集操作中和切换或失效转移情况下进行分配。

以下部分是示例情况。

在群集环境中,应用程序配置为资源的一部分,而资源配置为资源组 (RG) 的一部分。当发生失效转移时,资源组及其关联的应用程序将进行失效转移,切换到另一个节点。以下示例中没有明确显示资源。假设每个资源仅有一个应用程序。


注意 –

按照 RGM 中设置的首选节点列表顺序进行失效转移。


以下示例的约束包括:

虽然分配的份额数相同,但是在失效转移后,分配给每个应用程序的 CPU 时间的比例将发生变化。此比例取决于节点上运行的应用程序数,以及分配给每个活动的应用程序的份额数。

在以上情况下,假设采用了以下配置。

具有两个应用程序的双节点群集

您可以对双节点群集上的两个应用程序进行配置,以确保每个物理主机(phys-schost-1phys-schost-2)都充当一个应用程序的缺省主控主机。每个物理主机都充当另一个物理主机的辅助节点。两个节点上的项目数据库文件中必须表示与应用程序 1 和应用程序 2 关联的所有项目。当群集正常运行时,每个应用程序均运行在各自的缺省主控主机上,在其中管理设备为其分配了所有的 CPU 时间。

发生失效转移或切换后,两个应用程序均运行在一个节点上,在该节点上,应用程序会分配到配置文件中所指定的相应份额。例如,/etc/project 文件中的相应条目指定应用程序 1 分配到 4 份份额,应用程序 2 分配到 1 份份额。

Prj_1:100:project for App-1:root::project.cpu-shares=(privileged,4,none)
Prj_2:101:project for App-2:root::project.cpu-shares=(privileged,1,none)

下图说明了此配置的正常操作和失效转移操作。分配的份额数不变。但是,根据分配给每个请求 CPU 时间的进程的份额数不同,每个应用程序可用的 CPU 时间比例可能发生变化。

说明:上文介绍了此图形。

具有三个应用程序的双节点群集

在具有三个应用程序的双节点群集上,可以将一个物理主机 (phys-schost-1) 配置为一个应用程序的缺省主控主机,将第二个物理主机 (phys-schost-2 ) 配置为其余两个应用程序的缺省主控主机。假设在每个节点上采用以下示例项目数据库文件。当发生失效转移或切换时,该项目数据库文件不发生变化。

Prj_1:103:project for App-1:root::project.cpu-shares=(privileged,5,none)
Prj_2:104:project for App_2:root::project.cpu-shares=(privileged,3,none) 
Prj_3:105:project for App_3:root::project.cpu-shares=(privileged,2,none)  

当群集正常运行时,应用程序 1 在其缺省主控主机(phys-schost-1)上分配到 5 份份额。此份额数相当于 100% 的 CPU 时间,因为应用程序1 是该节点上唯一一个请求 CPU 时间的应用程序。应用程序 2 和应用程序 3 分别在缺省主控主机(phys-schost-2 )上分配到 3 份和 2 份份额。正常操作过程中,应用程序 2 将分配到 60% 的 CPU 时间,而应用程序 3 将分配到 40% 的 CPU 时间。

如果发生了失效转移或切换,且应用程序 1 切换到 phys-schost-2,则三个应用程序的份额都相同。但是,CPU 资源的比例将根据项目数据库文件重新进行分配。

下图说明了此配置的正常操作和失效转移操作。

说明:上文介绍了此图形。

仅限资源组的失效转移

在多个资源组具有相同的缺省主控主机的配置中,资源组(及其关联的应用程序)可以进行失效转移或切换到辅助节点。同时,缺省主控主机运行于群集中。


注意 –

失效转移过程中,发生失效转移的应用程序分配到的资源与辅助节点上的配置文件所指定的资源相同。在此示例中,主节点和辅助节点上的项目数据库文件具有相同的配置。


例如,此样例配置文件指定应用程序 1 分配到 1 份份额,应用程序 2 分配到 2 份份额,应用程序 3 分配到 2 份份额。

Prj_1:106:project for App_1:root::project.cpu-shares=(privileged,1,none)
Prj_2:107:project for App_2:root::project.cpu-shares=(privileged,2,none)
Prj_3:108:project for App_3:root::project.cpu-shares=(privileged,2,none)
 

下图说明了此配置的正常操作和失效转移操作,其中包含应用程序 2 的 RG-2 进行失效转移,切换到 phys-schost-2。请注意,分配的份额数不变。但是,根据分配给每个请求 CPU 时间的应用程序的份额数不同,每个应用程序可用的 CPU 时间比例可能发生变化。

说明:上文介绍了此图形。