13.4. 为不由 Pacemaker 管理的资源依赖项配置启动顺序
集群可能包含不是由集群管理的依赖项的资源。在这种情况下,您必须确保在 Pacemaker 停止后启动这些依赖项,然后才能停止 Pacemaker。
您可以通过 systemd
resource-agents-deps
target 配置您的启动顺序来应对这种情况。您可以为此目标创建一个 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
命令。