多台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
测试结果:(两台虚拟机)
建议在模板机优化时即做时间同步
热门工具 换一换