7. 其他设置信息

本章对其他监视设置相关信息进行说明。

本章中的说明项目如下所示。

7.1. 关机监视

7.1.1. 何谓关机监视

使用EXPRESSCLUSTER的命令执行集群关机或服务器关机时,监视OS是否已经停止运行。
若集群Daemon判断OS已经停止运行,则强行重置。

7.1.2. 显示/更改关机监视的详细信息

  • [始终运行]
    进行关机监视。心跳超时,心跳超时(请参照"5. 心跳资源的详细信息"),时间设置需要长于应用程序以及OS关闭的时间。
  • [只在组停止处理失败时运行]
    只在组停止处理失败时进行关机监视。心跳超时(请参照"5. 心跳资源的详细信息")时间需要设置为大于应用程序及OS关闭的时间。使用共享磁盘,镜像磁盘,共享型镜像磁盘时,推荐选择[只在组停止处理失败时执行]。
  • [No]
    不进行关机监视。

7.1.3. 关机监视的方法

关机监视的监视方法如下所示。

  • 监视方法 softdog
    监视方法为softdog时,使用softdog驱动程序设置计时器。
  • 监视方法 ipmi
    监视方法为ipmi时,使用OpenIPMI设置计时器。若未安装OpenIPMI,需要进行安装。关于ipmi,请参考"理解用户空间监视资源"。
  • 监视方法 keepalive
    监视方法为keepalive时,使用EXPRESSCLUSTER的clpkhb和clpka驱动程序设置计时器。

    注解

    关于clpkhb驱动程序, clpka驱动程序运行的Distribution,kernel版本,请务必确认《开始指南》的"EXPRESSCLUSTER的运行环境"- "软件"- "可运行的Distribution和kernel"。
    在将Distribution发行的安全升级包应用于已经运行的集群(kernel版本发生变化)时,也请进行确认。
  • 监视方法ipmi(High-End Server Option)
    那个不能被使用。

7.1.4. SIGTERM设置

OS关机时执行SIGTERM。如果设置[Enable SIGTERM handler],关机监视的有效范围以及OS正常关机时的运行都会发生变化。监视方法为keepalive时的运行和softdog时相同。

  • 监视方法 softdog

    关机成功时(选择了监视方法softdog,SIGTERM有效时)

    1. 发布命令(clpstdn,clpdown,shutdown,reboot等)。

    2. 开始关机监视。

    3. 开始关闭OS。

    4. 即使在关机处理过程中,OS发布SIGTERM,但是由于已启用SIGTERM,因此关机监视结束。

    5. 关闭OS成功。

    (d)~(e)中无法查出停止状态。

    _images/img_l_setting-of-sigterm-10.png

    图 7.1 关机成功时(监视方法为softdog, SIGTERM有效时)

    关机成功时(监视方法为softdog,SIGTERM无效时)

    1. 发布命令(clpstdn,clpdown,shutdown,reboot等)。

    2. 开始关机监视。

    3. 开始关闭OS。

    4. 即使在关机处理过程中,OS发布SIGTERM,但是由于SIGTERM被禁用,因此关机监视不会在这个时间点结束。

    5. 结束关机监视,卸载softdog驱动。
      关闭OS成功。
    _images/img_l_setting-of-sigterm-20.png

    图 7.2 关机成功时(监视方法为softdog,SIGTERM无效时)

    监视方法为softdog时,建议将SIGTERM设置为无效。

  • 监视方法 ipmi / ipmi(High-End Server Option)

    关机成功时(监视方法为ipmi, SIGTERM有效时)

    1. 发布命令(clpstdn,clpdown,shutdown,reboot等)。

    2. 开始关机监视。

    3. 开始关闭OS。

    4. 即使在关机处理过程中,OS发布SIGTERM,但是由于已启用SIGTERM,因此关机监视结束。

    5. 关闭OS成功。

    (d)~(e)中无法查出停止状态。

    _images/img_l_setting-of-sigterm-30.png

    图 7.3 关机成功时(监视方法为 ipmi, SIGTERM 有效时)

    关机成功时(若监视方法为ipmi,SIGTERM无效时)

    1. 发布命令(clpstdn,clpdown,shutdown,reboot等)。

    2. 开始关机监视。

    3. 开始关闭OS。

    4. 即使在关机处理过程中,OS发布SIGTERM,但是由于SIGTERM被禁用,因此关机监视不会在这个时间点结束。

    5. 关闭OS成功。

    6. 发生重置。

    _images/img_l_setting-of-sigterm-40.png

    图 7.4 关机成功时 (监视方法为 ipmi,SIGTERM 无效时)

    • 即使未发生停止,正常关机的情况下也会因ipmi发生重置。

    • 可以off软件电源的服务器中不会重置。

    若监视方法为ipmi,则建议设置SIGTERM为有效。

  • 若OS关闭时发生停止

查出关机停止时

  1. 发布命令(clpstdn,clpdown,shutdown,reboot等)。

  2. 开始关机监视。

  3. 开始关闭OS。

  4. 关闭OS过程中发生停止情况。

  5. 发生重置。

_images/img_l_setting-of-sigterm-50.png

