Centos-一文搞懂時區時鐘配置和NTP/chrony設置

来源:https://www.cnblogs.com/subsea/archive/2023/08/25/17654546.html
-Advertisement-
Play Games

平時使用windows電腦和手機的時候,配置時間、時區都非常的簡便。但在命令行的linux下,就不知如何下手。本文就Centos7舉例,依次說明下時間日期和NTP\CHRONY的配置。 由於在伺服器側時間同步常用於集群之間,所以本文後面會針對集群間的配置做舉例。文中涉及到的網路安裝軟體部分,預設為在 ...


 平時使用windows電腦和手機的時候,配置時間、時區都非常的簡便。但在命令行的linux下,就不知如何下手。本文就Centos7舉例,依次說明下時間日期和NTP\CHRONY的配置。

由於在伺服器側時間同步常用於集群之間,所以本文後面會針對集群間的配置做舉例。文中涉及到的網路安裝軟體部分,預設為線上安裝。但是也會附上離線環境安裝方法。

 

一、  準備環境

系統:Centos7-x86-64

類型:虛擬機

網路:有互聯網

註意:ntp和chrony無法同時再一臺機器運行;請單獨安裝運行

ip

系統版本

ntp版本

chrony版本

192.168.1.131

Centos7.6

ntp-4.2.6p5-29.el7

ntpdate-4.2.6p5-29.el7

chrony-3.4-1.el7.x86_64

192.168.1.132

Centos7.6

192.168.1.133

Centos7.6

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

 

二、  時區配置

時區一般是在安裝系統時候配置,如果當時忘記了,後續配置也比較簡單

時區設置立即生效、無需重啟

#查詢系統當前設置的時區
timedatectl

#時區文件夾
ls /usr/share/zoneinfo/

#設置中國時區
timedatectl set-timezone Asia/Shanghai
mv /etc/localtime /etc/localtime.bak
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

#設置美國時區
timedatectl set-timezone America/New_York
mv /etc/localtime /etc/localtime.bak
ln -s /usr/share/zoneinfo/America/New_York /etc/localtime

 

三、  系統區域\字元集配置

系統區域設置也稱為環境設置或者字元集設置,可以配置系統顯示的字元集、一般設置為美國或者中國、註意:配置後需要重啟

參考:第 2 章 系統位置和鍵盤配置 Red Hat Enterprise Linux 7 | Red Hat Customer Portal

#查詢當前系統區域/字元集
locale
localectl status

#列出可用的系統區域/字元集設置
localectl list-locales

#設置zh_CN.UTF-8
localectl set-locale LANG=zh_CN.UTF-8
echo "LANG=zh_CN.UTF-8" > /etc/locale.conf

#設置en_US.utf8
localectl set-locale LANG=en_US.utf8
echo "LANG=en_US.utf8" > /etc/locale.conf
#配置後需要重啟

四、  日期和時間手動配置

系統的日期和時間都是自動同步NTP服務,有時候需要手動配置,可以使用data -s命令

#日曆顯示
cal

#時間顯示
date

#修改時間23:00
date -s 23:00:00

#修改日期8.20
date -s "2023-8-20"

#修改時間為 2023-8-24 1440
date -s "2023-8-24 14:40"

五、  配置NTP服務自動同步時間

時鐘同步是電腦和伺服器配置十分重要的一個環節,不管是線上環境還是離線環境,都需要時間同步統一,不然很多服務和程式都會報錯。

NTP服務是網路時間協議 ,可以準確顯示時間和日期信息,以便讓聯網電腦系統上的時間時鐘與網路或互聯網上的常見引用保持同步。世界各地的許多標準正文都有原子時鐘,這些時鐘可以作為參考提供。組成全球定位系統的衛星包含多個原子時鐘,使其時間信號可能非常準確。出於軍事原因,這些信號可以有意降級。

在linux系統,一般是主機作為客戶端角色使用NTP服務軟體去遠程同步網路時鐘伺服器,這種適用於線上環境下單台機器的情況。

如果是離線環境且有多台機器情況,一般會在內部搭建一個時鐘伺服器,其他主機同步它的時間。目前主流NTP服務軟體分為NTP和chrony。

5-1 NTP和chrony區別

第 18 章 使用 chrony 套件配置 NTP Red Hat Enterprise Linux 7 | Red Hat Customer Portal

詳細見官網:chrony – NTP 實施的比較

 

 

