跳到内容跳到页面导航:上一页 [access key p]/下一页 [access key n]
documentation.suse.com / SUSE Linux Enterprise High Availability Extension 文档 / 管理指南 / 储存和数据复制 / 分布式锁管理器 (DLM)
适用范围 SUSE Linux Enterprise High Availability Extension 15 SP2

17 分布式锁管理器 (DLM)

内核中的分布式锁管理器 (DLM) 是 OCFS2、GFS2、群集 MD 和群集 LVM (lvmlockd) 用于在每个相关层提供主动-主动储存的基础组件。

17.1 用于 DLM 通讯的协议

为了避免单一故障点,非常有必要对高可用性群集配置冗余通讯路径。对于 DLM 通讯也是如此。如果出于任何原因无法使用网络绑定(聚合控制协议,LACP),则我们强烈建议在 Corosync 中定义冗余通讯通道(另一个环)。有关详细信息,请参见过程 4.3 “定义冗余通讯通道”

然后,DLM 将根据 /etc/corosync/corosync.conf 中的配置确定是要使用 TCP 还是 SCTP 协议来进行通讯:

  • 如果 rrp_mode 设置为 none(表示禁用冗余环配置),DLM 会自动使用 TCP。但是,如果未定义冗余通讯通道,在 TCP 链路断开的情况下,DLM 通讯将会失败。

  • 如果 rrp_mode 设置为 passive(典型的设置),并且在 /etc/corosync/corosync.conf 中正确配置了另一个通讯环,DLM 将自动使用 SCTP。在这种情况下,DLM 讯息交换会获得 SCTP 提供的冗余功能。

17.2 配置 DLM 群集资源

DLM 使用 Pacemaker 提供的并在用户空间中运行的群集成员资格服务。因此,DLM 需要配置为群集中每个节点上都存在的克隆资源。

注意
注意:多种解决方案的 DLM 资源

由于 OCFS2、GFS2、群集 MD 和群集 LVM (lvmlockd) 全部使用 DLM,因此为 DLM 配置一个资源便已足够。由于 DLM 资源在群集中的所有节点上运行,因此它配置为克隆资源。

如果您的设置包含 OCFS2 和群集 LVM,则只需为 OCFS2 和群集 LVM 配置一个 DLM 资源就够了。

过程 17.1︰ 配置 DLM 的基础组

这种配置由包含多个原始资源的基础组和一个基础克隆构成。之后,基本组和基本克隆便可用于各种方案(例如,用于 OCFS2 和群集 LVM)。您只需视需要使用相应的基元资源扩展基本组。由于基本组具有内部共置和顺序约束,您无需单独指定多个组、克隆及其依赖项,方便了总体设置。

在群集中的一个节点上执行以下步骤:

  1. 启动壳层,并以 root 用户身份或同等身份登录。

  2. 运行 crm configure

  3. 输入以下命令以创建 DLM 的基元资源:

    crm(live)configure# primitive dlm ocf:pacemaker:controld \
      op monitor interval="60" timeout="60"
  4. 为 DLM 资源和其他储存相关的资源创建一个基础组:

    crm(live)configure# group g-storage dlm
  5. 克隆 g-storage 组,使它在所有节点上运行:

    crm(live)configure#  clone cl-storage g-storage \
      meta interleave=true target-role=Started
  6. 使用 show 复查更改。

  7. 如果全部都正确,请使用 commit 提交更改,并使用 exit 退出 crm 当前配置。

注意
注意:禁用 STONITH 时出错

未启用 STONITH 的群集不受支持。如果您出于测试或查错目的将全局群集选项 stonith-enabled 设置为 false,则 DLM 资源以及依赖于它的所有服务(例如群集 LVM、GFS2 和 OCFS2)将无法启动。