为了避免单一故障点,非常有必要对高可用性群集配置冗余通讯路径。对于 DLM 通讯也是如此。如果出于任何原因无法使用网络绑定(聚合控制协议,LACP),则我们强烈建议在 Corosync 中定义冗余通讯通道(另一个环)。有关详细信息,请参见过程 4.3 “定义冗余通讯通道”。
然后,DLM 将根据 /etc/corosync/corosync.conf
中的配置确定是要使用 TCP 还是 SCTP 协议来进行通讯:
如果 none
(表示禁用冗余环配置),DLM 会自动使用 TCP。但是,如果未定义冗余通讯通道,在 TCP 链路断开的情况下,DLM 通讯将会失败。
如果 passive
(典型的设置),并且在 /etc/corosync/corosync.conf
中正确配置了另一个通讯环,DLM 将自动使用 SCTP。在这种情况下,DLM 讯息交换会获得 SCTP 提供的冗余功能。
DLM 使用 Pacemaker 提供的并在用户空间中运行的群集成员资格服务。因此,DLM 需要配置为群集中每个节点上都存在的克隆资源。
由于 OCFS2、GFS2、Cluster MD 和 cLVM 全部都使用 DLM,因此为 DLM 配置一个资源便已足够。由于 DLM 资源在群集中的所有节点上运行,因此它配置为克隆资源。
如果设置既包括 OCFS2 也包括 cLVM,则为 OCFS2 和 cLVM 配置一个 DLM 资源就足够了。
这种配置由包含多个原始资源的基础组和一个基础克隆构成。之后,基础组和基础克隆便可用于各种方案(例如,用于 OCFS2 和 cLVM)。您只需视需要使用相应的基元资源扩展基本组。由于基本组具有内部共置和顺序约束,您无需单独指定多个组、克隆及其依赖项,方便了总体设置。
在群集中的一个节点上执行以下步骤:
启动壳层,并以 root
用户身份或同等身份登录。
运行 crm
configure
。
输入以下命令以创建 DLM 的基元资源:
crm(live)configure#
primitive
dlm ocf:pacemaker:controld \ op monitor interval="60" timeout="60"
为 DLM 资源和其他储存相关的资源创建一个基础组:
crm(live)configure#
group
g-storage dlm
克隆 g-storage
组,使它在所有节点上运行:
crm(live)configure#
clone
cl-storage g-storage \ meta interleave=true target-role=Started
使用 show
复查更改。
如果全部都正确,请使用 commit
提交更改,并使用 exit
退出 crm 当前配置。
未启用 STONITH 的群集不受支持。如果您出于测试或查错目的将全局群集选项 stonith-enabled
设置为 false
,则 DLM 资源以及依赖于它的所有服务(例如 cLVM、GFS2 和 OCFS2)将无法启动。