图 7.5 查出关机停止时

7.1.5. 使用心跳超时

将关机监视的超时值与心跳超时值结合使用。

7.1.6. 超时

没有指定关机监视超时值为心跳超时值时,指定此超时值。
为了避免服务器关机导致的失效切换时发生服务器双活,需要设定为小于心跳超时值的值。

7.2. bonding

7.2.1. 浮动IP资源

注意事项:

若将bonding的模式指定为"active-backup",在切换Slave接口时可执行会造成暂时的通信中断。

bonding设置示例

执行bonding 的设定时,依据环境,在bonding的主网络接口中设定的IP地址也会显示在从网络接口中。

在上述那样的环境中,在bonding的主网络接口中设定了浮动IP地址时,在[属性]的[详细]标签页,像以下那样,用"%"分隔指定IP地址与bonding设备。

例) 设置设备名为bond0,IP地址为192.168.1.3时

注解

设置私网的IP地址时,请仅设置IP地址。

以下为bondig上使用浮动IP资源时的设置示例。

Device

Slave

Mode

bond0

eth0
eth1
active-backup(1)
balance-tlb(5)

bond0

eth0
eth1
active-backup(1)
balance-tlb(5)

图中的 Server 1,Server 2中,从接口 eth0,eth1通过bonding进行组合,构成主接口bond0。 此外,在FIP资源中设置了IP地址以访问Server1,Server2。 与集群服务器位于同一LAN上的主机,远程LAN上的主机都可以使用FIP与集群服务器连接。 无需特殊设置即可在路由器上使用FIP。

  • FIP资源IP地址: 192.168.1.3%bond0

具有绑定接口的2台服务器,连接到同一网络的客户端PC,连接它们的Pulic LAN Hub,通过路由器位于不同网段的客户端PC

图 7.6 bonding上的浮动IP资源使用示例

srv1中通过ifconfig设置的浮动IP资源的启动状态如下所示。(bonding mode指定为"balance-tlb(5)"。)

$ ifconfig
bond0   Link encap:Ethernet HWaddr 00:00:01:02:03:04
        inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
        UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
        RX packets:6807     errors:0 dropped:0 overruns:0 frame:0
        TX packets:2970     errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:0
        RX bytes:670032 (654.3 Kb)  TX bytes:189616 (185.1 Kb)

bond0:0 Link encap:Ethernet HWaddr 00:00:01:02:03:04
        inet addr:192.168.1.3 Bcast:192.168.1.255 Mask:255.255.255.0
        UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
        RX packets:236 errors:0 dropped:0 overruns:0 frame:0
        TX packets:2239 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:0
        RX bytes:78522 (76.6 Kb)  TX bytes:205590 (200.7 Kb)

eth0    Link encap:Ethernet HWaddr 00:00:01:02:03:04
        UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
        RX packets:3434     errors:0 dropped:0 overruns:0 frame:0
        TX packets:1494     errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:1000
        RX bytes:332303 (324.5 Kb)  TX bytes:94113 (91.9 Kb)
        Interrupt:18 Base address:0x2800 Memory:fc041000-fc041038

eth1    Link encap:Ethernet HWaddr 00:00:05:06:07:08
        UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
        RX packets:215      errors:0 dropped:0 overruns:0 frame:0
        TX packets:1627     errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:1000
        RX bytes:77162 (75.3 Kb)  TX bytes:141394 (138.0 Kb)
        Interrupt:19 Base address:0x2840 Memory:fc042000-fc042038

eth2    Link encap:Ethernet HWaddr 00:00:09:10:11:12
        inet addr:192.168.2.1 Bcast:192.168.2.255 Mask: 255.255.255.0
        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
        RX packets:47 errors:0 dropped:0 overruns:0 frame:0
        TX packets:1525 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:1000
        RX bytes:2820 (2.7 Kb)  TX bytes:110113 (107.5 Kb)
        Interrupt:24 Base address:0x3000 Memory:fc500000-fc500038
  • 以上是"bond0"的block绑定了eth0,eth1的设备信息。 使用Public LAN和第二个私网的设备。

  • "bond0:0" block 显示在"bond0"上启动的浮动IP地址的信息。

  • "eth2"是在第一个私网中使用的设备。

7.2.2. 镜像磁盘连接

注意事项:

bonding上使用镜像磁盘连接,在切换Slave接口时可执行会造成暂时的通信中断。根据镜像处理的时间不同,有时候在bonding切换处理完成后会执行复原。

bonding设置示例

以下将对bondig上使用镜像磁盘连接的设置示例进行说明。

Cluster Server

Device

Slave

Mode

srv1

bond0

eth1
eth2

balance-rr(0)
active-backup(1)
balance-tlb(5)

srv2

bond0

eth1
eth2

balance-rr(0)
active-backup(1)
balance-tlb(5)

7.3. 强行停止功能

7.3.1. 何谓强行停止功能?

强行停止功能是指在识别出服务器宕机之后,从其他服务器(正常的服务器)强行停止宕机的服务器。

物理机使用IPMI 的功能来停止。

虚拟机的客机 OS使用VMware vCenter Server 的功能来停止。

