多台Linux虚拟机时间不一致的解决方法

2018年08月09日,在学习Mysql主从及主主同步时发现所用到的两台虚拟机时间存在不一致性,如下图所示:

 

因为这两台虚拟机都是从模板机上克隆出来的,在模板机上是做了时间同步的,如下图所示:



理论上来说,这两台虚拟机应该是时间一致的,我怀疑不一致的原因是/usr/sbin/ntpdate time.nist.gov
没有执行。于是单独执行,结果如下图所示:

 

 

no server suitable for synchronization found:找不到适合同步的服务器。

既然找不到那好吧,我想自己搭建在管理机上搭建一台时间同步服务器NTP吧。


转念又一想:那岂不是要时时打开管理机,这可不好(毕竟我这笔记本性能不怎么高,同时跑的太多虚拟机,太卡了)。于是就想不如换台时间服务器同步吧,于是找到了中国ntp服务器:cn.pool.ntp.org

下面介绍操作方法(这里我以一台服务器为例):

环境:

[root@db01 ~]# uname -r

2.6.32-696.el6.x86_64

[root@db01 ~]# uname -m

x86_64

[root@db01 ~]# cat /etc/redhat-release

CentOS release 6.10 (Final)

网络时间服务器

首先得确保这些服务器都能ping通否则是无法时间同步的。否则会报错“no server suitable for synchronization found”

* 中国国家授时中心:210.72.145.44   ----暂时无法使用
* NTP服务器(上海) :ntp.api.bz
* 中国ntp服务器:cn.pool.ntp.org   ---在这里我所使用的
*
pool.ntp.org

*
时间同步工具

*
rdate:rdate -s
ntpdate:ntpdate -u(使用-u参数会返回误差,也可以使用-s)

以上两个工具都可以用来同步网络时间服务器,centos默认都有安装,两个工具的使用方法都很简单,本章主要介绍ntpdate工具,这个工具也是最常用的。如果没有安装安装方法如下:
yum -y install ntp

*
同步时间

*
1.修改时区

*
\cp  /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
vim  /etc/sysconfig/clock
ZONE="Asia/Shanghai"
UTC=false
ARC=false

*

2.同步时间

*
[root@db01 ~]# /usr/sbin/ntpdate -u cn.pool.ntp.org
 9 Aug 13:14:14 ntpdate[2837]: adjust time server 209.97.168.88 offset
0.005685 sec

*
3.写入硬件时间

*
服务器每次重启都会参考硬件的时间,所以需要将当前系统的时间写入到硬件。
查看当前硬件时间:
[root@db01 ~]# hwclock -r
2018年08月09日 星期四 21时14分29秒  -0.735471 seconds
写入硬件时间:
[root@db01 ~]# hwclock -w
[root@db01 ~]# hwclock -r
2018年08月09日 星期四 13时14分44秒  -0.345959 seconds
自动时间同步
1.配置开机启动校验
vim /etc/rc.d/rc.local
/usr/sbin/ntpdate -u cn.pool.ntp.org> /dev/null 2>&1; /sbin/hwclock -w
2.配置定时任务
vim /etc/crontab
00 10 * * * root /usr/sbin/ntpdate -u cn.pool.ntp.org > /dev/null 2>&1;
/sbin/hwclock -w
或者
crontab -e
00 10 * * * /usr/sbin/ntpdate -u cn.pool.ntp.org > /dev/null 2>&1;
/sbin/hwclock -w
测试结果:(两台虚拟机)
 
建议在模板机优化时即做时间同步
 
 

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信