2.11. 检查群集配置

要确保群集软件已被正确配置,请使用位于 /usr/sbin 目录中的以下工具:

以下各节更详细地解释了群集工具。

2.11.1. 测试共享分区

共享分区所指的物理设备在所有成员中必须相同。启用带有 -v 选项的 /usr/sbin/shutil 工具来测试共享分区,并校验它们是否可被存取。

如果命令成功,在所有成员上运行 /usr/sbin/shutil -p /cluster/header 命令来显示共享分区的头数据的摘要。如果其输出在成员上不尽相同,共享分区在所有成员上指向的就不是同一设备。请检查来确定这个原始设备是否存在,它是否在 /etc/sysconfig/rawdevices 文件中被正确指定了。详情请参阅第 1.4.4.3 节

以下的例子显示了使用 /sbin/shutil -p /cluster/header 命令来显示共享分区在群集成员 clu1.example.comclu2.example.com 上所指的是同一个物理设备:

/cluster/header is 140 bytes long
SharedStateHeader {
        ss_magic = 0x39119fcd
        ss_timestamp = 0x000000003ecbc215 (14:14:45 May 21 2003)
        ss_updateHost = clu1.example.com

当在所有群集成员上运行 /sbin/shutil -p /cluster/header 命令时,其输出中的所有字段都应该相同。如果其输出在所有成员上尽相同,请执行以下任务:

执行了这些任务后,重新运行带有 -p 选项的 /usr/sbin/shutil 工具。

2.11.2. 测试电源开关

如果群集硬件配置中部署了网络连接的或串行连接的电源开关,你需要安装群集软件并启用 clufence 命令来测试电源开关。在每个成员上启用这个命令来保证它能够远程地重开另一个成员的电源。如果测试成功,那么群集就能够被启动。

clufence 命令只有在群集软件不在运行时才能够正确地测试电源开关。这是因为,对于串行连接的开关来说,一时内只有一个程序能够使用连接电源开关和成员的串口。当 clufence 命令被启用,它会检查群集软件的状态。如果群集软件正在运行,该命令就会退出,并显示一则要求你停止群集软件的消息。

clufence 命令的选项如下:

在测试电源开关时,第一步是确保每个群集成员都能够使用所连接的电源开关来成功地通信。以下 clufence 命令的输出显示了群集成员能够使用它的电源开关来通信:

[27734] info: STONITH: rps10 at /dev/ttyS0, port 0 controls clumember1.example.com
[27734] info: STONITH: rps10 at /dev/ttyS0, port 1 controls clumember2.example.com

clufence 的输出中出错,请检查以下项目:

成功地校验了和开关的通信后,请试图重开另一个群集成员的电源。在这么做之前,我们推荐你首先确定另一个成员并没有在积极地执行任何重要功能(如给活跃客户提供群集服务)。运行 clufence -f clumember2.example.com 命令会在成功关闭和 fencing 操作(意味着系统在 unfence 前不从开关处接受电源)时显示以下输出:

[7397] info: STONITH: rps10 at /dev/ttyS0, port 0 controls clumember1.example.com
[7397] info: STONITH: rps10 at /dev/ttyS0, port 1 controls clumember2.example.com
[7397] notice: STONITH: clumember2.example.com has been fenced!

2.11.3. 显示群集软件的版本

请确保群集中的所有成员都运行同一版本的红帽群集管理器软件。

要显示群集配置工具群集状态工具的版本,使用以下方法之一: