Sun Cluster 概述(适用于 Solaris OS)

第 3 章 Sun Cluster 体系结构

Sun Cluster 体系结构允许将一组系统作为一个单一的大型系统进行部署、管理和查看。

本章包括以下内容:

Sun Cluster 硬件环境

以下硬件组件组成一个群集:

图 3–1 说明了各硬件组件是如何协同工作的。

图 3–1 Sun Cluster 硬件组件

说明:带有公共的和专用的网络、互连硬件、本地和多主机磁盘、控制台以及客户机的两节点群集。

Sun Cluster 软件环境

要充当群集成员,节点必须安装了以下软件:

图 3–2 从高角度展示了合力营造 Sun Cluster 软件环境的各个软件组件。

图 3–2 Sun Cluster 软件体系结构

说明:Sun Cluster 软件组件包括 RGM、CMM、CCR、卷管理器和群集文件系统。

群集成员监视器

为确保数据免遭破坏,所有节点必须在群集成员关系上达成一致协议。必要时,CMM 将对群集服务的群集进行重新配置,以作为对故障的响应。

CMM 会从群集传输层接收到关于与其它节点连通性的信息。CMM 使用群集互连在重新配置期间交换状态信息。

在检测到群集成员的变化后,CMM 将执行该群集的同步配置。在此配置中,根据该群集的新成员关系,可能会重新分配群集资源。

CMM 完全在内核中运行。

群集配置库 (CCR)

CCR 靠 CMM 来保证群集只有在仲裁建立后才能运行。CCR 负责跨群集验证数据的一致性,需要时执行恢复,并为数据更新提供工具。

群集文件系统

群集文件系统是以下组件之间的代理:

群集文件系统依赖于全局设备(磁盘、磁带、CD-ROM)。全局设备可以从群集中的任意节点通过相同的文件名(例如,/dev/global/)进行访问,并且访问全局设备的节点与存储设备之间不需要具备物理连接。可以像使用常规设备那样使用全局设备,也就是说,您可以使用 newfsmkfs 在全局设备上创建文件系统。

群集文件系统具有以下特征:

可伸缩数据服务

群集联网的主要目的在于为数据服务提供可伸缩性。可伸缩性意味着当提供给服务的负载的增加时,如果向群集中添加新的节点并运行新的服务器实例,那么数据服务对这种增加的工作负载就能保持一个不变的响应时间。Web 服务是可伸缩数据服务的一个很好的示例。通常,可伸缩数据服务由几个实例组成,每一个示例运行在群集的不同节点上。这些实例一同作为一个服务为该服务的远程客户机提供服务,并实现该服务的功能。如果可伸缩 Web 服务含有在不同节点上运行的多个 httpd 守护进程,则此服务可以指定任意守护进程为客户机请求提供服务。服务于请求的守护进程依赖于负载平衡策略。对客户机的回复看起来是来自该服务,而不是为请求提供服务的守护进程,从而实现了单一服务外观。

下图描绘了可伸缩服务的体系结构。

图 3–3 可伸缩数据服务体系结构

说明:运行在多个节点上的数据服务请求。

当前不作为全局接口主机的节点(代理节点)与它们的回送接口共享地址。进入全局接口的数据包将按照可配置的负载平衡策略分配到其他群集节点上。可能的负载平衡策略在下一节说明。

负载平衡策略

负载平衡在响应时间和吞吐量上同时提高了可伸缩服务的性能。

可伸缩数据服务分为两类:纯粹服务粘滞服务。纯粹服务就是任何实例都可以对客户机的请求作出响应的服务。粘滞服务则由群集将请求的负载平衡到节点。那些请求不被重定向到其它实例。

纯粹服务使用加权的负载平衡策略。在这种负载平衡策略下,客户机请求按缺省方式被均衡地分配到群集内的服务器实例之上。例如,在一个三节点群集中,每个节点的加权为 1。每个节点代表该服务对客户机的所有请求中的 1/3 提供服务。随时可以通过 scrgadm(1M) 命令接口或通过 SunPlex Manager GUI 更改加权。

