Linux服务篇之一:构建NTP时间服务器
NTP服务介绍:
NTP服务器是用于局域网服务器时间同步使用的,可以保证局域网所有的服务器与时间服务器的时间保持一致,某些应用对时间实时性要求高的必须统一时间。
准备2台虚拟机做测试:
一、修改客户端的时间
1、查看当前客户机的系统时间:发现时间不准确,需要进程调整;
2、同步时间的命令是:ntpdate
在网络上找一下可以同步的时间服务器,有很多:
http://www.cnblogs.com/JemBai/archive/2012/04/15/2450045.html
3、同步时间,用一下复旦大学的时间服务器:ntp.fudan.edu.cn
4、需要安装一下ntp服务,
5、再次同步时间,
6、时间已经同步,但还是无法准确显示时间,是因为时区不对的原因:
EDT(Eastern Daylight Timing)指美国东部夏令时间,波士顿、纽约市、华盛顿哥伦比亚特区,都在这个时区内,跟北京时间有12小时的时差,晚12小时。
CST可以指下面两种
1. 美国中部标准时间(西六区,-6:00),中国是东八区(+8:00),北京时间比美国中部标准时间早14个小时。3:45 PM CST 是北京时间凌晨1:45。
7、查看时区,
8、修改成上海所在时区:
修改/etc/localtime这个文件,这个文件定义了我么所在的local time zone
我们可以在/usr/share/zoneinfo下找到我们的time zone文件然后拷贝去到/etc/localtimezone想把time zone换成上海所在的时区就可以这么做:
cp/usr/share/zoneinfo/Asia/Shanghai /etc/localtime
9、再次查看本地时间,
10、现在才是与我的电脑同步了时间!
二、局域网内部署NTP服务器
1、在服务器端安装ntp软件,
注:服务器端不可以使用命令:ntpdate,这是客户端使用的!
2、yum/rpm安装下的软件包的存放位置都在这:/etc/init.d/。。。
源码自定义安装的软件包存放的位置都在这:/usr/local/。。。
3、启动NTP服务,
4、熟悉一下这个命令:ps �Cef:查看所有进程,
5、利用该命令,查看一下ntp服务是否已启动了,启动成功!
6、kill ntp的进程,
7、再次查看ntp服务是否已经启动了,已经关闭!
8、永久关闭防火墙服务
/etc/init.d/iptablesstop
chkconfigiptables stop
查看防火墙状态:已经关闭!
9、熟悉一下命令:chkconfig:检查每个级别下各种服务的状态
发现ntp这个服务在0-6中,都是关闭的!
10、需要在开机就启动这个服务,如何处理?
方法1:把这条命令加入到开机配置文件中:/etc/rc.local
方法2:使用chkconfig,
三、客户端与服务端同步时间
1、同步时间,报错了,需要排错了。
2、ping以下服务器端,畅通;
3、检查防火墙和selinux,都已关闭;
4、检测与哪些服务器通讯:ntp服务器都会自动与外网的服务器同步,
5、看一下ntp服务器的配置文件,
6、ntp服务器:是通过所安装的ntp软件,指定server,会定时与外网远程服务器进行同步!
共有3台远程服务器,
7、设置允许与服务器同步的网段,
8、重启一下ntp服务,
9、查看时间服务器同步的状态,
10、再次同步,依然出错,
11、添加本地服务到配置文件中,
12、重启ntp服务,
13、查看:本地服务器在同步列表中了,
14、客户端与ntp服务器完成时间同步了!
15、查看到服务器一直都在更新!
四、目前服务器端的时间还不是最新的,如何让本地的ntp服务器与外网服务器保持同步?
1、目前服务器的时间,
2、与本地时间有差异,
3、止一下服务器的ntp服务,
4、与外网服务器同步一次时间!同步时间成功之后,就把服务器的ntp服务器启动!
4、如果ntp服务器无法上网,ntp服务器就只能使用本地时间了!
改一下配置文件:删除ntp的服务器列表,只留下本地服务器的时间;
5、重启一次NTP服务,
6、再与服务器同步一下时间:需要同步的时间越来越少接近了
7、测试本地时间服务器的效率:现在修改一下客户端的时间,
8、再与服务器同步一下时间,
9、对比服务器时间!几乎一致了!同步成功!
五、最好让所有的客户端每天都跟服务器同步,做一个计划任务
1、crontab的格式:
2、新建一个任务计划,
3、为了达到测试效果,设置为每分钟进行同步时间!
4、重启crontab服务,
5、查看一下这个任务计划,
6、与这个命令的效果是一样的:vi /var/spool/cron/root
7、再次查看计划任务:已经按计划时间同步了!
8、查看一下内容:目前没有显示任何内容,
9、增加一行内容:
六、检查时间服务器是否正确同步
1、使用下面的命令检查时间服务器同步的状态:ntpq -p
同步有问题的证据是:所有远程服务器的jitter值是4000并且delay和reach的值是0!
可能的原因有:
1、 防火墙阻断了与server之间的通讯,即123端口是否正常开放;
2、 每次重启NTP服务器之后大约要3-5分钟客户端才能与server建立正常的通讯连接,否则你在客户端执行“ntpdate服务器ip”的时候将返回:
本文出自 “柏书兵-系统运维” 博客,转载请与作者联系!