7.6. 配置冗余环协议
从红帽企业版 Linux 6.4 开始,红帽高可用附加组件支持冗余环协议配置。
当将系统配置为使用冗余环协议时,必须考虑以下问题:
- 不要指定两个以上的环。
- 每个环必须使用相同的协议;不要混合 IPv4 和 IPv6。
- 如果有必要,您可以手动为第二个环指定多播地址。如果您为第二个环指定多播地址,要么使用备用多播地址,要么备用端口必须与第一个环的多播地址不同。如果您没有指定备用的多播地址,则系统将自动为第二个环使用不同的多播地址。如果您指定备用端口,则第一个环的端口号必须与第一个环的端口号有两个以上的差别,因为系统本身使用端口即端口-1 执行操作。
- 不要在同一子网中使用不同的接口。
- 一般最好在两个不同的 NIC 和两个不同的切换中配置冗余环协议,以防一个 NIC 或者切换失败。
- 不要使用
ifdown
命令或者service network stop
模仿网络失败。这会破坏整个集群并需要您重启集群中的所有节点方可恢复。 - 不要使用
NetworkManager
,因为它会在拔掉电缆时执行ifdown
命令。 - 当一个 NIC 失败时,会将整个环标记为失败。
- 恢复失败的环不需要人工介入。要恢复冗余环则需要修复造成失败的最初原因,比如失败的 NIC 或者切换。
要为冗余环协议指定辅网络接口,您可以在
cluster.conf
配置文件的 clusternode
部分添加 altname
组件。指定 altname
后,您必须指定 name
属性为该节点指出辅主机名或者 IP 地址。
以下示例指定
clusternet-node1-eth2
作为集群节点 clusternet-node1-eth1
的备用名称。
<cluster name="mycluster" config_version="3" > <logging debug="on"/> <clusternodes> <clusternode name="clusternet-node1-eth1" votes="1" nodeid="1"> <fence> <method name="single"> <device name="xvm" domain="clusternet-node1"/> </method> </fence> <altname name="clusternet-node1-eth2"/> </clusternode>
clusternode
中的 altname
部分并不需要固定的位置。它可以在 fence
部分前面,也可以在它后面。不要为一个集群节点指定一个以上 altname
,否则系统将无法启动。
另外,您可以为第二个环手动指定多播地址、端口以及 TTL,方法是在
cluster.conf
配置文件的 cman
部分添加一个 altmulticast
组件。altmulticast
组件可以是 addr
、port
和 ttl
参数。
以下示例显示集群配置文件的
cman
部分,该部分为第二个环设置多播地址、端口和 TTL。
<cman> <multicast addr="239.192.99.73" port="666" ttl="2"/> <altmulticast addr="239.192.99.88" port="888" ttl="3"/> </cman>