粘滞服务有两种:普通粘滞通配粘滞。粘滞服务允许多个 TCP 连接上并行的应用程序级会话来共享状态内内存(应用程序会话状态)。

普通粘滞服务允许客户机在多个并行的 TCP 连接之间共享状态。相对于服务器实例在单一端口上收听的情况,该客户机称为“粘滞”。如果实例保持打开状态并可访问,并且在服务处于联机状态时负载平衡策略未改变,则可以保证该客户机的所有服务请求都传给相同的服务器实例。

通配粘滞服务使用动态分配的端口号,但仍期望客户机请求去往相同的节点。相对于去往相同 IP 地址的情况,客户机就是端口上的“粘滞通配”。

多主机磁盘存储器

Sun Cluster 软件利用多主机磁盘存储器使磁盘高度可用,因为多主机磁盘存储器一次可以连接到多个节点。可以使用卷管理软件将这些磁盘安排到由群集节点控制的共享存储器中。如果发生故障,磁盘将被配置为移动到另一个节点。在 Sun Cluster 系统中使用多主机磁盘提供了很多好处,包括:

群集互连

必须至少通过两个物理上相互独立的冗余网络或路径,将所有节点通过群集互连连接起来,以避免出现单点故障。尽管冗余只要求有两个互连,但最多可以使用六个互连来分散通信,以避免出现瓶颈并提高冗余性和可伸缩性。Sun Cluster 互连使用快速以太网、千兆位以太网、InfiniBand、Sun Fire Link 或可伸缩一致接口 (Scalable Coherent Interface) (SCI, IEEE 1596-1992),启用了高性能群集专用通信。

在群集的环境中,高速、低延迟互连和节点间通信协议至关重要。Sun Cluster 系统中的 SCI 互连通过典型的网络接口卡 (NIC) 提供了改善的性能。对于通过 Sun Fire Link 网络进行的节点间通信,Sun Cluster 使用了远程共享内存 (RSMTM) 接口。RSM 是一个 Sun 消息接口,它对远程内存操作非常有效。

RSM 可信赖数据报传输 (RSMRDT) 驱动程序由一个建立在 RSM API 顶层的驱动程序以及一个输出 RSMRDT-API 接口的库组成。该驱动程序可以提供增强的 Oracle Parallel Server/Real Application Clusters 性能。该驱动程序还可以增强负载平衡以及高可用性 (HA) 功能,方法是:在驱动程序内直接提供负载平衡和高可用性功能,从而使客户机可以透明地使用这两个功能。

该群集互连由以下硬件组件构成:

图 3–4 展示这三个组件是如何连接的。

图 3–4 群集互连

说明:两个节点由传输适配器、电缆和传输结点连接。

IP 网络多路径组

公共网络适配器被组织为 IP 多路径组(多路径组)。每个多路径组具有一个或多个公共网络适配器。多路径组中的每个适配器都可以处于活动状态,也可以配置备用接口,使这些接口只有在发生故障转移时才会激活。

多路径组为逻辑主机名和共享地址资源提供了基础。节点上相同的多路径组可以拥有任意数目的逻辑主机名或共享地址资源。要监视群集节点之间的公共网络连通性,可以创建多路径。

有关逻辑主机名和共享地址资源的详细信息,请参见《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》

公共网络接口

客户机通过公共网络接口与群集相连。每个网络适配卡可连接一个或多个公共网络,这取决于卡上是否具有多个硬件接口。可以将节点设置为包含已配置的多个公共网络接口卡,从而激活多个接口卡,并作为相互之间的故障转移备份。如果其中某个适配器发生故障,则调用 Sun Cluster 上的 Solaris 网际协议 (IP) 网络多路径软件,将出故障的接口故障转移到该组中的另一个适配器。