13.4. 为不由 Pacemaker 管理的资源依赖项配置启动顺序
集群可能包含不是由集群管理的依赖项的资源。在这种情况下,您必须确保在 Pacemaker 停止后启动这些依赖项,然后才能停止 Pacemaker。
您可以使用 systemd resource-agents-deps 目标将您的启动顺序配置为在这种情况下。您可以为此目标创建一个 systemd drop-in 单元,Pacemaker 会根据这个目标自行排序。
例如,如果集群包含依赖于集群管理的外部服务 foo 的资源,请执行以下步骤。
创建包含以下内容的 drop-in 单元
/etc/systemd/system/resource-agents-deps.target.d/foo.conf:[Unit] Requires=foo.service After=foo.service
[Unit] Requires=foo.service After=foo.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
运行
systemctl daemon-reload命令。
用这种方法指定的集群依赖项可以是服务以外的其它依赖项。例如,您可能依赖于在 /srv 中挂载文件系统,在这种情况下,您将执行以下步骤:
-
确保
/srv在/etc/fstab文件中列出。当重新加载系统管理器的配置时,系统管理器将在启动时自动转换为systemd文件srv.mount。如需更多信息,请参阅systemd.mount(5)和systemd-fstab-generator(8)man page。 要确保 Pacemaker 在挂载磁盘后启动,请创建包含以下内容的 drop-in 单元
/etc/systemd/system/resource-agents-deps.target.d/srv.conf:[Unit] Requires=srv.mount After=srv.mount
[Unit] Requires=srv.mount After=srv.mountCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
运行
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。
创建包含以下内容的置入单元
/etc/systemd/system/resource-agents-deps.target.d/blk-availability.conf:[Unit] Requires=blk-availability.service After=blk-availability.service
[Unit] Requires=blk-availability.service After=blk-availability.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
运行
systemctl daemon-reload命令。