惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
爱范儿
爱范儿
V
Visual Studio Blog
Last Week in AI
Last Week in AI
阮一峰的网络日志
阮一峰的网络日志
雷峰网
雷峰网
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 三生石上(FineUI控件)
博客园 - Franky
博客园 - 叶小钗
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
大猫的无限游戏
大猫的无限游戏
人人都是产品经理
人人都是产品经理
M
MIT News - Artificial intelligence
罗磊的独立博客
L
LangChain Blog
Jina AI
Jina AI
IT之家
IT之家
J
Java Code Geeks
Microsoft Azure Blog
Microsoft Azure Blog
博客园_首页

Yee's Blog

腾讯云/轻量云 安装ArchLinux的个人记录 记录我的联想M720Q Arch Sway窗口管理器的安装和配置过程 Jenkins Linux安装 腾讯课堂、钉钉在线网课视频直播回放下载离线播放 Ceph块设备对RBD块设备操作LVM创建PV时报错 Ceph映射RBD块设备 2020年9月26日前端部门Vue考核 2020年9月26日后端部门Python考核 Nginx反向代理下载传输超过1G大文件时断开问题 Windows Server 2019 Datacenter M720q 安装记录 Ceph块设备基础及快照、克隆操作 从Ceph集群中删除OSD节点 搭建Ceph集群 Ceph硬件准备 OSD与Pool池的常见操作及管理 Ceph用户管理 MacOS睡眠管理——让你的Mac睡的更香 初中古诗文必背篇目 Ansible 技巧之场 Ansible 包含和导入文件 Ansible 学习文档 Ansible 主机模式 Ansible 角色 Ansible 调整连接数 Splunk数据搜索和报表 Ansible 常用模块 Ansible 变量和事实 Ansible 任务控制 Ansible Playbook Ansible 基础概念
Centos8配置 chrony NTP服务端及客户端
本文作者: YeeFire · 2020-07-28 · via Yee's Blog

现在有一台服务器想作为NTP服务器,3台客户端想作为NTP服务器的客户端,保证客户端机器上的时间与服务器端保持同步。清单如下:

类型 IP地址
server 192.168.1.30
client 192.168.1.[31:33]

部署服务端chrony

ssh登录到server机器后放行防火墙、安装chrony服务、配置chrony服务器端。

放行防火墙端口

Centos8使用firewalld服务对防火墙进行管理。放行ntp服务(123/udp)

firewall-cmd --add-service=ntp --permanent && firewall-cmd --reload

安装chrony服务

默认情况下Centos8中已经安装好chrony的软件包。如果发现没有安装,使用下面的命令安装即可:

sudo dnf install chrony -y

配置chrony服务端

sudo vim /etc/chrony.conf

不习惯vi/vim编辑器的小伙伴可以替换为自己喜爱的编辑器如nano

把原有自带的上游NTP服务器地址删除。之后手动配置国内阿里云的NTP服务器地址。

server time1.aliyun.com iburst     #添加上游NTP服务器
server time2.aliyun.com iburst
server time3.aliyun.com iburst

allow 192.168.1.0/24 #允许IP端内的客户端通过这台服务器获取时间

配置无误后,重启chrony服务,并配置开机自启动:

systemctl restart chronyd.service && systemctl enable chronyd.service --now

使用ss -tlunp | grep chrony命令检查,发现chrony服务已经在监听123/udp端口,服务端配置成功。

配置chrony客户端

配置chrony客户端需要将三台客户端都安装chrony并且配置好他们的配置文件。如果说客户端数量较少可以手动配置,当数量为成百上千台机器时使用Ansible自动化配置是一个不错的选择。所以在这里有两种配置方法供大家参考,一种是普通手动配置,一种是使用Ansible-Galaxy角色配置。

手动配置chrony客户端

配置客户端同样的需要放行防火墙、安装chrony软件包、配置chrony客户端。

安装chrony软件包

dnf install chrony -y

修改客户端chrony配置文件

sudo vim /etc/chrony.conf

不习惯vi/vim编辑器的小伙伴可以替换为自己喜爱的编辑器如nano






server 192.168.1.30 iburst

注释默认的NTP服务器地址,之后添加上我们自己刚刚搭建好的NTP服务器地址即可完成chrony客户端的手动配置。

重启chrony客户端服务

重启chrony服务,并配置开机自启动:

systemctl restart chronyd.service && systemctl enable chronyd.service --now

查看同步状态

chronyc sources -v

[root@vm1 ~]# chronyc sources -v
210 Number of sources = 1

.-- Source mode '^' = server, '=' = peer, '#' = local clock.
/ .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| / '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
|| .- xxxx [ yyyy ] +/- zzzz
|| Reachability register (octal) -. | xxxx = adjusted offset,
|| Log2(Polling interval) --. | | yyyy = measured offset,
|| \ | | zzzz = estimated error.
|| | | \
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* 192.168.1.30 3 6 17 16 +3424ns[ +110us] +/- 31ms

可以看到,输出结果里已经有我们搭建好的NTP服务器了。并且在服务器地址前有^*标记,证明已经正确同步时间。

至此一台客户端的chrony已经搭建完毕。剩下的两台同理部署即可。

使用Ansible自动化配置chrony客户端

相关Ansible基础默认你已经了解,不再赘述。如果你不了解Ansible请从Ansible文档入门学习。

mkdir Chrony && cd Chrony

配置ansible.cfg

vim ansible.cfg

[defaults]
inventory = inventory
remote_user = root
roles_path=./roles:/usr/share/ansible/roles:/etc/ansible/roles

[privilege_escalation]
become=True
become_method=sudo
beome_user=root
become_ask_pass=False

配置主机清单

vim inventory

[client]
192.168.1.3[1:3]

配置ssh免密登陆客户端

配置SSH免密登录

下载chrony角色

ansible-galaxy install ericsysmin.chrony

编写Playbok

vim playbook.yml

---
- name: Config Chrony Client
hosts: client
roles:
- role: ericsysmin.chrony
chrony_config_server:
- 192.168.1.30
...

执行结果如下,全部OK即为成功:

PLAY RECAP **************************
192.168.1.31 : ok=7 changed=0 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0
192.168.1.32 : ok=7 changed=0 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0
192.168.1.33 : ok=7 changed=0 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0

之后可以登录几台机器进行手动验证,查看是否已经以NTP服务器保持同步。