9.2.2. 在裸机部署中生成可读的核心转储文件
如果您在裸机上使用 Red Hat Ceph Storage,请按照以下步骤生成核心转储文件。
流程
为 Ceph 生成核心转储文件。
通过在
/etc/systemd/system.conf文件中添加以下参数,为核心转储文件设置正确的ulimits:DefaultLimitCORE=infinity注释掉 Ceph 守护进程服务文件中的
PrivateTmp=true参数,该参数默认位于/lib/systemd/system/CLUSTER_NAME-DAEMON@.service:[root@mon ~]# PrivateTmp=true将
suid_dumpable标志设置为2以允许 Ceph 守护进程生成转储核心文件:[root@mon ~]# sysctl fs.suid_dumpable=2调整内核转储文件位置:
[root@mon ~]# sysctl kernel.core_pattern=/tmp/core重新载入
systemd服务以使更改生效:[root@mon ~]# systemctl daemon-reload重启 Ceph 守护进程使更改生效:
[root@mon ~]# systemctl restart ceph-DAEMON@ID指定守护进程类型(
osd或mon)及其 ID(OSD 的数字,或 monitor 的短主机名),例如:[root@mon ~]# systemctl restart ceph-osd@1
- 重现失败,例如尝试再次启动 守护进程。
使用 GNU Debugger(GDB)从应用程序核心转储文件中生成可读回追踪:
gdb /usr/bin/ceph-DAEMON /tmp/core.PID指定失败进程的守护进程类型和 PID,例如:
$ gdb /usr/bin/ceph-osd /tmp/core.123456在 GDB 命令提示中,输入
set pag off和set log on命令禁用分页并启用对文件的日志记录:(gdb) set pag off (gdb) set log on输入
thr a a bt full,将backtrace命令应用到进程的所有线程:(gdb) thr a a bt full在生成回溯追踪后,输入
set log off:(gdb) set log off-
将日志文件
gdb.txt传输到您访问红帽客户门户网站的系统,并将其附加到支持问题单中。