除了上述,也可以执行任意的记述了停止宕机服务器处理的脚本。详细请参照"7. 其他设置信息"的"强制停止脚本"。

7.3.2. 强行停止执行条件

  • 以下情况下不执行强行停止。

    • 服务器宕机前失效切换组正常停止时

    • 通过[clpdown] 命令,OS关机命令,Cluster WebUI关闭服务器,并且失效切换组正常停止时

    • 通过[clpcl]命令,Cluster WebUI停止集群,失效切换组正常停止时

    • 服务器宕机,不存在从宕机的服务器失效切换到其他服务器的失效切换组时。
      (包含在宕机的服务器中失效切换组没有被启动的情况。)
  • 以下情况下执行强行停止。

    • 服务器宕机,存在从宕机的服务器失效切换到其他服务器的失效切换组时。

7.3.3. 强行停止使用的命令

在强制停止物理机中使用[ipmitool]命令。

如果没有安装命令时,则不能使用该功能。

执行命令时,将下表中的参数值设置到服务器属性的[BMC]标签页。

[ipmitool]命令的参数

服务器属性的[BMC]标签页的设置项

-H ip_address

IP地址

-U username

用户名

-P password

密码

在服务器属性的BMC标签页的[强制停止动作]中不设置命令行时,请执行以下命令。

强制停止动作

命令

BMC Power off

ipmitool -H ip_address -U username -P password power off

BMC reset

ipmitool -H ip_address -U username -P password power reset

BMC Power cycle

ipmitool -H ip_address -U username -P password power cycle

BMC NMI

ipmitool -H ip_address -U username -P password power diag

上述命令失败时执行以下命令。

强制停止动作

命令

BMC Power off

ipmitool -H ip_address -I lanplus -U username -P password power off

BMC reset

ipmitool -H ip_address -I lanplus -U username -P password power reset

BMC Power cycle

ipmitool -H ip_address -I lanplus -U username -P password power cycle

BMC NMI

ipmitool -H ip_address -I lanplus -U username -P password power diag

关于可使用的操作参数,请参考"4. 监视资源的详细信息"-"何谓监视资源?"-"使用的ipmi命令"部分的说明。

要执行虚拟机的客机 OS的强制停止时,使用VMware vSphere Command Line Interface(vCLI) 的[vmcontrol] 命令。没有安装VMware vSphere Command Line Interface(vCLI)时不能使用本功能。

执行命令时设置以下参数值。

[vmcontrol] 命令参数

集群属性的扩展标签的 [虚拟机强制停止设置] 的设置项目

server properties的
信息标签的 [虚拟机名的输入] 的设置项目

--server ip_address

IP地址

-

--username username

用户名

-

--password password

密码

-

-- vmname virtualmachine

-

虚拟机名

关于操作中使用的参数,如下表所示。

命令

参数

概要

Vmcontrol

--operation poweroff

关闭虚拟机的客机 OS 的电源。

7.3.4. 关于指定强制停止时使用的命令

对于物理机器的服务器的强制停止,可以在服务器属性的BMC标签页的[强制停止动作]中指定进行强制停止时使用的任意命令行。

在指定命令行时,可以通过使用以下置换字符串,将服务器属性的设定值反映到命令行中。

置换字符串

置换对象(服务器属性的BMC标签页的设置项目)

置换对象(集群属性的扩展标签页的强制停止动作的设置项目)

CLP_BMC_HOST

IP 地址

-

CLP_BMC_USER

用户名

-

CLP_BMC_PASSWORD

密码

-

CLP_BMC_ACTION

-

强制停止动作

在强制停止动作的置换字符串(CLP_BMC_ACTION)中被置换的字符串如下所示。

强制停止动作

置换字符串中被变换的字符

BMC Power off

off

BMC reset

reset

BMC Power cycle

cycle

BMC NMI

diag

注解

强制停止动作因其是否有置换字符串 (CLP_BMC_ACTION)而不同。

  • 在命令行中包含CLP_BMC_ACTION时
    在集群属性的强制停止动作中执行选择的动作。
  • 在命令行中不包含CLP_BMC_ACTION时
    在集群属性的强制停止动作中选择的动作将不会被反映。

使用置换字符串的强制停止动作的命令指定示例

ipmitool -H CLP_BMC_HOST -U CLP_BMC_USER -P CLP_BMC_PASSWORD power CLP_BMC_ACTION

7.3.5. 显示/更改强制停止功能的详细内容

关于强制停止功能的设置,请参考本指南的"2. 参数的详细信息"-"集群属性-扩展标签页","服务器属性-信息标签页","服务器属性 - BMC标签页"。

