在天翼云容灾CDR测试过程中,需设置client/ server/mds三个节点的coredump配置,步骤如下:
1.关闭abrt-ccpp.service
systemctl stop abrt-ccpp.service
systemctl disable abrt-ccpp.service
systemctl stop apport.service
systemctl disable apport.service
2.编辑配置文件,设置ulimit
vi /etc/profile
末尾增加:ulimit -c unlimited
然后执行命令生效:source /etc/profile
3.修改对应cdr服务的service 文件,添加LimitCORE=infinity,(systemctl status cdr-cli,cbr-sts,cbr-mds查询service文件路径)
4.设置coredump文件的存放位置:
vi /etc/sysctl.conf
kernel.core_pattern=/var/crash/core.%e.%p.%s.%E
执行命令生效:sysctl -p /etc/sysctl.conf
5.重启服务器,使所有修改生效(一定要重启,否则不能产生coredump)
6. 测试cdr服务的coredump配置是否生效:
先创建/var/crash目录: mkdir /var/crash
以server节点的cbr-sts服务举例,在server节点杀server进程:kill -s SIGSEGV $pid ,会在/var/crash下产生coredump
7.打开coredump方式
gdb /opt/cstor/cbr/bin/xxx /var/crash/core-xxx
再执行bt查看堆栈信息