6. 网络分区解决资源的详细信息

本章说明网络分区解决资源的详细信息。

6.1. 何谓网络分区?

网络分区状态是指集群服务器之间的所有通信线路都发生故障,网络断开的状态。
在没有对应网络分区状态的集群系统中,无法区分通信线路故障和服务器的故障,可执行会发生多个服务器访问同一资源导致数据遭破坏的情况出现。在EXPRESSCLUSTER中,如果查出其它服务器的心跳切断,会使用网络分区解决资源,判断属于服务器故障还是网络分区状态。如果判断为服务器宕机,则通过在正常的服务器上启动各种资源,启动业务应用程序来进行失效切换。在判断为网络分区状态的情况下,保护数据优先于继续运行业务,所以会执行网络分区的动作 1
1

此操作从Cluster WebUI 的编辑模式的[集群属性]→[NP解决]标签页→[调整]按钮→[显示网络分区解决调整属性]画面→[NP发生时动作]中进行更改。

6.1.1. 何谓网络分区解决资源?

集群内的服务器通过心跳资源监视其他服务器的死活状态。当所有的心跳资源都断线,或者其他服务器因集群之外的原因被关机时,使用网络分区解决资源进行网络分区解决。网络分区解决资源包括以下类型。

2台服务器

图 6.1 通过LAN,共享磁盘连接的服务器

网络分区解决资源

简称

功能概要

DISK网络分区解决资源(DISK方式)

disknp

使用共享磁盘上的专用分区,执行网络分区解决。

Ping网络分区解决资源(Ping方式)

pingnp

通过[ping]命令判断可以通信的服务器,执行网络分区解决。

HTTP网络分区解决资源(HTTP方式)

httpnp

通过对Web服务器的HTTP HEAD请求,判断可以通信的服务器,执行网络分区解决。

多数决定网络分区解决资源(多数决定方式)

majonp

通过可以连接3台或3台以上服务器的服务器台数,执行网络分区解决。

  • 集群服务器配置不同,网络分区解决资源也不同。请选择以下任一组合。

集群服务器配置

网络分区解决方式
(按推荐顺序)

存在磁盘资源

[服务器数 2台]

  • Ping方式和DISK方式

  • DISK方式

[服务器数 3台以上]

  • Ping方式和DISK方式

  • DISK方式

  • 多数决定方式

存在镜像磁盘资源,不存在磁盘资源

[服务器数 2台]

  • HTTP方式

  • Ping方式

  • 无网络分区解决

[服务器数 3台以上]

  • HTTP方式

  • Ping方式

  • 多数决定方式

  • 无网络分区解决

磁盘资源及镜像磁盘资源都不存在

[服务器数 2台]

  • HTTP方式

  • Ping方式

  • 无网络分区解决

[服务器数 3台以上]

  • HTTP方式

  • Ping方式

  • 多数决定方式

  • 无网络分区解决

  • 如下,如果服务器1和服务器2都使用磁盘资源和镜像磁盘资源两者时,网络分区资源组合方式可以选择DISK方式和DISK方式和Ping方式,DISK方式。

2台连接镜像磁盘的服务器和共享磁盘

图 6.2 各服务器同时使用磁盘资源和镜像磁盘资源时

  • 如果磁盘资源和镜像磁盘资源可启动的服务器不同,则需要在各自的服务器之间分别设置网络分区资源。如下,服务器1和服务器2使用共享磁盘,服务器2和服务器3使用镜像磁盘时,服务器1和服务器2的网络分区资源的组合可以选择Ping方式和DISK方式,DISK方式,而服务器2和服务器3之间可以选择COM方式,Ping方式。

3台服务器和镜像磁盘以及共享磁盘

图 6.3 可以启动磁盘资源和镜像磁盘资源的服务器不同时

  • 网络分区解决资源可组合复数个资源种类来登录。登录复数个资源种类时,须按照以下的顺序进行NP的解决处理。

    1. PING方式和DISK方式

    2. HTTP方式

    3. PING方式

    4. DISK方式

    5. 多数决方式

6.1.2. 关于启动集群服务时的网络分区解决

如果集群服务启动时与其他服务器的心跳路径全部断开,则进行网络分区解决。 此时,在检测到网络分区的服务器上停止集群服务。确认心跳路径状态,手动启动集群服务。

6.2. 理解DISK方式的网络分区解决