7.3.6. 强行停止功能的注意事项

  • 关于虚拟机的客机OS的强制停止
    仅可执行power off操作。此外,不能与VMWare vCenter Server进行通信时,不能使用本功能。
  • 关于ipmitool命令的注意事项
  • 关于强行停止的影响
    使用强行停止功能时,不论OS和服务器状态如何,都将强行执行Power off, Reset,PowerCycle,NMI,所以以下功能会受到影响。
    • 轮询收集
      因为无法识别是否正在收集轮询信息,因此即使正在收集轮询,也会发生Power off, Reset,PowerCycle,从而导致轮询不能完成收集。
    • 心跳超时以内的电源关闭操作
      心跳超时时间内因为维护等目的重新打开服务器的电源时,心跳超时时间超过后,可执行会发生Power off,Reset,Power cycle,NMI。
  • 关于BMC的网络设置
    请通过设置保证BMC管理用LAN端口的IP地址和OS所使用的IP地址之间能够进行通信。在BMC管理用网络阻塞的情况下不能使用该功能。
    请在服务器属性的"BMC"标签页中设置与BMC管理用LAN端口中设置的IP地址相同的IP地址。
    关于BMC管理用LAN端口的IP地址等的设置方法,请参考服务器的手册等资料。

7.4. 强制停止脚本

7.4.1. 何谓强制停止脚本?

发现服务器宕机时,在剩余的服务器(正常的服务器)上运行用户做成的任意脚本的功能。
使用这个功能,能够强制停止宕机服务器。
此外,可以确认强制停止是否成功,控制是否进行失效切换。

7.4.2. 强制停止脚本运行条件

  • 以下的条件下,不运行强制停止脚本。

    • 在服务器宕机前,失效切换组已正常停止

    • 通过[clpdown]命令,Cluster WebUI将服务器shutdown,失效切换组正常停止

    • 通过[clpdown]命令,Cluster WebUI停止集群,失效切换组正常停止

    • 服务器宕机,不存在从宕机服务器向其它服务器进行失效切换的失效切换组。
      (也包含在宕机服务器上失效切换组没有启动的情况。)
  • 以下的条件下运行强制停止脚本。

    • 服务器宕机,存在从宕机服务器向其它服务器进行失效切换的失效切换组。

7.4.3. 关于强制停止脚本的记述

强制停止脚本使用的环境变量

集群运行脚本时,哪个服务器发生了宕机等的信息设置在环境变量中。

在脚本内以下图中的环境变量作为分支条件,记述适合系统运用的处理内容。

环境变量

环境变量的值

意思

CLP_SERVER_DOWN
・・・宕机服务器名

服务器名

显示宕机的服务器名。

CLP_SERVER_LOCAL
・・・本地服务器名

服务器名

显示执行脚本的服务器名。

CLP_VMNAME
・・・虚拟机名

虚拟机名

显示服务器属性中设置的虚拟机名。

CLP_DATACENTER_NAME
・・・数据中心名

数据中心名

显示服务器属性中设置的数据中心名。

CLP_VCENTER_HOST
・・・vCenter的主机名

主机名

显示在虚拟机强制停止设置中设置的主机名。

CLP_VCENTER_USER
・・・vCenter的用户名

用户名

显示在虚拟机强制停止设置中设置的用户名。

CLP_VCENTER_PASSWORD
・・・vCenter的密码

密码

显示在虚拟机强制停止设置中设置的密码。

CLP_BMC_HOST
・・・BMC的IP地址

IP地址

显示在服务器属性中设置的IP地址。

CLP_BMC_USER
・・・BMC的用户名

用户名

显示在服务器属性中设置的用户名。

CLP_BMC_PASSWORD
・・・BMC的密码

密码

显示在服务器属性中设置的密码。

强制停止脚本的返回值

脚本正常结束时作为返回值返回0。

7.4.4. 显示/更改强制停止脚本的详细信息

关于强制停止脚本的设置,参照本指南的"2. 参数的详细信息"-"集群属性" - "扩展标签页"。

7.4.5. 强制停止脚本的注意事项

7.5. 联合机箱ID指示灯

7.5.1. 何谓联合机箱ID指示灯

联合机箱ID指示灯功能是指在发现服务器宕机后,使用IPMI功能从其他服务器(正常的服务器)通过宕机的服务器的机箱ID指示灯闪烁来进行通知。

7.5.3. 关于集群停止时闪烁的机箱ID指示灯的处理

如果集群停止时集群内的服务器的机箱ID指示灯变为闪烁状态

  • 最多可执行持续闪烁250秒。

7.5.4. 联动机箱ID指示灯使用的命令

使用[ipmitool]命令。

如果没有安装命令时,则不能使用该功能。

将执行命令时的以下参数值设置到[服务器属性]的BMC标签中。

[ipmitool]命令参数

服务器属性的BMC标签页的设置项目

-H ip_address

IP地址

-U username

用户名

-P password

密码

在服务器属性的 [BMC]标签页的机箱ID指示灯[闪烁],[关灯]中没有设置命令行时,执行以下的命令。

机箱ID指示灯

命令

闪烁

ipmitool -H ip_address -U username -P password chassis identify 250

关灯

ipmitool -H ip_address -U username -P password chassis identify 0

上述命令失败时执行以下命令。

机箱ID指示灯

命令

闪烁

ipmitool -H ip_address -I lanplus -U username -P password chassis identify 250

关灯

ipmitool -H ip_address -I lanplus -U username -P password chassis identify 0

7.5.5. 指定在机箱ID指示灯联动中使用的命令

