RHEL網絡服務器詳解
1.時間同步的重要性
一些服務對時間要求非常嚴格,例如,圖20-1所示的由三臺服務器搭建的ceph集群

這三臺服務器的時間必須保持一致,如果不一致,就會顯示警告信息。那么。如何能讓這三臺服務器的時間保持一致呢?手動調整時間的方式肯定不行,因為手動調整時間最多只能精確到分,很難精確到秒。而且即使現在時間調整一致了,過一段時間之后,時間可能又不一樣了
所以,需要通過設置讓這些服務器的時間能夠自動同步,如圖20-2所示

這里假設我們有一個時間服務器時間為7:00,設置server1和 server2向此時間服務器進行時間同步。假設serverl 當前時間為6;59,它與時間服務器一對比,“我的時間比時間服務器慢了一分鐘”,然后它主板上的晶體芯片就會跳動得快一些,很快就“追”上了時間服務器的時間
假設server2當前時間是7:01,它與時間服務器一對比,“我竟然比時間服務器快了一分鐘”,然后它主板上的晶體芯片就會跳動得慢一些,“等著”時間服務器。
下面就開始使用chrony來配置時間服務器
2.配置時間服務器
實驗拓撲圖如下圖所示。

在安裝系統(tǒng)時,如果已經選擇了圖形化界面,則默認已經把chrony這個軟件安裝上了。
使用vim編輯器打開/etc/chrony.conf,只修改我們能用的幾行
(1)指定所使用的上層時間服務器。
把pool 2.rhel.pool.ntp.org iburst修改為pool 127.127.1.0 iburst ##如下圖所示

pool后面跟的是時間服務器,因為這里把server作為chrony服務器,沒有上一層的服務器,所以上層服務器設置為本地時鐘的IP:127.127.1.0。
這里iburst的意思是,如果chrony服務器出問題,客戶端會發(fā)送一系列的包給chrony服務器,對服務器進行檢測。
(2)指定允許訪問的客戶端
修改allow所在行,把注釋符#去掉,并把后面的網段改為192.168.103.0/24。(注:修改的網段是你自己的網段)
把 #allow 192.168.0.0 / 16 修改為 allow 192.168.103.0 / 24,如下圖所示

server 配置成時間服務器之后,只允許192.168.26.0/24網段的客戶端進行時間同步。如果要允許所有客戶端都能向此時間服務器進行時間同步,可以寫成allow 0/0或allow all。
(3)把local stratum 前的注釋符#去掉。
把#local stratum 10修改為local stratum 10,如下圖所示

這行的意思是,即使服務器本身沒有和時間服務器保持時間同步,也可以對外提供時間服務,這行注釋要取消
保存退出,去除空白行和注釋行之后,最后修改完成的代碼如下,加粗字是修改的內容
[root@RHEL813 ~]# egrep -v "^#|^$" /etc/chrony.conf pool 127.127.1.0 iburst driftfile /var/lib/chrony/drift makestep 1.0 3 rtcsync allow 192.168.103.0/24 local stratum 10 keyfile /etc/chrony.keys leapsectz right/UTC logdir /var/log/chrony [root@RHEL813 ~]#
然后重啟chronyd這個服務(注意,這里是chronyd而不是chrony),并設置開機自動啟動,命令如下
[root@RHEL813 ~]# systemctl restart chronyd.service [root@RHEL813 ~]# systemctl enable chronyd [root@RHEL813 ~]#
查看chrony使用的是什么端口號,命令如下
[root@RHEL813 ~]# netstat -nutlp | grep chronyd udp 0 0 0.0.0.0:123 0.0.0.0:* 4075/chronyd udp 0 0 127.0.0.1:323 0.0.0.0:* 4075/chronyd udp6 0 0 ::1:323 :::* 4075/chronyd [root@RHEL813 ~]#
可以看到,chrony使用的是123和323端口號
在防火墻中把這兩個端口開放,命令如下。
[root@RHEL813 ~]# netstat -nutlp | grep chronyd udp 0 0 0.0.0.0:123 0.0.0.0:* 4075/chronyd udp 0 0 127.0.0.1:323 0.0.0.0:* 4075/chronyd udp6 0 0 ::1:323 :::* 4075/chronyd [root@RHEL813 ~]#
這里加上 --permanent選項的目的是讓其永久生效,然后通過reload重新加載防火墻規(guī)則,讓其也立即生效。
3.配置chrony客戶端
把server2配置成時間服務器的客戶端,也就是chrony客戶端
在server2(IP地址為192.168.103.14)上用vim編輯器修改/etc/chrony.conf,修改下面的幾行
(1)修改pool那行,指定要從哪臺時間服務器同步時間。
由原來的 pool 2. rhel . pool . ntp . org iburst 改為 pool 192.168.103.17 iburst

這里指定時間服務器為192.168.103.17,即向192.168.103.17進行時間同步。
(2)修改makestep那行,格式如下。
makestep 閾值 limit
客戶端向服務器同步時間有兩種方式:step和 slew。
step:跳躍著更新時間,如時間由1點直接跳到7點。
slew:平滑著移動時間,晶體芯片跳動得快一些,就好比秒針的轉速“快進”了一樣。
如果客戶端和服務器的時間相差較多,則通過step的方式更新時間;如果客戶端和服務器的時間相差不多,則通過slew的方式更新時間。那么,時間相差多或不多的標準是什么呢?就要看時間差是否超過makestep后面的住值了。
舉一個例子,makestep 10 3的意思是,如果客戶端和服務器的時間相差10秒以上,就認為客戶端和服務器的時間相差較多,則前三次通過step 的方式更新時間??蛻舳送ㄟ^這種方式會更新得很快,有些應用程序因為時間的突然跳動會帶來問題。
如果客戶端和服務器的時間相差10秒以內,就認為二者時間相差不多,則通過slew的方式更新時間。這種方式更新的速度會比較慢,但比較平穩(wěn)。
把原來的makestep 10 3改成makestep 200 3

