注册
DMDSC集群系统服务无法随操作系统自动启动问题排查处理
专栏/LeeWen的铺子/ 文章详情 /

DMDSC集群系统服务无法随操作系统自动启动问题排查处理

LeeWen 2022/12/15 1593 1 0
摘要 DMDSC集群系统服务无法随操作系统自动启动问题排查处理

环境信息

1、服务器相关信息:CPU(ARM) 、网卡(万兆网卡,业务&存储共用)、无HBA卡
2、存储设备相关信息:双控、10K SAS盘、IP-SAN、块存储
3、软件相关信息:
操作系统:KylinV10 SP1(已安装自带镜像中的open-iscsi、multipath等所需软件包)
数据库:DM8

问题描述

在完成DMDSC集群部署搭建后,重启系统进行集群相关系统服务开机自启验证,发现DSC集群相关服务并未正常启动。

本次遇到的该问题原因为由于DmCSS系统服务启动时,multipathd服务启动后对存储盘的映射还未完成,导致DmCSS服务无法访问到dcr磁盘而启动失败。

问题排查过程

现场日志等信息无法带出,该问题在本地测试环境进行模拟重现记录。

1、检查集群、数据库相关日志

20221215165600

(1)$DM_HOME/log/dmsvc_sh.log
节点1:

20221215164632

节点2:

20221215164731
通过两个节点的该日志可以看到相关服务启动开始结束的时间,其中DmCSS服务均启动失败(DmASM服务依赖于DmCSS服务,所以ASM服务失败)。
(2)$DM_HOME/log/dm_unknown_202212.log
节点1:
20221215165734

节点2:
20221215165816

结合该日志可以发现是由于找不到asm dcr磁盘,导致CSS服务无法正常启动。

2、检查asm磁盘是否有正常绑定

(1)首先检查存储是否有挂载
20221215170504

20221215170526

(2)检查udev rules文件
20221215170759

20221215170737

注:生产环境采用的是ENV{DM_UUID}进行绑定,不影响该问题排查重现模拟测试。

(3)查看asm绑定情况
20221215171243

20221215171222

从上述结果来看,存储开机挂载以及asm磁盘绑定均正常。需要检查系统日志查看服务启动的相关信息。

3、检查系统日志

(1)/var/log/messages
节点1:
20221215172211
20221215172326
从系统日志可以发现CSS服务启动和失败的时间与dmsvc_sh.log中记录匹配,另外,从系统日志中可以发现multipathd服务启动增加映射完成的时间要比DMCSS服务启动时间慢的。
(2)单独查看multipathd服务日志
可以使用journalctl -u multipathd.service或者 systemctl status multipathd.service命令查看该服务的日志。
20221215174847
节点2的日志信息也是一样,此处不再贴图。

4、问题导致的原因

根据上面的日志分析,可以判断出是由于DmCSS系统服务启动时,multipathd服务启动后对存储盘的映射还未完成,导致DmCSS服务无法访问到dcr磁盘启动失败。
针对的处理办法可以设置DmCSS服务在multipathd服务启动后完成存储映射再启动。

处理办法

本次采用的处理办法是修改集群所有节点的DmCSS系统服务配置文件DmCSSServiceDSC.service,在start前等待10s(等待时间根据实际情况定)。修改后,重启测试正常。
具体配置如下:

[root@dmdsc01 ~]# vim /usr/lib/systemd/system/DmCSSServiceDSC.service [Unit] Description=DM Cluster Synchronization Services Service(DmCSSServiceDSC). After=network.target remote-fs.target [Service] Type=forking PIDFile=/opt/dmdsc2/dmdbms/bin/pids/DmCSSServiceDSC.pid ExecStartPre=/usr/bin/sleep 10 ##添加startpre,sleep 10s ExecStart=/opt/dmdsc2/dmdbms/bin/DmCSSServiceDSC start ExecStop=/opt/dmdsc2/dmdbms/bin/DmCSSServiceDSC stop PrivateTmp=true User=dmdba TasksMax=infinity LimitCORE=infinity LimitNOFILE=100000 LimitNPROC=100000 [Install] WantedBy=multi-user.target [root@dmdsc01 ~]# systemctl daemon-reload [root@dmdsc01 ~]# reboot

测试过在After=后面添加multipathd.service,但是未能达到效果。

如果有遇到同类型问题的老师,可以分享下其他的解决办法。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服