多台linux服务器同步时间

在面对服务集群时,部署在不同的Linux服务器上的应用可能因为时间不一致,造成数据出问题。因此需要将多台服务器的时间同步成一致!

由于当前环境为内网环境,需要将其中的一台服务器设置成时间同步服务器(服务端),其他的服务器则为客户端。客户端的时间根据服务端时间进行同步。

1.首先安装ntp。

内网环境下只能去官方下载对应的包,上传至服务器,在进行安装!

官网地址:https://centos.pkgs.org/7/centos-x86_64/ntp-4.2.6p5-29.el7.centos.2.x86_64.rpm.html

访问该页面后,来到下方,往下滚动会看到下载的地方,如图2.

图1

下载位置:将BinaryPackage对应的url复制,在新的浏览器窗口访问,自动下载!

图2

下载好该安装包后上传至服务器上。然后进行安装

安装命令:rpm -ivh ntp-4.2.6p5-29.el7.centos.2.x86_64.rpm

执行安装命令后,出错;

发现缺少libopts.so.25()(64bit)和ntpdate = 4.2.6p5-29.el7.centos.2   此时,需要下载这两个安装依赖包,并上传至服务器上。

执行命令后效果图

缺少的安装依赖包在刚刚官网访问的界面下方一点。点击对应的安装包名称,下载方法参照上方图片操作!

如果你安装时,还缺少什么 依赖包,可以在上方图片中查找。将刚刚缺少的包上传后,

上传后,再次将这些包安装,注意先将缺失的依赖包进行安装后,在安装ntpd

2.修改 /etc/ntpd.conf文件

在修改任何配置文件之前,建议先备份一份。命令: cp /etc/ntp.conf /etc/ntp_20220715_back.conf

然后执行 vi  /etc/ntp.conf  


上方红色部分是新增的内容。

restrict   127.18.132.0    mask 255.255.0.0   nomodify   notrap

授权127.18.132.0  -  127.18.132.255 网段上的所有机器可以从这台机器上查询和同步时间

由于集群在局域网中,不使用其他互联网上的时间。所以需要将这四行注释

注释


server 127.127.1.0

fudge    127.127.1.0  stratum  10

上方两行表示:当该节点丢失网络连接,依然可以采用本地时间作为时间服务器为集群中的其他节点提供时间同步

修改后退出保存。

3.为保证BIOS与系统时间同步,配置以下内容

vim /etc/sysconfig/ntpd

在内容中添加

SYNC_HWLOCK=yes

4.开放ntp默认端口123,设置UDP端口123的完全双向访问:

还需要对ntp的默认端口123进行放行,这个一定要配,除非你关了防火墙,否则会报错,no server suitable for synchronization found

iptables -I INPUT -p tcp --dport 123 -j ACCEPT

iptables -I INPUT -p udp --dport 123 -j ACCEPT

5.启动ntpd服务

执行service ntpd start  启动   

并且设置成开机自启动   chkconfig ntpd on

以上均是在配置服务端,现在该配置客户端了。

在多个客户端服务器上设置定时任务,定时去向时间服务器进行同步时间

crontab -e

*/1  *  *  *  * /usr/sbin/ntpdate  172.18.132.136  

每分钟进行一次同步 ,上面的ip是指服务端的ip。


可以使用date   查看客户端的时间和服务端时间是否一致!


如果不一致,多等一会(最多一分钟),再看看。

如果还是不一致,那可能是该服务器未安装下方软件!


此软件在上方过程中已经下载过。直接安装
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容