NTP服务器和客户端配置
# timedatectl # timedatectl list-timezones (列出所有的时区) # timedatectl set-timezone Asia/Shanghai (设置时区为 Asia/Shanghai)
2.时间时区概念理解:
GMT、UTC、CST、DST
UTC:
整个地球分为二十四时区,每个时区都有自己的本地时间,在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC:Universal Time Coordinated)。
GMT:
格林威治标准时间 (Greenwich Mean Time)指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线(UTC与GMT时间基本相同)。
CST:
中国标准时间 (China Standard Time)
GMT + 8 = UTC + 8 = CST
DST:
夏令时(Daylight Saving Time) 指在夏天太阳升起的比较早时,将时间拨快一小时,以提早日光的使用(中国不使用)。
2.使用 NTP 公共时间服务器池(NTP Public Pool Time Servers)http://www.pool.ntp.org 同步你的服务器时间。
查看是否安装:
# rpm -q ntp ntp-4.2.6p5-25.el7.centos.2.x86_64
如已安装请略过此步,否则请执行以下命令安装:
# yum install ntpdate ntp -y
(一)确认ntp的安装
1)确认是否已安装ntp
【命令】rpm –qa | grep ntp
若只有ntpdate而未见ntp,则需删除原有ntpdate。如:
ntpdate-4.2.6p5-22.el7_0.x86_64
fontpackages-filesystem-1.44-8.el7.noarch
python-ntplib-0.3.2-1.el7.noarch
2)删除已安装ntp
【命令】yum –y remove ntpdate-4.2.6p5-22.el7.x86_64
3)重新安装ntp
【命令】yum –y install ntp
配置:vi
vim /etc/ntp.conf
“iburst” 选项作用是如果在一个标准的轮询间隔内没有应答,客户端会发送一定数量的包(八个包而不是通常的一个)给 NTP 服务器。如果在短时间内呼叫 NTP 服务器几次,没有出现可辨识的应答,那么本地时间将不会变化。
3.设置系统开机自启动:
# systemctl enable ntpd # systemctl enable ntpdate # systemctl is-enabled ntpd
在ntpd服务启动时,先使用ntpdate命令同步时间:
# ntpdate -u 1.cn.pool.ntp.org
原因之一:当服务端与客户端之间的时间误差过大时,此时修改时间可能对系统或应用带来不可预知问题,NTP会停止时间同步。若检查NTP启动后时间未同步时,应考虑可能是时间误差过大所致,此时需要先手动进行时间同步。
启动NTP服务器:
# systemctl start ntpdate # systemctl start ntpd
4.加入防火墙:
# firewall-cmd --permanent --add-service=ntp # firewall-cmd --reload
5.查看ntp连接状态如果没有问题,将正确时间写入硬件:
# ss -tlunp | grep ntp # ntpq -p # hwclock -w
5.1.系统时间与硬件时间
硬件时间:
RTC(Real-Time Clock)或CMOS时间,一般在主板上靠电池供电,服务器断电后也会继续运行。仅保存日期时间数值,无法保存时区和夏令时设置。
系统时间:
一般在服务器启动时复制RTC时间,之后独立运行,保存了时间、时区和夏令时设置。
6.客户端:
以服务进程方式实时同步(需安装NTP):
# vim /etc/ntp.conf server 172.16.128.171
重要:修改任意节点服务器的NTP配置文件都需要重起ntpd服务:
# systemctl restart ntpd
以crontab任务计划同步时间(需安装ntpdate,每天24点更新同步时间):
# crontab -e 0 0 * * * /usr/sbin/sntp -P no -r 172.16.128.171;hwclock -w
已部署完毕。这样集群会自动定期进行服务的同步,如此以来集群的时间就保持一致了。