9.4. 集群守护进程崩溃
RGManager 有一个监控进程可在主
rgmanager
进程意外失败时重启该主机。这就可以 fence 该集群节点,且 rgmanager
可在另一台主机中恢复该服务。监控守护进程探测到主 rgmanager
崩溃时,它就会重启该集群节点,同时活动的集群节点将探测到该集群节点已离开,并将其从该集群中逐出。
较小数字的进程 ID(PID)是 watchdog 进程,可在其子进程(有较大 PID 数字的进程)崩溃时起作用。使用
gcore
捕获 PID 较大进程的 core 可帮助对崩溃的守护进程进行故障排除。
安装所需软件包捕获和查看 core,并保证
rgmanager
和 rgmanager-debuginfo
是同一版本,否则捕获的应用程序 core 可能不可用。
yum -y --enablerepo=rhel-debuginfo install gdb rgmanager-debuginfo
$ yum -y --enablerepo=rhel-debuginfo install gdb rgmanager-debuginfo
9.4.1. 在运行时捕获 rgmanager Core 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
它启动时有两个
rgmanager
进程。您必须捕获有较高 PID 的那个 rgmanager
进程。
以下是执行
ps
命令时显示两个 rgmanager
进程的输出结果示例。
在下面的示例中,使用
pidof
程序自动确定 pid 数字较高的进程,即生成 core 的那个进程的 pid。该命令为进程 22483,就是那个较高的 pid 数字,捕获程序 core。
gcore -o /tmp/rgmanager-$(date '+%F_%s').core $(pidof -s rgmanager)
$ gcore -o /tmp/rgmanager-$(date '+%F_%s').core $(pidof -s rgmanager)