如果客戶端和服務器的時間相差200秒以上,就認為二者時間相差較多,則通過step的方式更新時間。
保存退出并重啟 chronyd服務,命令如下。
[root@RHEL8 ~]# systemctl restart chronyd.service [root@RHEL8 ~]# systemctl enable chronyd [root@RHEL8 ~]#
4.開始時間同步
為了更細致地看到兩臺機器的時間差,先配置ssh使得server2可以無密碼登錄到server。先生成密鑰對,命令如下。
[root@RHEL8 ~]# ssh-keygen -N "" -f /root/.ssh/id_rsa Generating public/private rsa key pair. Created directory '/root/.ssh'. Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:sSqHTuVO5MaJ9f0/C25UezAavFLxTSHE1IYL82Z84Z4 root@RHEL8 The key's randomart image is: +---[RSA 3072]----+ | ++o..| | o.o.+.| | . .=o+o.| | o +*=o.| | + S .o=o+.| | X + .. + .E.| | = X . .o. . | | o * o... | | . . .o.oo | +----[SHA256]-----+ [root@RHEL8 ~]#
配置到server的密鑰登錄,命令如下。
[root@RHEL8 ~]# ssh-copy-id 192.168.103.17 /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub" The authenticity of host '192.168.103.17 (192.168.103.17)' can't be established. ECDSA key fingerprint is SHA256:mPeYkYf9kK8DY0zQh3PotyJq1vtAuHrfNvaJHtZQi9M. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys root@192.168.103.17's password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh '192.168.103.17'" and check to make sure that only the key(s) you wanted were added. [root@RHEL8 ~]#
給server2上通過date命令設置時間,使得server2和server的時間相差200秒,命令如下。
[root@RHEL8 ~]# date -s "2023-11-08 11:12:00" ; hwclock -w 2023年 11月 08日 星期三 11:12:00 CST [root@RHEL8 ~]#
然后同時顯示兩臺機器的時間,命令如下。
[root@RHEL8 ~]# date ; ssh 192.168.103.17 date 2023年 11月 08日 星期三 11:12:29 CST 2023年 12月 07日 星期四 22:15:04 EST [root@RHEL8 ~]#
可以看到,時間相差了約3分鐘,即180秒。
然后重啟server2的chronyd服務,等待幾秒之后再次查看。
[root@RHEL8 ~]# systemctl restart chronyd.service [root@RHEL8 ~]# date ; ssh 192.168.103.17 date 2023年 12月 08日 星期五 11:16:17 CST 2023年 12月 07日 星期四 22:16:17 EST [root@RHEL8 ~]#
可以看到,時間很快就同步了,因為這是通過step的方式同步的。
再次修改時間,命令如下。
[root@RHEL8 ~]# date -s "2023-11-08 11:19:30" ; hwclock -w 2023年 11月 08日 星期三 11:19:30 CST [root@RHEL8 ~]# date ; ssh 192.168.103.17 date 2023年 11月 08日 星期三 11:19:32 CST 2023年 12月 07日 星期四 22:20:28 EST [root@RHEL8 ~]#
兩臺機器的時間相差26秒,這個值低于200秒,即在makestep的闕值范圍之內,此時客戶端向服務器進行時間同步時只能通過slew的方式同步。
此時重啟 chronyd服務,也不會保持時間同步,命令如下。
[root@RHEL8 ~]# systemctl restart chronyd.service [root@RHEL8 ~]# date ; ssh 192.168.103.17 date 2023年 11月 08日 星期三 11:21:20 CST 2023年 12月 07日 星期四 22:22:16 EST [root@RHEL8 ~]#
可以看到,并沒有同步,因為slew同步的速度比較慢。
此時如果通過執(zhí)行chronyc makestep命令手動step同步,則會立即同步時間,命令如
下。
[root@RHEL8 ~]# chronyc makestep 200 OK [root@RHEL8 ~]# date ; ssh 192.168.103.17 date 2023年 12月 08日 星期五 11:23:15 CST 2023年 12月 07日 星期四 22:23:15 EST [root@RHEL8 ~]#
這樣就可以看到立即同步成功了。通過chronye -n sources -v查看現在的同步狀況,如下圖所示。

至此,chrony時間同步已經配置完成了
到此這篇關于RHEL網絡服務器的文章就介紹到這了,更多相關RHEL網絡服務器內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
MongoDB學習筆記(二) 通過samus驅動實現基本數據操作
傳統(tǒng)的關系數據庫一般由數據庫(database)、表(table)、記錄(record)三個層次概念組成,MongoDB是由(database)、集合(collection)、文檔對象(document)三個層次組成2013-07-07
VPS主機快速搬家方法:邊打包邊傳輸邊解壓適合大中型論壇網站
本篇文章給大家分享如何在VPS主機之間快速搬家,一邊打包壓縮原主機上的文件,一邊傳輸文件數據到新的主機上,一邊在新的VPS主機上解壓文件,因為所有的操作都是在VPS主機上之間進行,傳輸速度可以達到幾MB/s以上,特別適合一些大中型的論壇和網站搬家2017-07-07