6.2.1. 设置DISK网络分区解决资源

要使用DISK网络分区解决资源,需要设置以下内容。

  • 请在共享磁盘上分配专用分区(磁盘心跳专用分区)。(不需要对分区进行格式化。)

  • 请为共享磁盘上的专用分区分配盘符。(服务器之间的盘符必须相同。)

DISK网络分区解决资源在检测到网络分区后,将会在无法与优先级最高的服务器通信的服务器上执行产生网络分区时的操作。

  1. 2台服务器共享一个磁盘,并通过2根LAN连接。

    2台服务器和与之相连的LAN,共享磁盘

    图 6.4 DISK 网络分区解决资源 (1)

  2. 所有网络都断开连接时,DISK 网络分区解决资源将关闭一台服务器。 这样可以防止同一组在两个系统中都处于启动状态。

    2台服务器和与之相连的LAN,共享磁盘

    图 6.5 DISK 网络分区解决资源 (2)

如果集群由2台以上的服务器构成,则如下图所示配置来使用DISK网络分区解决资源。可以设置为仅使用集群内共享磁盘的服务器之间可以使用DISK网络分区解决资源。

关于详细信息,请参考本指南的"2. 参数的详细信息" - "集群属性" - "Fencing 标签页"。

3台服务器和与之相连的LAN,共享磁盘

图 6.6 集群由2台以上服务器构成时

6.2.2. DISK网络分区解决资源的注意事项

  • 使用共享磁盘时,建议使用DISK网络分区解决资源。

  • 因为DISK网络分区解决资源需要定期对磁盘执行read/write操作,所以设置时请充分考虑磁盘的负载。

  • 在HBA的设置中,请将DISK网络分区中使用的磁盘心跳专用分区设置为能在集群中进行管理的分区。

  • 在所有磁盘心跳专用分区的访问状态正常时,如果所有网络通信线路中发生了故障,则查出网络分区,主服务器以及能够与主服务器通信的服务器执行失效切换处理,其他所有的服务器执行网络分区的动作。

  • 在一部分磁盘心跳专用分区的访问状态异常时,如果发生心跳断开,则不能解决网络分区,无法执行失效切换。此时,磁盘心跳用分区的访问状态异常,服务器执行网络分区的动作,或者停止EXPRESSCLUSTER Server服务器。

  • 如果对共享磁盘的IO时间比集群的属性中设置的DiskNP资源的IO等待时间长,则网络分区解决处理可执行超时,不能执行失效切换。

  • 因为与其它方式相比,还需要考虑磁盘I/O的延迟,所以网络分区解决花费的时间较长。这个时间为集群属性中设置的心跳超时和磁盘IO等待时间中较长一个的2倍左右。

  • 使用DISK网络分区解决资源时,启动了集群的所有服务器将定期访问公共磁盘的专用分区。集群处于停止状态或挂起状态的服务器不进行访问。

6.3. 理解PING方式的网络分区解决

6.3.1. 设置PING网络分区解决资源

要使用PING网络分区解决资源,需要进行以下设置。

  • 需要能够接收[ping]命令并能返回响应的一直运行的设备(以下简称为"ping设备")。

PING网络分区解决资源在查出其他服务器的心跳切断时,如果从ping装置发出[ping]命令的响应,则认为对方服务器关机,执行失效切换。如果没有响应[ping]命令,则认为是由于网络分区状态自身从网络中孤立出来,执行网络分区的动作。

2台服务器以及Ping设备

图 6.7 PING 网络分区解决资源 (1)

查出其他服务器的心跳切断,对ping设备没有ping应答时,则关闭服务器。这样可以防止同一组在两个系统中都处于启动状态。

2台服务器以及Ping设备

图 6.8 PING 网络分区解决资源 (2)

关于详细信息,请参考本指南的"2. 参数的详细信息" - "集群属性" - "Fencing 标签页"。

6.3.2. PING网络分区解决资源的注意事项

使用Ping网络分区解决资源时,请指定配置信息中已经注册的任何一个私网LAN能够接受发送信的地址。

因为ping设备发生故障等原因,导致在心跳结束之前所有服务器持续保持没有收到[ping]命令应答的状态时,不能执行网络分区解决。

使用共享磁盘时,建议Ping网络分区解决资源和DISK网络分区解决资源结合使用。

