一位老司机 发表于 2025-4-19 14:55:29

Kylin麒麟操作系统服务部署 | chrony网络时间服务

以下所使用的环境为:
虚拟化软件:VMware Workstation 17 Pro
麒麟系统版本:Kylin-Server-V10-SP3-2403-Release-20240426-x86_64
一、时区与时间概述

时区
UTC:整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC,Universal Time Coordinated)。 GMT:格林威治标准时间(Greenwich Mean Time)指位于英国伦敦郊区的皇家格林尼治天文台的标准时间因为本初子午线被定义在通过那里的经线。(UTC与GMT时间基本相同,本文中不做区分) CST:中国标准时间(ChinaStandard Time +0800 东八区时间)
硬件时间Real-Time Clock(RTC)
一般在主板上靠电池供电,服务器断电后也会继续运行。仅保存日期时间数值,无法保存时区和夏令时设置。系统开机时要读取这个时间并根据它来设定系统时间(注意:系统启动时根据硬件时间设定系统时间的过程可能存在时区换算,这要视具体的系统及相关设置而定)
系统时间System Time
一般来说就是执行date、timedatectl命令所看到的系统时间,银河麒麟操作系统下的所有的时间调用都是使用这个时间(除了直接访问硬件时间的命令)。
timedatectl

二、时间服务器

在集群的部署中,机器的时间一致性是非常重要的,有些机器无法直接连接外网,无法进行NTP对时,这种情况下我们需要搭建一台时间服务器,让时间服务器去和外网对时,然后内网服务器和时间服务器对时。Chrony是一个开源软件时钟同步软件。
NTP网络时间协议
Network Time Protocol的缩写,又称为网络时间协议,是用来计算时间同步化的一种协议,用来同步网络中各主机的时间,在Linux系统中早期使用NTP来实现,后来使用Chrony来实现。
三、Chrony介绍

Chrony优势
Chrony是网络时间协议(NTP)的实现。可以使用Chrony使系统时钟与NTP服务器同步,使系统时钟与参考时钟(例如GPS接收器)同步,要将系统时钟与手动时间输入同步,作为NTPV4(RFC5905)服务器或对等方以向网络中的其他计算机提供时间服务。
Chrony在各种条件下都表现良好,包括间歇性网络连接,网络严重拥塞,温度变化(普通计算机时钟对温度敏感)以及无法连续运行或在虚拟机上运行的系统。、
Chrony软件包介绍
chronyd:是守护进程,主要用于调整内核中运行的系统时间和时间服务器同步。确定计算机增减时间爱你的比率,进行调整补偿。 chronyc:命令行用户工具,用户监控性能并进行多样化配置,可以在chronyd示例控制的计算机上工作,也可以在一台不同的远程计算机上工作。 服务配置文件:/usr/lib/systemd/system/chronyd.service 监听端口:323/udp(chrony),123/udp(NTP) 配置文件:/etc/chrony.conf
Chrony服务默认已经安装
rpm-qa|grep chrony

当Chrony启动时,会读取配置文件中的设置
主配置文件:/etc/chrony.conf 客户端程序工具:/usr/bin/chronyc 服务端程序:/usr/sbin/chronyd
配置文件解析
参数注释pool/server自定义时间服务器driftfile根据实际时间计算出增减时间的比率,将其记录到一个文件中,在重启后为系统时钟做出补偿makestep通过减慢或加速时钟,使得系统逐步纠正所有的时间偏差rtcsync启用内核模式,系统时间每11分钟会拷贝到实时时钟(RTC)allow允许哪个范围主机同步时间local stratum 10当server指令中时间服务器不可用,允许将本地时间作为标准时间授时给其它客户端

四、 时间的常用命令

校准时间的常用命令
chronyc sources -v:查看时间同步源 chronyc sourcestats -v:查看时间同步源状态 timedatectl set-local-rtc 1:设置硬件时间并调整为系统时间 timedatectl set-ntp yes:启动NTP时间同步 chronyc tracking:校准时间服务器 chronyc -a makestep:手动同步
查看系统时间
date# 显示当前时间
timedatectl        set-time 2012-12-12                # 设置系统时间date-s10:00                # 设置系统时间查看硬件时间
hwclock --s
hwclock --set-date="12/25/21 10:10"# 月/年/日 时/分/秒时钟同步
当系统时间与硬件时间不一致时,系统时间要更为准确。
hwclock --hctosys# 硬件时钟与系统时钟同步,hc代表硬件时间,sys代表系统时间
hwclock --systohc# 让系统时间同步到硬件时钟五、时钟服务器部署

节点设置
主机网络信息说明Kylin-1192.168.110.1/24时间服务器Kylin-2192.168.110.2/24测试客户端: Kylin-1配置:修改chrony配置文件
vim /etc/chrony.conf

# 修改下列内容
allow 192.168.110.0/24                                        # 只允许192.168.110.0/24网段主机进行同步时间local stratum 10# 当server指令中时间服务器不可用,允许将本地时间作为标准时间授时给客户端: Kylin-1配置:重新启动chrony服务,调整防火墙策略
systemctl restart chronyd.service
firewall-cmd --add-service=ntp --permanent
firewall-cmd --reload: Kylin-2配置:编辑chrony配置文件,将时间服务器指向Kylin-1
vim /etc/chrony.conf

# 修改下列内容
server 192.168.110.1 iburst: Kylin-2配置:重新启动chrony服务
systemctl restart chronyd.service: 验证:查看当前系统中的时区、日期和时间信息
chronyc sources -v

: 验证:显示系统时间和与日志
页: [1]
查看完整版本: Kylin麒麟操作系统服务部署 | chrony网络时间服务