Linux时间同步配置
分类:Linux 2010-02-21 22:58 3283人阅读 评论(3) 收藏 举报
一. 使用ntpdate 命令
1.1服务器可链接外网时
#crontab -e
加入一行:
*/1* * * * ntpdate 210.72.145.44
210.72.145.44为中国国家授时中心服务器地址,这样该机每隔1分重就可以与国家授时中心进行同步了。
注意: 在使用ntpdate 命令时, ntpd 服务必须是关闭的, 否则会报theNTP socket is in use, exiting 错误。
关闭ntpd 服务命令如下:
[root@node2init.d]# /etc/init.d/ntpd stop
Shuttingdown ntpd: [ OK ]
1.2. 架设本地时间服务器
需要修改/etc/ntp.conf文件里的几个配置就可以了,比如本地时间服务器IP 为 10.85.10.119, 配置如下:
server210.72.145.44 prefer (中国国家授时中心服务器地址prefer表示优先 注意把默认的server更改成这样)
server127.127.1.0 (本地时间)
restrict 10.85.10.0 mask 255.255.255.0 nomodify (允许10..85.10.* 的IP 使用该时间服务器)
restrict 0.0.0.0 mask 0.0.0.0 nomodify notrap noquery notrust (屏蔽其他IP过来更新时间)
其他的保持默认不动。
使NTP服务可以在系统引导的时候自动启动,执行:
# chkconfig ntpd on
启动/关闭/重启NTP的命令:
# /etc/init.d/ntpd start
# /etc/init.d/ntpd stop
# /etc/init.d/ntpd restart
#service ntpd restart
将同步好的时间写到CMOS里
vi /etc/sysconfig/ntpd
SYNC_HWCLOCK=yes
每次修改了配置文件后都需要重新启动服务来使配置生效。
可以使用下面的命令来检查NTP服务是否启动,你应该可以得到一个进程ID号:
#pgrep ntpd
使用下面的命令检查时间服务器同步的状态:
# ntpq -p
用ntpstat也可以查看一些同步状态,用netstat-ntlup查看端口使用情况!
安装完毕客户端需过5-10分钟才能从服务器端更新时间!
客户端设置:
# crontab -e
加入一行:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
*/1 * * * * ntpdate 10.85.10.119
相关配置参数说明
# restrict权限控制语法为:
# restrict IP mask netmask_IPparameter
# 其中 IP 可以是软件地址,也可以是default ,default就类似 0.0.0.0 咯!
# 至于 paramter 则有:
# ignore :关闭所有的 NTP 联机服务
# nomodify:表示 Client 端不能更改 Server 端的时间参数,不过,
# Client端仍然可以透过 Server 端来进行网络校时。
# notrust :该 Client 除非通过认证,否则该Client 来源将被视为不信任网域
# noquery :不提供 Client 端的时间查询
# 如果 paramter 完全没有设定,那就表示该 IP(或网域) 『没有任何限制!』
# 设定上层主机主要以server这个参数来设定,语法为:
# server [IP|FQDN] [prefer]
# Server 后面接的就是我们上层Time Server 啰!而如果Server 参数
# 后面加上 perfer 的话,那表示我们的NTP 主机主要以该部主机来作为
# 时间校正的对应。另外,为了解决更新时间封包的传送延迟动作,
二、使用rdate同步时间
如果要用vmware安装RAC,则各个几点间时间必须一致,可以以一个节点作为标准,其他节点与该节点进行时间同步。
假如有两个节点:
A:10.85.10.119
B:10.85.10.121
以A作为时间标准,B节点用A节点时间进行同步。
1、在A节点开放37端口
最简单,但也最不安全的方法是关闭防火墙:iptables-F
2. 在A节点启动时间服务
#chkconfigtime on #在系统引导的时候自动启动
如果不启动该服务,则其他节点与该节点同步时间时会报错:ConnectRefused
注意:要用root用户
3、在B节点与A节点同步时间
rdate-s 10.85.10.119
可以在crontab中做执行计划, 每分钟执行一次,这样保证时间的同步。
[root@node2~]# crontab -l
*/1* * * * rdate -s 10.85.10.119
[root@node2~]#
关于crontab的介绍参考blog:
Unixcrontab 命令详解
http://blog.youkuaiyun.com/tianlesoftware/archive/2010/02/21/5315039.aspx
三. 使用 Network Time Protocol (NTP) 服务器
1. 假如公司网络里有一个时间服务器:10.85.10.80, 此时只需要在每个结点上修改NTP服务配置文件,让每个结点和时间服务器进行同步即可。
#vi /etc/ntp.conf
Server10.85.10.80 prefer
Driftfile/var/lib/ntp/drift
Broadcastdelay0.008
修改完后在重启一下ntp 服务
#/etc/init.d/ntpdrestart
2. 如果没有时间服务,则可以用RAC2个结点中一个做为服务器。另一个与此服务器同步即可。
加入用node1做服务器, 其IP 为: 10.85.10.119, 修改配置文件
#vi/etc/ntp.conf
Server127.127.1.0 -- 本地时钟
Fudge127.127.1.0 stratum 11
Broadcastdelay0.008
Node2与node1 同步。 修改node2的ntp 配置文件
#vi /etc/ntp.conf
Server10.85.10.119 prefer
Driftfile/var/lib/ntp/drift
Broadcastdelay0.008
修改完后在重启一下ntp 服务
#/etc/init.d/ntpdrestart