故障现象
某运营商TECS OpenStack资源池,在当前告警中显示“时钟同步失败”,以10分钟整数倍为间隔上报“时间同步失败”告警,持续时间30秒-1分钟不等。
查看告警详情为同一台控制节点虚拟机,如图1所示。

故障分析
分析产生该告警的原因:
时间同步失败告警可能是由于外部时钟异常导致,需要检查。
相关告警上报周期性比较强,可能是由某些定时任务触发。
具体分析过程如下:
使用chronyc sources -v命令,检查现场时钟源,未发现异常,如下图所示。

寻找一台正常的控制节点虚机,使用chronyc sources -v命令,检查对比,未发现异常,如下图所示。

执行ping命令,检测时钟源,未发现丢包。
外部时钟正常,时钟同步正常,结合告警出现周期性比较强、告警持续时间较短的特点,分析可能是因为定时任务触发了控制节点虚机的时间修改。
初步推测是宿主机开启了qga服务,控制节点虚机会每10分钟向宿主机同步一次时间。
执行virsh qemu-agent-command --pretty controllervm '{"execute":"guest-get -reverse-command-status"}'|grep minute -A 1 |grep enabled命令,查看现场三个控制节点虚机输出结果,如下图所示。

由上图可见,只有异常节点输出结果是“enabled”: true,说明该节点开启了qga。
执行virsh dumpxml 1|grep -A5 "channel type"命令,发现同步周期为10分钟,与告警周期一致。因此判断该问题是由于虚机除了与外部时钟源同步外,还定时向宿主机同步时间,导致告警上报,如下图所示。

故障处理
临时解决方案:通过在宿主机执行virsh qemu-agent-command --pretty controllervm '{"execute":"guest-set-reverse-command-status", "arguments": {"command": "host-get-time", "enabled":false}}' 命令,临时关闭qga服务。但是在重启虚机中qga服务会恢复。
正式解决方案:执行virsh dumpxml controllervm > controllervm.xml命令,修改xml文件中qga的配置,将interval的值改为never,或者改成和其他节点一样,关闭虚机。执行virsh create controllervm.xml命令,重新创建虚机。
相关操作命令:
a. 判断是否需要qga服务,如果不需要,可以执行如下命令,在不关闭虚机的前提下,在虚机中关闭qga服务。
systemctl stop qga.service,systemctl disalbe qga.service
b. 执行如下命令,确认节点是否有配置qga服务。
virsh dumpxml domain |grep qemu.guest_agent
总结:时钟作为业务运行和命令的时间戳,在运维中稳定至关重要,该类问题需要第一时间重点分析处理,避免时钟跳变导致集群和业务异常。
-
运营商
+关注
关注
4文章
2426浏览量
46294 -
命令
+关注
关注
5文章
746浏览量
23441 -
虚拟机
+关注
关注
1文章
968浏览量
30160 -
OpenStack
+关注
关注
1文章
73浏览量
19608
原文标题:TECS OpenStack-资源池控制节点虚机周期性上报时间同步失败告警的问题处理
文章出处:【微信号:ztedoc,微信公众号:中兴文档】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
RCS融合通信系统设计方案解析
刻录失败故障分析与解决
OpenStack资源调度和现状分析
华为视频云平台通过云技术实现计算、网络、存储资源池化
华纳云:OpenStack是虚拟化管理平台吗?其工作原理是什么?
TECS OpenStack资源池虚机残留导致网元异常的问题处理
TECS OpenStack资源池虚拟机网络二层地址无法互通的问题处理

TECS OpenStack资源池时间同步失败的故障分析
评论