如果群集硬件配置中使用了电源开关,在每个群集系统上运行 clufence 工具来确保它能够远程地重开其它群集成员的电源。
如果命令成功,在所有群集成员上运行 shutil -p 命令来显示仲裁分区的头数据结构的摘要。如果各成员上的输出不同,仲裁分区在各个成员上所指向的就不是同一个设备。请检查一下来确定原始设备的确存在,并且在 /etc/sysconfig/rawdevices 文件中被正确指定了。详情请参阅第 1.4.4.3 节。
如果群集硬件配置中使用了网络连接的或串行连接的电源开关,安装群集软件并引发 clufence 命令来测试电源开关。在每个群集成员上引发该命令以便确保它能够重开其它群集成员上的电源。如果测试成功,群集就可以被启动。
clufence 命令能够准确地测试电源开关。clufence 命令的格式如下:
usage: clufence [-d] [-[furs] <member>] -d Turn on debugging -f <member> Fence (power off) <member> -u <member> Unfence (power on) <member> -r <member> Reboot (power cycle) <member> -s <member> Check status of all switches controlling <member> |
在测试电源开关的时候,第一步是确保每个群集成员都能够成功地和所连接的电源开关通信。以下 clufence 命令输出的例子显示了群集成员能够和它的电源开关通信:
[23750] info: STONITH: baytech at 192.168.1.31, port 1 controls clu2 [23750] info: STONITH: baytech at 192.168.1.31, port 2 controls clu3 [23750] info: STONITH: wti_nps at 192.168.1.29, port clu4 controls clu4 [23750] info: STONITH: wti_nps at 192.168.1.29, port clu5 controls clu5 |
输出中的错误可以表明以下类型的问题:
对于串行连接的电源开关:
校验用于远程电源开关连接串口(如 /dev/ttyS0)的设备特殊文件在群集数据库中的确被正确指定,如通过群集配置工具所建立。若必要,使用 minicom 之类的终端模拟器来测试群集成员是否能够使用这个串口。
确保非群集程序(如 getty 程序)不在使用用于远程电源开关连接的串口。你可以使用 lsof 命令来执行这项任务。
检查到远程电源开关的电缆连接是否正确。确定所用的是正确的电缆(例如,RPS-10 电源开关需要一个零调制解调器电缆),并且所有连接都被安全地拧紧了。
校验电源开关上的物理循环开关和低压开关的确被正确设置。
对于基于网络的电源开关:
校验基于网络的开关的网络连接的确能够正常运行。多数开关都有一个标明连接性的链接灯。
你应该能够使用 ping 命令来联系网络开关。若不能,这个开关的网络参数可能就没有被正确配置。
校验群集配置数据库(通过运行群集配置工具来建立)中的口令和登录名称(根据开关类型而定)的确被正确指定了。一种较有效的诊断方法是,使用在群集配置中指定的相同参数来 telnet 网络开关。
成功地校验了和开关的通信后,试图重开其它成员的电源。在这么做之前,推荐你校验其它成员没有在执行任何重要的功能(如为活跃客户提供群集服务)。执行以下命令:
clufence -r clu3 |
以下描述了成功的重开电源操作:
Successfully power cycled host clu3. |