在机箱ID指示灯联动中,可以在服务器属性的BMC标签页的机箱ID指示灯[闪烁],[关灯]中任意指定在机箱ID指示灯联动中使用的命令行。

在指定命令行时,可以通过使用以下的置换字符串将服务器属性的设置值反映到命令行里。

置换字符串

置换对象(服务器属性的BMC标签页的设置项目)

CLP_BMC_HOST

IP地址

CLP_BMC_USER

用户名

CLP_BMC_PASSWORD

密码

使用置换字符串的机箱ID指示灯闪烁命令的指定示例

ipmitool -H CLP_BMC_HOST -U CLP_BMC_USER -P CLP_BMC_PASSWORD chassis identify 250

7.5.6. 显示/更改联合机箱ID指示灯的详细内容

关于联合机箱ID指示灯的设置,请参考本指南的"2. 参数的详细信息"的"集群属性-Alert服务标签页","服务器属性-BMC标签页"。

7.5.7. 联合机箱ID指示灯的注意事项

  • 关于ipmitool的注意事项
  • 关于BMC的网络设置
    请通过设置保证BMC管理用LAN端口的IP地址和OS所使用的IP地址之间能够进行通信。在BMC管理用网络阻塞的情况下不能使用该功能。
    请在服务器属性的"BMC"标签页中设置与BMC管理用LAN端口中设置的IP地址相同的IP地址。
    关于BMC管理用LAN端口的IP地址等的设置方法,请参考服务器的手册等资料。

7.6. 警报服务

7.6.1. 何谓警报服务?

EXPRESSCLUSTER警报服务能够将EXPRESSCLUSTER上发生的业务异常通知给远程的管理员。

通知方法有以下三种。通知方法不同,所通知的现象也不同。

  1. 电子邮件通报
    在Cluster WebUI显示警报消息时,通过邮件通报警报内容。
  2. 网络警告灯通报
    服务器启动时和服务器宕机时通过网络警告灯通报,显示服务器的状态。如果服务器正常停止,网络警告灯将熄灭。
    电子邮件通报和网络警告灯通报功能互相独立运行。
  3. SNMP Trap发送
    在Cluster WebUI显示警报消息时,通过SNMP Trap发送警报内容。
2台服务器,服务器中的警报服务,网络警告灯,电子邮件

图 7.7 警报服务

  • 通过电子邮件通报,即便管理终端在异地,也可以在发生故障后尽快察知。

  • 邮件通报接收方可以设置为手机。

  • 通过网络警告灯的点亮,可以从视觉上判断故障的发生。

  • 通过网络警告灯的音频文件回放,可以从声音判断故障。

  • SNMP Trap可向设置的通报接收服务器发送故障内容。

通过电子邮件通报时,使用以下格式通报Alert内容。

邮件名

EXPRESSCLUSTER

正文

Message: Server [已宕机服务器名] has been stopped.
Type: nm
ID: 2
Host: [发件人 服务器名]
Date: [发送时间戳]

7.6.2. 警报服务的注意事项

  • 要使用邮件通报和网络警告灯通报功能,需要EXPRESSCLUSTER X Alert Service 4.3 for Linux。

  • 本功能的目的是通报故障的发生,不能对EXPRESSCLUSTER的故障进行调查并查找原因。发生故障后,需要通过EXPRESSCLUSTER的日志和syslog等其他手段判断详细的故障原因。

  • 在Linux中使用网络警告灯功能时,需要安装rsh包。

7.6.3. 邮件通报处理

7.6.4. 网络警告灯通报处理

网络警告灯执行如下各种操作。

  1. 服务器启动时
    服务器正常启动时,绿灯点亮。
  2. 服务器停止时
    服务器正常停止时,指示灯熄灭。
  3. 服务器宕机时
    服务器宕机时,红灯点亮。正常服务器会检测到其他异常服务器的状态并进行通报,所以如果所有的服务器都宕机时,则最后宕机的服务器的网络警告灯无法通知故障。

网络警告灯一旦点亮或闪烁,则除非集群关机时将不会熄灭。如果要熄灭指示灯,请执行[clplamp]命令。关于[clplamp]命令,请参照本指南的"8.2. EXPRESSCLUSTER命令一览"的"熄灭网络警告灯(clplamp命令)"。

音频文件回放对应的网络警告灯(本公司指定产品)时,可以设置音频文件回放与灯亮和灯灭连动。

7.6.5. SNMP Trap发送动作

7.7. SNMP 联动

7.7.1. 何谓SNMP联动?

SNMP联动基于EXPRESSCLUSTER MIB定义,可通过EXPRESSCLUSTER的SMNP Trap发送,以及来自SNMP Manager的SNMP获取信息。

2台服务器,服务器中的警报服务,SNMP Manager

图 7.8 SNMP联动

7.7.2. 何谓EXPRESSCLUSTER MIB的定义?

从SNMP联动获取的信息汇总为MIB定义文件。

在使用后面提到的SNMP Trap发送以及从SNMP获取信息的功能时,都需要MIB定义文件。

需要用SNMP Manager接收来自EXPRESSCLUSTER的SNMP Trap,或用SNMP Manager获取集群状态时,请在SNMP Manager中嵌入EXPRESSCLUSTER MIB定义文件。

