CentOS6 配置阿里云 NTP 服务
本文以Centos 6.5为例介绍如何修改Linux实例时区,以及开启和配置Linux NTP服务,保证实例本地时间精确同步。
前提条件
NTP服务的通信端口为UDP 123,设置NTP服务之前请确保您已经打开UDP 123端口。您可以通过netstat -nupl命令查看实例是否开通UDP 123端口。
背景信息
目前,所有地域下ECS实例默认采用CST(China Standard Time)时区,您也可以根据自己的业务需求为ECS实例设置或者修改时区。
NTP 服务能保证 ECS 实例的本地时间与标准时间同步。在Linux系统中,您可以通过ntpdate和ntpd两种命令方式实现NTP时间同步。此处提供标准NTP服务配置和自定义NTP服务配置,您可以根据需要选择性地配置。
- ntpdate为断点更新。对新购实例,您可以使用ntpdate同步时间。
- ntpd为步进式地逐渐调整时间。对已经承载有运行中业务的实例,建议您使用ntpd同步时间。
修改Linux实例时区
远程连接 Linux 实例。
执行命令sudo rm /etc/localtime删除系统里的当地时间链接。
执行命令sudo vi /etc/sysconfig/clock,打开并编辑配置文件/etc/sysconfig/clock。
输入i添加时区城市。例如添加Zone=Asia/Shanghai,按下Esc键退出编辑并输入:wq保存并退出。
可执行命令ls /usr/share/zoneinfo查询时区列表,Shanghai为列表条目之一。
执行命令sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime更新时区修改内容。
执行命令hwclock -w更新硬件时钟(RTC)。
执行命令sudo reboot重启实例。
执行命令date -R查看时区信息是否生效,未生效可按照上述步骤重新操作一遍。
启动标准NTP服务
远程连接Linux实例。
执行命令sudo service ntpd start启动NTP服务。
执行命令chkconfig ntpd on设置开机自启动NTP服务。
执行命令ntpstat查看是否启动了NTP服务。
可选:执行命令ntpq -p可查看NTP服务对等端的列表信息;执行命令sudo chkconfig --list ntpd可查看NTP服务的运行级别。
配置自定义NTP服务
远程连接Linux实例。
执行命令sudo vi /etc/ntp.conf打开并编辑NTP服务配置文件。
找到server ntp 服务器 iburst的信息后,输入i开始编辑文件,给您暂时不需要的NTP服务器句首加上#隐藏起来。
新添加一行NTP服务器信息,格式为:server 您需要添加的NTP服务器 iburst。完成编辑后按下Esc键并输入:wq保存退出。
执行命令sudo service ntpd start启动自定义的NTP服务。
执行命令chkconfig ntpd on设置开机自启动NTP服务。
执行命令ntpstat查看是否启动了NTP服务。
时区和时间一致性对于云服务器ECS非常重要,有时会直接影响到任务执行的结果。例如,您在更新数据库或者分析日志时,时间顺序对结果有很大影响。为避免在ECS实例上运行业务时出现逻辑混乱和网络请求错误等问题,您需要统一相关ECS实例的时区设置。另外,您还可以通过NTP服务同步各网络中ECS实例的本地时间。
云服务器ECS为您提供了高精度的时间参考NTP服务器,其中ntp.cloud.aliyuncs.com服务器提供分布式的一级时钟源,适用于金融、通讯、科研和天文等以时间精度核心的生产行业。阿里云NTP服务也用于同步ECS实例和其它云产品的本地时间。各网络下的阿里云NTP服务器地址如下表所示。
经典网络内网 | 专有网络VPC内网 | 公网 |
---|---|---|
- | ntp.cloud.aliyuncs.com | ntp.aliyun.com |
ntp1.cloud.aliyuncs.com | ntp7.cloud.aliyuncs.com | ntp1.aliyun.com |
ntp2.cloud.aliyuncs.com | ntp8.cloud.aliyuncs.com | ntp2.aliyun.com |
ntp3.cloud.aliyuncs.com | ntp9.cloud.aliyuncs.com | ntp3.aliyun.com |
ntp4.cloud.aliyuncs.com | ntp10.cloud.aliyuncs.com | ntp4.aliyun.com |
ntp5.cloud.aliyuncs.com | ntp11.cloud.aliyuncs.com | ntp5.aliyun.com |
ntp6.cloud.aliyuncs.com | ntp12.cloud.aliyuncs.com | ntp6.aliyun.com |
- | - | ntp7.aliyun.com |
NTP 服务介绍
1、NTP 和 NTPDATE
在 Linux 系统中,可以通过 ntpdate 和 ntpd 两种方式实现 NTP 时间同步,ntpdate 为断点更新,ntpd 为步进式地逐渐调整时间。对于新服务器,可以使用 ntpdate 同步时间,对于已经承载有运行中业务的服务器,建议使用 ntpd 同步时间。
2、安装 NTP & NTPDATE
yum install -y ntp ntpdate
3、使用 NTPDATE 同步时间
ntpdate -u ntp2.aliyun.com
配置自定义 NTP 服务
1、编辑 NTP 配置文件
vim /etc/ntp.conf
2、找到 server ntp 服务器 iburst 的记录,用 # 注释掉
3、添加阿里云 NTP 服务器地址
server ntp2.aliyun.com iburst
server ntp3.aliyun.com iburst
server ntp4.aliyun.com iburst
编辑完,保存并退出
4、启用 NTP 服务
提醒:启用服务前,请务必配置好防火墙和安全组,开放端口 123 协议 UDP
systemctl start ntpd.service
开机自动启动
systemctl enable ntpd.service
5、查看 NTP 服务状态
ntpstat
输出内容如下,表示在同步中,需要耐心等待几秒
unsynchronised
time server re-starting
polling server every 8 s
输出内容如下,表示同步成功
synchronised to NTP server (203.107.6.88) at stratum 3
time correct to within 237 ms
polling server every 64 s