集群时钟同步必读-NTP和chrony

 

一、  前言

搭建和维护集群环境中时钟同步是非常重要一环。如果集群的时间不统一,例如ceph集群就会报错无法更新数据、CDH集群无法添加客户端等等。目前主流在Linux系统搭建集群用到NTP和chrony软件,本文简单介绍两者的集群搭建。

二、  NTP和chrony区别

根据chrony官网描述,主要区别如下图:(图太大了,截取了一部分)

集群时钟同步必读-NTP和chrony

集群时钟同步必读-NTP和chrony

详细见官网:chrony – NTP 实施的比较

 

三、  环境准备

注意:ntp和chrony无法同时再一台机器运行;请单独安装运行

集群时钟同步必读-NTP和chrony

 

ntp下载地址(Centos7):

http://mirror.centos.org/centos/7/os/x86_64/Packages/ntp-4.2.6p5-29.el7.centos.2.x86_64.rpm

http://mirror.centos.org/centos/7/os/x86_64/Packages/ntpdate-4.2.6p5-29.el7.centos.2.x86_64.rpm

 

chrony下载地址(Centos7):

http://mirror.centos.org/centos/7/os/x86_64/Packages/chrony-3.4-1.el7.x86_64.rpm

 

四、  NTP搭建集群同步时间

1、  更新阿里源、安装ntp|ntpdate

离线环境提前下载离线包

#更新阿里源
cd /etc/yum.repos.d/ 
curl -L -O https://mirrors.aliyun.com/repo/Centos-7.repo && mv ./Centos-7.repo /etc/yum.repos.d/CentOS-Base.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
curl -L -O  http://mirrors.aliyun.com/repo/epel-7.repo && mv ./epel-7.repo /etc/yum.repos.d/epel.repo
yum clean all && yum makecache
yum install -y epel-*

#安装NTP
rpm -qa | grep ntp                    
yum -y remove ntpdate ntp        
yum -y install ntp  ntpdate

#设置时区上海
timedatectl set-timezone Asia/Shanghai    
date
mv /etc/localtime /etc/localtime.bak
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
timedatectl set-timezone Asia/Shanghai

集群时钟同步必读-NTP和chrony

2、  离线环境:3台机器时钟同步其中一台

将192.168.1.131作为主节点,其他节点都同步它,允许同步网段设置为192.168.1.0

● 主节点选择192.168.1.131,修改主节点配置文件

#主节点:修改配置文件
mv /etc/ntp.conf /etc/ntp.conf.bakk
cat >>/etc/ntp.conf<<EOF                
driftfile /var/lib/ntp/drift
restrict default nomodify notrap nopeer noquery
restrict 192.168.1.131 nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
server 127.127.1.0
fudge 127.127.1.0 stratum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor
EOF
cat /etc/ntp.conf
#需要把对应restrict IP和restrict网段进行修改即可

集群时钟同步必读-NTP和chrony

● 其他节点作为客户端192.168.1.132/133,修改其他节点配置文件

#其他节点:ntp客户端配置
mv /etc/ntp.conf /etc/ntp.conf.bakk
cat >>/etc/ntp.conf<<EOF    
driftfile /var/lib/ntp/drift
restrict default nomodify notrap nopeer noquery
restrict 127.0.0.1 
restrict ::1
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
server 192.168.1.131   
fudge 192.168.1.131 stratum 10 
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor 
EOF
cat /etc/ntp.conf
#需要把对应server Fudge IP和restrict网段进行修改即可

集群时钟同步必读-NTP和chrony

● 注意:先启动主节点的NTP服务、再启动其他节点

#主节点执行同步
systemctl restart ntpd
systemctl status ntpd
#systemctl enable ntpd

集群时钟同步必读-NTP和chrony

集群时钟同步必读-NTP和chrony

● 同步硬件时间,检查集群同步状态,关闭chyony

#其他节点执行同步
ntpdate -u 192.168.1.131

#同步硬件时间
sed -i 's#SYNC_HWCLOCK=no#SYNC_HWCLOCK=yes#g' /etc/sysconfig/ntpdate
hwclock -w            
hwclock -r        


#检查是否成功
ntpstat
ntpq -p
timedatectl

