9.2.2. 在裸机部署中生成可读的核心转储文件


如果您在裸机上使用 Red Hat Ceph Storage,请按照以下步骤生成核心转储文件。

流程

  1. 为 Ceph 生成核心转储文件。

    1. 通过在 /etc/systemd/system.conf 文件中添加以下参数,为核心转储文件设置正确的 ulimits

      DefaultLimitCORE=infinity
    2. 注释掉 Ceph 守护进程服务文件中的 PrivateTmp=true 参数,该参数默认位于 /lib/systemd/system/CLUSTER_NAME-DAEMON@.service:

      [root@mon ~]# PrivateTmp=true
    3. suid_dumpable 标志设置为 2 以允许 Ceph 守护进程生成转储核心文件:

      [root@mon ~]# sysctl fs.suid_dumpable=2
    4. 调整内核转储文件位置:

      [root@mon ~]# sysctl kernel.core_pattern=/tmp/core
    5. 重新载入 systemd 服务以使更改生效:

      [root@mon ~]# systemctl daemon-reload
    6. 重启 Ceph 守护进程使更改生效:

      [root@mon ~]# systemctl restart ceph-DAEMON@ID

      指定守护进程类型(osdmon)及其 ID(OSD 的数字,或 monitor 的短主机名),例如:

      [root@mon ~]# systemctl restart ceph-osd@1
  2. 重现失败,例如尝试再次启动 守护进程。
  3. 使用 GNU Debugger(GDB)从应用程序核心转储文件中生成可读回追踪:

    gdb /usr/bin/ceph-DAEMON /tmp/core.PID

    指定失败进程的守护进程类型和 PID,例如:

    $ gdb /usr/bin/ceph-osd /tmp/core.123456

    在 GDB 命令提示中,输入 set pag offset 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
  4. 将日志文件 gdb.txt 传输到您访问红帽客户门户网站的系统,并将其附加到支持问题单中。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部