单独配置ceph osd服务的coredump

前言

core dump文件作用这里不多介绍,主要为了osd进程有bug导致进程crash了,然后抓取core dump后方便定位bug。

配置

一般可以在/etc/profile中用ulimit命令来打开系统所有用户的core dump:

$ cat /etc/profile
...
echo "/var/crash/core.%e.%p" > /proc/sys/kernel/core_pattern
ulimit -S -c unlimited > /dev/null 2>&1

但是上面的方式不好的地方是它打开了系统所有用户对应进程的core dump,再就是上面的方式对systemd管理的服务没有作用。

systemd管理的服务可以单独设置coredump,比如配置ceph-osd服务的,步骤如下:

1.echo "/var/crash/core.%e.%p" > /proc/sys/kernel/core_pattern
2.修改/usr/lib/systemd/system/[email protected]文件,在[Service]下增加LimitCORE=infinity
3.systemctl daemon-reload
4.systemctl restart ceph-osd@1
5.kill -6 {osd1的pid} #模拟osd.1进程crash

然后就可以在/var/crash目录下看到生成的core文件了。

你可能感兴趣的:(单独配置ceph osd服务的coredump)