#会冲突,需要停止chronyd.service
systemctl stop chronyd.service
systemctl disable chronyd.service

集群时钟同步必读-NTP和chrony

集群时钟同步必读-NTP和chrony

集群时钟同步必读-NTP和chrony

3、  在线环境:3台机器同步外网时钟服务器即可

在线环境同步时间

#手动同步
ntpdate -u ntp.ntsc.ac.cn

#写入配置文件自动同步
mv /etc/ntp.conf /etc/ntp.conf.bakk
cat >>/etc/ntp.conf<<EOF    
driftfile /var/lib/ntp/drift
restrict default nomodify notrap nopeer noquery
restrict 127.0.0.1 
restrict ::1
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
server ntp.ntsc.ac.cn   
fudge ntp.ntsc.ac.cn stratum 10 
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor 
EOF
cat /etc/ntp.conf

集群时钟同步必读-NTP和chrony

4、  开放端口123

如果无法同步,请检查防火墙是否开放端口123

netstat -lnptu | grep ntp

#关闭防火墙和selinux
systemctl stop firewalld.service
systemctl disable firewalld.service  
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
sestatus

集群时钟同步必读-NTP和chrony

五、  chrony搭建集群同步时间

1、  更新阿里源、安装chony

离线环境提前下载离线包

#更新阿里源
cd /etc/yum.repos.d/ 
curl -L -O https://mirrors.aliyun.com/repo/Centos-7.repo && mv ./Centos-7.repo /etc/yum.repos.d/CentOS-Base.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
curl -L -O  http://mirrors.aliyun.com/repo/epel-7.repo && mv ./epel-7.repo /etc/yum.repos.d/epel.repo
yum clean all && yum makecache
yum install -y epel-*

#安装chrony
rpm -qa | grep chrony
yum -y remove chrony        
yum -y install chrony

#设置时区上海
timedatectl set-timezone Asia/Shanghai    
date
mv /etc/localtime /etc/localtime.bak
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
timedatectl set-timezone Asia/Shanghai

集群时钟同步必读-NTP和chrony

2、  离线环境:3台机器时钟同步其中一台

将192.168.1.131作为主节点,其他节点都同步它,允许同步网段设置为192.168.1.0

● 主节点选择192.168.1.131,修改主节点配置文件

#主节点:修改配置文件
mv /etc/chrony.conf /etc/chrony.conf.bakk
cat >> /etc/chrony.conf<<EOF
server 192.168.1.131 iburst
server 127.0.0.1 iburst
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
allow 192.168.1.0/24
local stratum 10
logdir /var/log/chrony
EOF
cat /etc/chrony.conf

集群时钟同步必读-NTP和chrony

● 主节点选择192.168.1.131,修改主节点配置文件

#其他节点:修改配置文件
mv /etc/chrony.conf /etc/chrony.conf.bakk
cat >> /etc/chrony.conf<<EOF
server 192.168.1.131 iburst
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
local stratum 10
logdir /var/log/chrony
EOF
cat /etc/chrony.conf

集群时钟同步必读-NTP和chrony

● 注意:先启动主节点的NTP服务、再启动其他节点

#先停止ntp\ntpdate服务
systemctl stop ntpd.service
systemctl stop ntpdate.service

#再启动chronyd
systemctl restart chronyd.service
systemctl status chronyd.service

#等几秒可以查看同步状态
chronyc sources -v
chronyc clients
timedatectl

集群时钟同步必读-NTP和chrony

集群时钟同步必读-NTP和chrony

集群时钟同步必读-NTP和chrony

3、  在线环境:3台机器同步外网时钟服务器即可

#写入配置文件自动同步
mv /etc/chrony.conf /etc/chrony.conf.bakk
cat >> /etc/chrony.conf<<EOF
server ntp.ntsc.ac.cn iburst
server 127.0.0.1 iburst
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
allow 192.168.1.0/24
local stratum 10
logdir /var/log/chrony
EOF
cat /etc/chrony.conf

4、  开放端口123和323

下面是 Chrony 服务使用的默认端口:

● UDP 端口 123:Chrony 客户端和服务器都使用此端口进行 NTP 数据包通信。