关于如何在SNMP Manager中嵌入MIB定义文件,请参照各SNMP Manager的使用手册。

EXPRESSCLUSTER MIB定义文件位于EXPRESSCLUSTER X CD-ROM下。

<EXPRESSCLUSTER X CD-ROM>Common<版本编号>mib

各MIB定义文件有以下几种含义。

No.

MIB定义文件

描述

NEC-CLUSTER-SMI.mib

EXPRESSCLUSTER MIB树的根路径已定义。

NEC-CLUSTER-EVENT-MIB.mib

与EXPRESSCLUSTER的SNMP Trap发送功能关联的Trap 定义或MIB已定义。

NEC-CLUSTER-MANAGEMENT-MIB.mib

与EXPRESSCLUSTER的以下信息关联的MIB已定义。

  • 集群信息

  • 服务器信息

  • 组信息

SNMP Manager嵌入的文件不同,可利用的功能也不同。

接收来自的EXPRESSCLUSTER的SNMP Trap时

1. NEC-CLUSTER-SMI.mib
2. NEC-CLUSTER-EVENT-MIB.mib

利用SNMP获取信息时

1. NEC-CLUSTER-SMI.mib
2. NEC-CLUSTER-MANAGEMENT-MIB.mib

7.7.3. 何谓SNMP Trap发送?

SNMP Trap发送是指将与Cluster WebUI的警报消息相同的内容发送至SNMP Manager的功能。

为了实现Trap送信,必须要另外设定SNMP Trap的发送地址。请参照本指南的"2. 参数的详细信息" - "集群属性" - "Alert服务标签页"的"SNMP Trap 发送地址设置"。

发送的Trap用NEC-CLUSTER-EVENT-MIB定义。

已用NEC-CLUSTER-EVENT-MIB定义的各MIB对象如下所示。

clusterEventNotifications组

已定义发送Trap的组。此处已定义的各MIB对象的含义如下。

No.

SNMP TRAP OID

描述

clusterEventInformation

表示信息级别Alert的Trap。
添加clusterEvent组的MIB对象。

clusterEventWarning

表示警报级别Alert的Trap。
添加clusterEvent组的MIB对象。

clusterEventError

表示异常级别Alert的Trap。
添加clusterEvent组的MIB对象。

clusterEvent组

已定义向Trap添加信息的组。此处已定义的各MIB对象的含义如下。

No.

SNMP OID

描述

clusterEventMessage

表示Alert信息。

clusterEventID

表示事件ID。

clusterEventDateTime

表示Alert的发送时间。

clusterEventServerName

表示Alert的发送来源服务器。

clusterEventModuleName

表示Alert的发送来源模块。

7.7.4. 何谓用SNMP获取信息?

利用SNMP协议,可获取部分EXPRESSCLUSTER的配置信息,状态信息。但是,EXPRESSCLUSTER本身并不具备SNMP代理功能。需另行安装Net-SNMP snmpd Daemon作为SNMP代理。

何谓SNMP代理?

根据SNMP Manager(网络管理软件)提出的获取信息要求(GetRequest, GetNextRequest) ,反馈(GetResponse)各种配置信息,状态信息的功能。

注解

利用SNMP获取信息时,请务必执行《安装&设置指南》中的"如何设置SNMP联动功能"。

7.7.5. 关于可通过SNMP联动获取的MIB

可通过SNMP联动功能获取的MIB用NEC-CLUSTER-MANAGEMENT-MIB定义。

已用NEC-MANAGEMENT-MIB定义的各MIB对象如下所示。

clusterGeneral组

可获取集群联动信息的组。此处已定义的各MIB对象的含义如下。

No.

SNMP OID

描述

clusterName

表示集群名。

clusterComment

表示集群的注释。

clusterStatus

表示目前集群的状态。

以下是MIB的获取值与Cluster WebUI状态的对应。

MIB值      状态
----------------
normal    [正常]
caution   [警告]
Error     [异常]
unknown   \-

clusterServer组

可获取服务器联动信息的组。获取clusterServerTable时的索引按服务器优先顺序排列。此处已定义的各MIB对象的含义如下。

No.

SNMP OID

描述

clusterServerLocalServerIndex

表示目前接受SNMP信息获取要求的服务器索引(clusterServerIndex)。

clusterServerTable

表示服务器信息表。

clusterServerEntry

表示服务器的信息列表。

此列表的索引是clusterServerIndex。

clusterServerIndex

表示唯一一个能识别各服务器的索引。

clusterServerName

表示服务器名。

clusterServerComment

表示服务器的注释。

clusterServerStatus

表示目前的服务器状态。

以下是MIB的获取值与Cluster WebUI状态的对应。

MIB值     状态
--------------------
Online    [已启动]
Offline   [已停止]
unknown   [不明]

clusterServerPriority

表示服务器的优先顺序。

clusterServerProductName

表示服务器中已安装的EXPRESSCLUSTER产品名称。

clusterServerProductVersion

表示服务器中已安装的EXPRESSCLUSTER产品版本。

clusterServerProductInstallPath

