资源池虚拟机时钟跳变异常的问题处理

描述

故障现象

某资源池在运行过程中一台虚拟机出现业务异常,通过查看日志和异常记录,判断为虚拟机发生时钟跳变问题,如下图所示。

服务器

故障分析

检查时钟跳变异常的原因可能有如下四个:

虚拟机和时钟源时间是否正常同步。

是否发生过时钟跳变,导致虚拟机同步发生时钟跳变。

虚拟机是否发生过重启,导致时钟和硬件同步。

虚拟机是否有其他的时钟源,导致时钟在两个时钟源中变化。

根据分析原因,进行问题排查:

1. 检查虚拟机是否和时钟源正常时钟同步。

登录到虚拟机内部,通过ntpq -np命令查看虚拟机和时钟源的同步状态正常,未有大的偏差,如下图所示。

服务器

2. 检查时钟源服务器,确认是否发生过时钟跳变等情况。

联系时钟源服务厂家,通过检查时钟源日志和其他业务系统时钟日志,未发现时钟中断和跳变情况,初步判断该跳变情况只发生在问题虚拟机上。

3. 检查虚拟机是否发生过重启,有无和硬件时钟发生同步。

通过执行uptime命令检查虚拟机内部状态,近期未发生重启现象,如下图所示。

服务器

4. 检查虚拟机是否有其他时钟源,导致虚拟机时钟跳变。

a. 通过执行ntpq -np命令查看目前虚拟机内部只有一个时钟源,因此需要查看是否有同步计算节点配置。

b. 登录虚拟机内部,执行ps -ef|grep qemu-guest-agent进程,查看存在qemu客户端,如下图所示。

服务器

c. 登录计算节点系统,通过执行systemctl status qga.service和rpm -qa | grep qemu命令,确认计算节点qemu对应服务是否正常在线,如下图所示。

服务器

d. 登录计算节点系统,通过virsh list命令读取虚拟机的ID,执行virsh dumpxml ID|grep "nova:name" 命令确认虚拟机,执行virsh dumpxml ID|grep -A5 -B5 guest_agent命令确认虚拟机配置,如下图所示。

服务器

e. 检查配置文件,确认当前虚拟机和计算节点是10分钟发生一次强制同步,如下图所示。其中“interal = 10 unit= minute ”代表10分钟。

服务器

5. 经过排查,确认虚拟机每10分钟周期强制和计算节点时间同步,由于计算节点时钟和时钟源有偏差,导致虚拟机发生时钟跳变影响业务。

故障处理

1. 虚拟机时钟同步服务器默认不打开,只有虚拟机重启时候会触发一次强制同步。

2. 如果需要打开虚拟机时钟同步,则需要在虚拟机上安装QGA插件,同时在虚拟机中把QGA插件的时钟同步开关打开。

3. 业务上线前必须明确时钟同步方案,通常虚拟机需要直接同步时钟源,不同步计算节点,避免时钟跳变。

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分