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

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

服务器时间不准确获取的timestamp生成签名有问题吗 服务器时间不对_时间同步

 

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

服务器时间不准确获取的timestamp生成签名有问题吗 服务器时间不对_LINUX_02

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

服务器时间不准确获取的timestamp生成签名有问题吗 服务器时间不对_LINUX_03

 

服务器时间不准确获取的timestamp生成签名有问题吗 服务器时间不对_时间不一致_04

 

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.写入硬件时间

crontab -e
00 10 * * * /usr/sbin/ntpdate -u cn.pool.ntp.org > /dev/null 2>&1; /sbin/hwclock -w
[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


或者
测试结果:(两台虚拟机)

服务器时间不准确获取的timestamp生成签名有问题吗 服务器时间不对_vim_05

  •  
    建议在模板机优化时即做时间同步