需求说明
本文以Centos 6.5为例介绍如何修改Linux实例时区,以及开启和配置Linux NTP服务,保证实例本地时间精确同步。
前提条件
NTP服务的通信端口为UDP 123,设置NTP服务之前请确保您已经打开UDP 123端口。您可以通过netstat -nupl命令查看实例是否开通UDP 123端口。如何放行UDP 123端口,请参见添加安全组规则。
背景信息
目前,所有地域下ECS实例默认采用CST(China Standard Time)时区,您也可以根据自己的业务需求为ECS实例设置或者修改时区。
NTP 服务能保证 ECS 实例的本地时间与标准时间同步。在Linux系统中,您可以通过ntpdate和ntpd两种命令方式实现NTP时间同步。此处提供标准NTP服务配置和自定义NTP服务配置,您可以根据需要选择性地配置。
ntpdate为断点更新。对新购实例,您可以使用ntpdate同步时间。
ntpd为步进式地逐渐调整时间。对已经承载有运行中业务的实例,建议您使用ntpd同步时间。
修改Linux实例时区
远程连接 Linux 实例。
您需要以root身份打开并编辑时区配置文件,所以此处使用sudo命令。
sudo rm /etc/localtime #删除系统里的当地时间链接。
sudo vi /etc/sysconfig/clock #用vim打开并编辑配置文件/etc/sysconfig/clock,输入i添加时区城市。例如添加Zone=Asia/Shanghai,按下Esc键退出编辑并输入:wq保存并退出。
查询时区列表,Shanghai为列表条目之一。
ls /usr/share/zoneinfo
更新时区修改内容。
sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
更新硬件时钟(RTC)
hwclock -w。
重启实例后生效
sudo reboot
开机后操作,查看时区信息是否生效,未生效可按照上述步骤重新操作一遍。
date -R
启用NTP服务
sudo service ntpd start
chkconfig ntpd on #随机启动
查看是否启用了NTP服务。
ntpstat
ntpq -p #查看NTP服务对等端的列表信息;
sudo chkconfig --list ntpd #可查看NTP服务的运行级别。
配置自定义NTP服务
sudo vi /etc/ntp.conf 用vim打开并编辑NTP服务配置文件。
找到server ntp 服务器 iburst的信息后,输入i开始编辑文件,给您暂时不需要的NTP服务器句首加上#隐藏起来。
新添加一行NTP服务器信息,格式为:server 您需要添加的NTP服务器 iburst。完成编辑后按下Esc键并输入:wq保存退出。
启用自定义的NTP服务
sudo service ntpd start
执行命令chkconfig ntpd on启用NTP服务。
执行命令ntpstat查看是否启用了NTP服务。