问题描述
您希望了解如何修改Linux系统的ECS实例的时区,以及如何开启、配置及使用NTP/Chrony服务,保证实例的时间精确同步。适用于
- SUSE Linux Enterprise for SAP 12
- SUSE Linux Enterprise for SAP 15
说明和使用限制
- NTP服务的通信端口为UDP 123,您需要在实例安全组的入方向添加安全组规则并放行UDP 123端口。具体操作请参见添加安全组规则。
- 目前,所有地域下ECS实例默认采用CST(China Standard Time)时区,您也可以根据自己的业务需求为ECS实例设置或者修改时区。
- SLES 12 SP5及以上和SLES 15及以上默认使用Chrony实现本地时间和标准时间同步。与以前版本中的NTP服务不同,Chrony可以更快更准确地同步系统时钟,最大程度的减少时间和频率误差。更多请参见 Time Synchronization with NTP。
- 修改系统时区或时钟同步配置之前,请关停所有SAP应用/数据库服务。
操作步骤
以下以SLES for SAP 15 SP1操作系统为例描述操作步骤:
修改系统时区
- 使用如下命令查询当前配置的时区。
# timedatectl status
Local time: Fri 2021-07-30 11:58:02 HKT
Universal time: Fri 2021-07-30 03:58:02 UTC
RTC time: Fri 2021-07-30 11:58:02
Time zone: Asia/Hong_Kong (HKT, +0800)
Network time on: no
NTP synchronized: yes
RTC in local TZ: yes - 执行以下命令列出系统支持的时区列表。
# timedatectl list-timezones
- 执行以下命令修改系统时区。
# timedatectl set-timezone Asia/Shanghai
示例将系统时区修改成了Asia/Shanghai,请根据您实际的需求来设置。
- 执行以下命令更新硬件时钟。
# hwclock -w
- 查询当前时区配置
# timedatectl status
Local time: Fri 2021-07-30 11:40:09 CST
Universal time: Fri 2021-07-30 03:40:09 UTC
RTC time: Fri 2021-07-30 11:40:09
Time zone: Asia/Shanghai (CST, +0800)
Network time on: no
NTP synchronized: yes
RTC in local TZ: yes
配置Chrony服务
- 使用vim /etc/chrony.conf命令,编辑chrony配置文件。示例如下:
# Use Alibaba NTP server
# Public NTP
# Alicloud NTP
server ntp1.aliyun.com minpoll 4 maxpoll 10 iburst
server ntp1.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp10.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp11.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp12.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp2.aliyun.com minpoll 4 maxpoll 10 iburst
server ntp2.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp3.aliyun.com minpoll 4 maxpoll 10 iburst
server ntp3.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp4.aliyun.com minpoll 4 maxpoll 10 iburst
server ntp4.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp5.aliyun.com minpoll 4 maxpoll 10 iburst
server ntp5.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp6.aliyun.com minpoll 4 maxpoll 10 iburst
server ntp6.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp7.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp8.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp9.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
# Ignore stratum in source selection.
stratumweight 0.05
# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift
# Enable kernel RTC synchronization.
rtcsync
# In first three updates step the system clock instead of slew
# if the adjustment is larger than 10 seconds.
makestep 10 3
# Allow NTP client access from local network.
#allow 192.168/16
# Listen for commands only on localhost.
bindcmdaddress 127.0.0.1
bindcmdaddress ::1
# Serve time even if not synchronized to any NTP server.
#local stratum 10
# Disable logging of client accesses.
noclientlog
# Send a message to syslog if a clock adjustment is larger than 0.5 seconds.
logchange 0.5
logdir /var/log/chrony
#log measurements statistics tracking - 运行以下命令启动服务并设置开机自启动
systemctl start chronyd
systemctl enable chronyd - 运行以下命令,查看本机时间同步状态,验证服务是否已启动。
chronyc tracking
- 如果您需要手工同步时钟,需要使用chronyc工具,并运行makestep命令:
# chronyc
chrony version 2.3
Copyright (C) 1997-2003, 2007, 2009-2016 Richard P. Curnow and others
chrony comes with ABSOLUTELY NO WARRANTY. This is free software, and
you are welcome to redistribute it under certain conditions. See the
GNU General Public License version 2 for details.
chronyc> makestep
200 OK