● TCP 端口 323:如果需要,Chrony 可以使用此端口进行监视和配置。

集群时钟同步必读-NTP和chrony

 

原文链接:https://www.cnblogs.com/subsea/p/17350326.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:集群时钟同步必读-NTP和chrony - Python技术站

(0)
上一篇 2023年4月25日
下一篇 2023年4月25日

相关文章

  • linux下dhcp服务配置教程

    Linux下DHCP服务配置教程 DHCP服务器是网络管理员非常常用的一个工具。它能够自动分配IP地址、子网掩码、网关、DNS服务器等相关的网络参数,大大减轻了管理员的工作负担。本文将详细介绍在Linux下如何安装和配置DHCP服务器。 安装DHCP服务 在Linux上安装DHCP服务器非常简单。大多数发行版都有相应的DHCP软件包。以Ubuntu为例: s…

    Linux 2023年5月14日
    00
  • linux 部署apache服务的步骤

    以下是“Linux部署Apache服务的步骤”的完整使用攻略,包含两个示例说明。 步骤 在Linux服务器上安装Apache: sudo apt-get update apt-get install apache2 2.启动Apache服务: bash sudo systemctl start apache2 验证Apache是否正在运行: bash sud…

    Linux 2023年5月12日
    00
  • Linux下安装mysql-5.6.4 的图文教程

    下面是详细的Linux下安装mysql-5.6.4的图文教程: 1. 确认依赖库安装 在安装MySQL之前,我们需要确认一些依赖库是否已经安装。在命令行下输入以下命令: sudo apt-get update sudo apt-get install build-essential sudo apt-get install libncurses5-dev 这…

    Linux 2023年5月14日
    00
  • Python_基于Python同Linux进行交互式操作实现通过堡垒机访问目标机

    基于Python同Linux进行交互式操作实现通过堡垒机访问目标机   by:授客 QQ:1033553122 欢迎加入全国软件测试交流群:7156436   实现功能 1 测试环境 1 代码实践 2 注意 5   实现功能 远程登录Linux堡垒机,同Linux进行交互式操作,访问目标机   测试环境 Win7 64位   Python 3.3.4   p…

    Linux 2023年4月11日
    00
  • Linux vmstat命令

    Linux vmstat命令的作用与使用方法 Linux vmstat命令用于监控系统的虚拟内存、进程、CPU 等资源的使用情况,可以实时显示系统的运行状态,包括内存使用情况、进程状态、CPU 使用率等信息。它可以帮助了解系统中各种资源的使用情况,及时发现问题并进行优化。 Linux vmstat命令的使用方法 vmstat命令的基本语法如下: vmstat…

    Linux 2023年5月10日
    00
  • VMware下ubuntu扩展磁盘空间的方法

    下面我将详细讲解如何在VMware虚拟机中扩展Ubuntu系统磁盘空间。 第一步:在VMware中扩展虚拟硬盘 首先需要在VMware中将虚拟硬盘进行扩展,具体步骤如下: 在VMware虚拟机中,选择要扩展的虚拟硬盘,点击虚拟机设置(VM -> Settings)。 在虚拟硬盘设置中,选择“硬盘”,点击“扩展(Expand)”按钮,按照需要扩展的大小进…

    Linux 2023年5月24日
    00
  • 如何在Linux系统上设置环境变量?

    下面是如何在Linux系统上设置环境变量的完整攻略: 什么是环境变量? 环境变量是在操作系统中被用来存储有关操作系统和程序环境信息的变量。在Linux系统下设置环境变量有助于加强系统的可定制性和灵活性,可让用户自定义一些配置,以便于程序和系统的使用。 如何设置环境变量? 临时设置环境变量 临时设置环境变量只对当前的 shell 进程有效,退出 shell 后…

    Linux 2023年4月19日
    00
  • Linux系统下怎么搭建Gitlab服务器

    本篇内容主要讲解“Linux系统下怎么搭建Gitlab服务器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux系统下怎么搭建Gitlab服务器”吧! 1、安装依赖工具 // 安装技术依赖 yum install -y curl policycoreutils-python openssh-server //…

    Linux 2023年4月16日
    00
合作推广
合作推广
分享本页
返回顶部