表示服务器已安装的EXPRESSCLUSTER之安装路径。

clusterServerPlatformName

表示服务器的平台名称。

clusterGroup组

可获取组联动信息的组。此处已定义的各MIB对象的含义如下。

No.

SNMP OID

描述

clusterGroupTable

表示组信息表。

clusterGroupEntry

表示服务器的信息列表。

此列表的索引是clusterGroupIndex。

clusterGroupIndex

表示唯一一个能识别各组的索引。

clusterGroupName

表示组名。

clusterGroupComment

表示组的注释。

clusterGroupType

表示组的类型。

以下是MIB的获取值与组类型的对应。

MIB值          组的类型
---------------------------
failover       失效切换组
Cluster        管理组
virtualMachine 虚拟设备组

clusterGroupStatus

表示目前的组状态。

以下是MIB的获取值与Cluster WebUI状态的对应。

MIB值          状态
--------------------------
Online         [已启动]
onlineFailure  [启动失败]
offlineFailure [停止失败]
Offline        [已停止]
unknown        [不明]
onlinePending  [启动中]
offlinePending [停止中]

clusterGroupCurrentServerIndex

表示目前组正在启动的服务器索引

(clusterServerIndex)。

组停止时,返回值为"-1"。

7.8. 禁止自动启动非正常停止后的集群服务

7.8.1. 何谓禁止自动启动集群服务?

通过Cluster WebUI的集群关机/集群重启/集群停止,[clpstdn]命令,[clpcl -t -a]命令以外的方法停止EXPRESSCLUSTER处理时,下次启动OS时,将禁止EXPRESSCLUSTER服务自动启动的功能。

设置为禁止自动启动时,以OS关机命令或通过Cluster WebUI的集群关机/集群重启/集群停止,[clpstdn]命令,[clpcl -t -a]命令等停止EXPRESSCLUSTER时,下次启动服务器,EXPRESSCLUSTER服务不会自动启动。

执行集群关机或停止集群,停止处理EXPRESSCLUSTER服务导致发生异常及因OS重置或电源断开而未执行停止处理时,下次启动OS时,EXPRESSCLUSTER服务不会自动启动。

7.8.2. 显示/更改禁止自动启动

  • [关机后自动启动]
    不禁止自动启动。
  • [关机后不禁止自动启动]
    以集群关机或停止集群以外的方法停止服务器,或集群关机和停止集群非正常结束时,下次启动OS时,将禁止自动启动集群服务。

7.8.3. 禁止自动启动的条件

禁止自动启动的条件如下。

  • 以集群关机或停止集群以外的方法停止集群时

  • 由于OS的重置,Panic,电源断开等没有执行集群服务停止处理时

  • 由于对集群关机或集群停止处理的集群服务进行停止处理,导致组的停止处理失败时

  • 构成集群的一部分服务器做了集群单体停止时

7.8.4. 禁止自动启动的注意事项

  • 若OS启动时EXPRESSCLUSTER服务没有自动启动,请使用Cluster WebUI或[clpcl]命令启动EXPRESSCLUSTER服务。

  • 若OS启动时EXPRESSCLUSTER服务没有自动启动,将会输出Cluster WebUI上的Alert信息和syslog信息。

7.9. 服务器组间自动失效切换时的等待宽限时间

7.9.1. 何谓等待宽限时间?

服务器间的自动失效切换时,只在指定的时间内等待失效切换的开始。从检测到服务器宕机开始,到过了宽限时间后,开始执行失效切换。

7.9.2. 等待宽限时间条件

等待下述设定的组的失效切换

  • 选中[信息]标签页- [使用服务器组设置]

  • 在[启动服务器]标签页- [可启动的服务器组]中多个服务器组被指定

  • 选中[属性]标签页- [失效切换属性] - [自动失效切换] - [优先服务器组内的失效切换政策],且选中[在服务器组之间只有手动失效切换有效]

在以下场合,不进行宽限时间的等待。

  • 对同一个服务器组中的服务器进行失效切换时

  • 通过服务器宕机通知查出服务器宕机时

  • 选中[执行强制停止脚本],成功执行强制停止脚本时,以及当满足不执行强制停止脚本的条件时

  • 不选中[执行强制停止脚本],选中 [使用强制停止功能],并且成功执行强制停止时,以及满足不执行强制停止的条件时

  • NP 解决资源被设置时

7.9.3. 显示/变更等待宽限时间

在[服务器组间的失效切换时的宽限时间]中指定等待时间。

指定0时不进行等待。

7.9.4. 等待宽限时间的注意事项

在宽限时间等待中,对失效切换对象的组进行操作时,取消宽限时间等待,不执行失效切换。

在宽限时间等待中,在可以确认宕机的服务器的生存时,取消宽限时间等待,不执行失效切换。

在宽限时间等待中,失效切换目标服务器宕机时,失效切换开始可执行会比等待宽限时间长。

7.10. Witness 服务器服务

7.10.1. 何谓Witness 服务器服务?

从集群内的各服务器接收Witness 心跳,将各服务器的心跳接收状况作为应答发送的服务。从集群外的服务器中安装使用。