5-2 NTP線上環境同步遠程時鐘

線上環境:同步外網時鐘伺服器即可

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

#手動同步
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

5-3 chrony線上環境同步遠程時鐘

線上環境:同步外網時鐘伺服器即可

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

#寫入配置文件自動同步
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
 

六、  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

2、  離線環境:3台機器時鐘同步其中一臺

將192.168.1.131作為主節點,其他節點都同步它,允許同步網段設置為192.168.1.0

3、  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 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網段進行修改即可

4、  NTP其他節點配置修改

#其他節點: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服務、再啟動其他節點

#主節點執行同步
systemctl restart ntpd
systemctl status ntpd
#systemctl enable ntpd

 

● 同步硬體時間,檢查集群同步狀態,關閉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

5、  開放埠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

七、  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

2、  離線環境:3台機器時鐘同步其中一臺

將192.168.1.131作為主節點,其他節點都同步它,允許同步網段設置為192.168.1.0

3、  NTP主節點配置

#主節點:修改配置文件
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

4、  NTP其他節點配置

#其他節點:修改配置文件
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服務、再啟動其他節點

#先停止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

5、  開放埠123和323

下麵是 Chrony 服務使用的預設埠:

● UDP 埠 123:Chrony 客戶端和伺服器都使用此埠進行 NTP 數據包通信。

● TCP 埠 323:如果需要,Chrony 可以使用此埠進行監視和配置。

 

作者: 博客園-李宗盛 如果覺得博主的文章對你有幫助,麻煩動動小手、點贊、評論、您的鼓勵是我最大的動力!!! 出處: https://home.cnblogs.com/u/subsea/ 博客園主頁:https://www.cnblogs.com/subsea/ CSDN主頁:https://blog.csdn.net/SUBSEA123/
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 實際工作中,為了優化性能,我們經常會使用緩存,例如緩存元數據、緩存基礎數據等,這就是一種典型的讀多寫少應用場景。緩存之所以能提升性能,一個重要的條件就是緩存的數據一定是讀多寫少的,例如元數據和基礎數據基本上不會發生變化(寫少),但是使用它們的地方卻很多(讀多)。 針對讀多寫少這種併發場景,Java... ...
  • ## 13.1、環境搭建 ### 13.1.1、創建module ![image](https://img2023.cnblogs.com/blog/2052479/202308/2052479-20230821075157720-1152690363.png) ### 13.1.2、選擇maven ...
  • 知乎網友問 鏈式重載是我自己創造的一個詞,意思是方法A里處理一下參數,return另一個方法A,第二個方法A里處理一下參數調第三個方法A,就這樣無限迴圈下去直到調到真正能出結果的方法A。 本人學藝不精,偶然進行C#開發,感覺看代碼要吐。比如看到某處調用方法A,除非有某個特征顯眼的參數,否則根本不知道 ...
  • # [The database operation was expected to affect 1 row(s), but actually affected 0 row(s); 解決樂觀併發](https://www.raokun.top/archives/thedatabaseoperatio ...
  • Trigger:當某些條件滿足時會觸發一個行為。 一、觸發器的類型 數據變化觸髮型:Trigger / DataTrigger 多條件觸髮型:MultiTrigger / MultiDataTrigger 事件觸髮型:EventTrigger 二、Trigger Trigger:Property用來 ...
  • # Unity UGUI的Toggle(覆選框)組件的介紹及使用 ## 1. 什麼是Toggle組件? Toggle(覆選框)是Unity UGUI中的一個常用組件,用於實現覆選框的功能。它可以被選中或取消選中,並且可以代碼通過其制控狀態。 ## 2. Toggle組件的工作原理 組Toggle件由 ...
  • 圖形系部分主要有`Shape`和`Goemetry`兩大類,可以直接對`Shape`進行排版、設定風格和數據綁定,後者則需要通過視覺元素才能在屏幕上顯示出來。動畫則一般分為簡單動畫、關鍵幀動畫以及沿路徑運動的動畫,日常使用過程種應該是關鍵幀動畫用的多一點,當然除了文章中例舉的關鍵幀類型,還有其他很多... ...
  • 哈嘍大家好,我是鹹魚 在《[SELinux 入門 pt.1](https://mp.weixin.qq.com/s?__biz=MzkzNzI1MzE2Mw==&mid=2247486365&idx=1&sn=4b81b3cc70b085eec6f0a595fda719fb&chksm=c2930b ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...