平時使用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 14:40 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/