Red Hat Training

A Red Hat training course is available for RHEL 8

13.4. 为不由 Pacemaker 管理的资源依赖项配置启动顺序

集群可能包含不是由集群管理的依赖项的资源。在这种情况下,您必须确保在 Pacemaker 停止后启动这些依赖项,然后才能停止 Pacemaker。

您可以使用 systemd resource-agents-deps 目标将您的启动顺序配置为在这种情况下。您可以为此目标创建一个 systemd drop-in 单元,Pacemaker 会根据这个目标自行排序。

例如,如果集群包含依赖于集群管理的外部服务 foo 的资源,请执行以下步骤。

  1. 创建包含以下内容的 drop-in 单元 /etc/systemd/system/resource-agents-deps.target.d/foo.conf

    [Unit]
    Requires=foo.service
    After=foo.service
  2. 运行 systemctl daemon-reload 命令。

用这种方法指定的集群依赖项可以是服务以外的其它依赖项。例如,您可能依赖于在 /srv 中挂载文件系统,在这种情况下,您将执行以下步骤:

  1. 确保 /srv/etc/fstab 文件中列出。当重新加载系统管理器的配置时,系统管理器将在启动时自动转换为 systemd 文件 srv.mount。如需更多信息,请参阅 systemd.mount(5)和 systemd-fstab-generator(8)man page。
  2. 要确保 Pacemaker 在挂载磁盘后启动,请创建包含以下内容的 drop-in 单元 /etc/systemd/system/resource-agents-deps.target.d/srv.conf

    [Unit]
    Requires=srv.mount
    After=srv.mount
  3. 运行 systemctl daemon-reload 命令。

如果 Pacemaker 集群使用的 LVM 卷组包含位于远程块存储上的一个或多个物理卷,如 iSCSI 目标,您可以为目标配置一个 systemd resource-agents-deps 目标和一个 systemd 置入单元,以确保服务在 Pacemaker 启动之前启动。

以下流程将 blk-availability.service 配置为依赖项。blk-availability.service 服务是一个包装器,包含了 iscsi.service 和其他服务。如果您的部署需要它,则您可以将 iscsi.service (仅适用于 iSCSI)或 remote-fs.target 配置为依赖项而不是 blk-availability

  1. 创建包含以下内容的置入单元 /etc/systemd/system/resource-agents-deps.target.d/blk-availability.conf

    [Unit]
    Requires=blk-availability.service
    After=blk-availability.service
  2. 运行 systemctl daemon-reload 命令。