Witness服务器和2台集群服务器

图 7.9 Witness 服务器服务

7.10.2. Witness 服务器服务相关的注意事项

  • Witness 服务器服务在Node.js 环境中运行。因此在安装Witness服务器服务之前,需要先安装Node.js。

7.10.3. Witness 服务器服务经过运行确认的环境

已确认以下运行环境。

OS

执行环境

版本

Windows Server 2012 R2

Node.js 10.13.0

4.1.0

Windows Server 2019

Node.js 12.10.0

4.2.0

Red Hat Enterprise Linux 7.4

Node.js 8.12.0

4.1.0

Red Hat Enterprise Linux 8.0

Node.js 12.10.0

4.2.0

7.10.4. 安装Witness 服务器服务的方法

使用Node.js 环境的npm 命令进行安装。将Witness 服务器服务模块存放在任意的文件夹内,执行以下命令。

> npm install --global clpwitnessd-<version>.tgz

7.10.5. Witness 服务器的设置方法

要更改Witness服务器服务设置时,直接编辑设置文件。打开以下命令执行结果的第1行中显示的文件夹。

> npm list --global clpwitnessd

(执行结果示例)

C:\Users\Administrator\AppData\Roaming\npm
\`-- clpwitnessd@4.1.0

请将保存在打开的文件夹下的node_modules\clpwitnessd中的clpwitnessd.conf.js用记事本等文本编辑器进行编辑。

设置项目如下。

项目

默认值

说明

http.enable

True

指定是否执行HTTP服务器。
true: 执行
false: 不执行

http.port

80

指定HTTP服务器的备用端口号。

http.keepalive

10000

指定HTTP服务器的keepalive时间。
[毫秒]

https.enable

False

指定是否执行HTTPS服务器。
true: 执行
false: 不执行

https.port

443

指定HTTPS服务器的备用端口号。

https.keepalive

10000

指定HTTPS服务器的keepalive时间。
[毫秒]

https.ssl.key

server_key.pem

指定在HTTPS服务器中使用的秘钥文件。

https.ssl.crt

server_crt.pem

指定在HTTPS服务器中使用的证书文件。

log.directory

.

指定日志输出目标文件夹。

log.level

info

指定日志输出级别。
error: 只进行错误日志输出
warn: 输出error + 警告日志
info: 输出warn + 信息日志
debug:输出 info + 详细日志

log.size

1024 * 1024 * 512

指定日志的轮循大小。
[字节]

data.available

10000

指定集群服务器的通信状况数据的默认有效期限。
[毫秒]

7.10.6. Witness 服务器服务的执行方法

执行以下命令,在前台启动Witness服务器服务。Windows服务或者作为Linux后台的执行方法请参考下面"Witness 服务器服务的OS服务化"。

> clpwitnessd

7.10.7. Witness 服务器服务的OS服务化

想要在OS启动时开始Witness 服务器服务,需要作为OS服务进行注册。

Witness 服务器服务作为OS服务的注册方法(Windows 服务控制管理器,Linux systemd 时) 如示例所示。此外,OS服务的注册方法因环境不同而不同,因此请根据使用的环境参考以下信息进行设置。

Windows 服务控制管理器的注册

以下是使用npm packagewinser 进行注册的步骤。

  1. 使用npm 命令,安装winser。执行以下命令, winser package从npm存储库中下载后,进行安装。

    > npm install --global winser

  2. 在任意的场所创建执行服务用的文件夹。在默认设置中,该文件夹用于保存日志文件,SSL秘钥文件,SSL证书文件。

  3. 在用于执行服务的文件夹下,创建一个使用winser的用于服务注册用的package.json 文件。路径的分隔符中请输入两个 \ 。此外,虽然会因字符数的原因被换行,但是 "start" 中指定的路径实际上是1行。

    {
        "name": "clpwitnessd-service",
        "version": "1.0.0",
        "license": "UNLICENSED",
        "private": true,
        "scripts": {
            "start": "C:\\Users\\Administrator\\AppData\\Roaming\\npm\\clpwitnessd.cmd"
        }
    }
    
  4. 执行winser命令,注册和启动服务。

    > winser -i -a

  5. 从[控制面板]-[管理工具]-[服务]中确认在pacage.json的"name"里指定名称的服务(ex. clpwitnessd-service)已被注册。

Linux systemd 的注册

创建systemd 的Unit文件,进行注册的步骤如下。

  1. 在任意的场所创建执行服务用的目录。在默认设置中,该文件夹用于保存日志文件,SSL秘钥文件,SSL证书文件。
    (ex. /opt/clpwitnessd)
  2. /etc/systemd/system 中创建 Witness服务器服务的 Unit 文件。
    (ex. clpwitnessd.service)
    [Unit]
    Description=EXPRESSCLUSTER Witness Server
    After=syslog.target network.target
    
    [Service]
    Type=simple
    ExecStart=/usr/bin/clpwitnessd
    WorkingDirectory=/opt/clpwitnessd
    KillMode=process
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    
  3. 执行systemctl 命令,注册,启动服务。

    # systemctl enable clpwitnessd
    # systemctl start clpwitnessd