PING网络分区解决资源虽然可以按服务器选择[使用]和[不使用],但是不合适地设置了[不使用]时,有可执行不能执行网络分区解决处理从而发生双重启动。
下面的例子就是由于设置不合适导致网络分区解决处理不执行的情况。

6.4. 理解HTTP 方式的网络分区解决

6.4.1. 设置HTTP网络分区解决资源

使用HTTP网络分区解决资源,需要进行以下设置

  • 需要不间断运行可以进行HTTP通信的服务器(以下称为"Web服务器")。

HTTP网络分区解决资源,在查出其他服务器心跳切断时,如果Web服务器有响应,则判断对方服务器宕机,执行失效切换,如果没有响应,则根据网络分区状态判断自身为与网络隔离状态,实施网络分区发生时的操作。

2台服务器以及不间断运行的Web服务器

图 6.9 HTTP 网络分区解决资源 (1)

查出其他服务器的心跳切断,并且Web服务器没有响应,则关闭服务器。 这样可以防止同一组在两个系统中都处于启动状态。

2台服务器以及不间断运行的Web服务器

图 6.10 HTTP 网络分区解决资源 (2)

详细信息请参考本指南的"2. 参数的详细信息" - "集群属性" - "Fencing 标签页"。

6.4.2. HTTP 网络分区解决资源的注意事项

  • 指定响应 HTTP HEAD 请求且状态码为 200 的设备。

  • 与Web服务器的通信,NIC以及源地址请根据OS的设置进行选择。

6.5. 理解多数决定方式的网络分区解决

6.5.1. 设置多数决定网络分区解决资源

通过服务器执行网络分区的动作,防止因为网络分区症状引起的数据破坏。

3台服务器

图 6.11 多数决定网络分区解决资源 (1)

查出其他服务器的心跳切断,并且Web服务器没有响应,则关闭服务器。 这样可以防止同一组在两个系统中都处于启动状态。

3台服务器

图 6.12 多数决定网络分区解决资源 (2)

详细信息请参考本指南的"2. 参数的详细信息" - "集群属性" - "Fencing 标签页"。

6.5.2. 多数决定网络分区解决资源的注意事项

  • 可以选择3节点以上的集群。

  • 如果超过一半的服务器关机,则剩下的其他所有正常的服务器也执行网络分区的动作。另外,如果正好与一半的服务器不能通信,则对不能与优先级别最高的服务器通信的服务器执行网络分区的动作。

  • 因为集线器故障等导致所有服务器都从网络中孤立出来时,所有服务器都执行网络分区的动作。

6.6. 理解PING方式和DISK方式的网络分区解决

通过结合Ping网络分区解决资源与DISK网络分区解决资源,执行网络分区解决。

如果由于ping设备的故障等导致所有服务器与ping设备的通信发生异常时 2 切换为共享磁盘方式。由此,与仅使用Ping方式相比,可实现更高的可用性,与仅使用磁盘方式相比,可以更快的速度完成网络分区解决。

使用Ping网络分区解决资源的服务器与使用DISK网络分区解决资源的服务器一致时,以PING+DISK方法进行动作。例如,共享型镜像磁盘构成的集群中,只在特定服务器组内使用的DISK网络分区解决资源,以及在集群全体中使用的Ping网络分区解决资源都被设置时,它们的资源都各自独立进行运作。这个时候,要设置PING+DISK方式动作时,需要添加只在与DISK网络分区解决资源相同的服务器组内使用的Ping网络解决资源。

2

心跳中断前,所有服务器没有返回[ping]命令的应答。

6.7. 不进行网络分区解决

在不使用共享磁盘的集群中可以使用。

因为不进行网络分区解决,所以如果集群服务器之间的所有网络通信线路都发生故障,则所有服务器都执行失效切换。

6.8. 网络分区解决资源设置的相关注意事项

使用EXPRESSCLUSTER 2.1 以前的版本时,指定了在上面说明的网络分区解决组合以外的情况下将不进行网络分区解决。但是在EXPRESSCLUSTER X 3.0之后的版本则在指定了上面说明的网络分区组合以外的情况下还是能根据设定的资源,按照下面的顺序来进行网络分区解决。

  1. Ping方式 和 DISK方式

  2. HTTP方式(在X4.1及其之后的版本上添加)

  3. Ping方式(在1中进行了网络分区解决则此处不实施)

  4. DISK方式(在1或2中进行了网络分区解决则此处不实施)

  5. 多数决方式