1、服务器相关信息:CPU(ARM) 、网卡(万兆网卡,业务&存储共用)、无HBA卡
2、存储设备相关信息:双控、10K SAS盘、IP-SAN、块存储
3、软件相关信息:
操作系统:KylinV10 SP1(已安装自带镜像中的open-iscsi、multipath等所需软件包)
数据库:DM8
在完成DMDSC集群部署搭建后,重启系统进行集群相关系统服务开机自启验证,发现DSC集群相关服务并未正常启动。
本次遇到的该问题原因为由于DmCSS系统服务启动时,multipathd服务启动后对存储盘的映射还未完成,导致DmCSS服务无法访问到dcr磁盘而启动失败。
现场日志等信息无法带出,该问题在本地测试环境进行模拟重现记录。
(1)$DM_HOME/log/dmsvc_sh.log
节点1:
节点2:
通过两个节点的该日志可以看到相关服务启动开始结束的时间,其中DmCSS服务均启动失败(DmASM服务依赖于DmCSS服务,所以ASM服务失败)。
(2)$DM_HOME/log/dm_unknown_202212.log
节点1:
节点2:
结合该日志可以发现是由于找不到asm dcr磁盘,导致CSS服务无法正常启动。
(1)首先检查存储是否有挂载
(2)检查udev rules文件
注:生产环境采用的是ENV{DM_UUID}进行绑定,不影响该问题排查重现模拟测试。
(3)查看asm绑定情况
从上述结果来看,存储开机挂载以及asm磁盘绑定均正常。需要检查系统日志查看服务启动的相关信息。
(1)/var/log/messages
节点1:
从系统日志可以发现CSS服务启动和失败的时间与dmsvc_sh.log中记录匹配,另外,从系统日志中可以发现multipathd服务启动增加映射完成的时间要比DMCSS服务启动时间慢的。
(2)单独查看multipathd服务日志
可以使用journalctl -u multipathd.service
或者 systemctl status multipathd.service
命令查看该服务的日志。
节点2的日志信息也是一样,此处不再贴图。
根据上面的日志分析,可以判断出是由于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
,但是未能达到效果。
如果有遇到同类型问题的老师,可以分享下其他的解决办法。
文章
阅读量
获赞