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
-
运行
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
-
运行
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
-
运行
systemctl daemon-reload
命令。