新聞中心
在數(shù)據(jù)庫(kù)管理系統(tǒng)中,時(shí)間是非常重要的因素,許多數(shù)據(jù)庫(kù)系統(tǒng)的關(guān)鍵功能都需要時(shí)間的支持。在多臺(tái)數(shù)據(jù)庫(kù)服務(wù)器之間進(jìn)行時(shí)間同步,可以保證數(shù)據(jù)的一致性和可靠性。時(shí)間同步的方法很多,但最為常見(jiàn)和方便的方法是使用NTP協(xié)議。本文將會(huì)詳細(xì)介紹如何通過(guò)NTP協(xié)議實(shí)現(xiàn)數(shù)據(jù)庫(kù)時(shí)間同步。

一、什么是NTP協(xié)議
Network Time Protocol,網(wǎng)絡(luò)時(shí)間協(xié)議,簡(jiǎn)稱(chēng)NTP,是用于同步計(jì)算機(jī)時(shí)鐘的網(wǎng)絡(luò)協(xié)議。NTP的基本思路是在網(wǎng)絡(luò)中建立一個(gè)時(shí)間服務(wù)器,該服務(wù)器會(huì)以更高的穩(wěn)定性和更準(zhǔn)確的時(shí)鐘進(jìn)行時(shí)間同步,并向其他設(shè)備提供時(shí)間同步服務(wù)。
二、NTP協(xié)議的工作原理
NTP協(xié)議的工作原理可以簡(jiǎn)單地概括為:客戶端與服務(wù)器之間建立連接,客戶端向服務(wù)器發(fā)送請(qǐng)求獲得當(dāng)前時(shí)間,服務(wù)器計(jì)算出時(shí)間差值并返回給客戶端,客戶端根據(jù)時(shí)間差值調(diào)整自己的時(shí)鐘來(lái)同步時(shí)間。
具體的工作流程如下:
1. 客戶端發(fā)送時(shí)間請(qǐng)求給NTP服務(wù)器。
2. NTP服務(wù)器收到請(qǐng)求后,查詢時(shí)間源獲得準(zhǔn)確的當(dāng)前時(shí)間值,并以NTP協(xié)議格式返回給客戶端。
3. 客戶端收到NTP協(xié)議格式的時(shí)間值后,根據(jù)協(xié)議規(guī)則計(jì)算出時(shí)間差值,并校準(zhǔn)自己的時(shí)鐘。
4. 時(shí)間同步完成。
三、如何配置NTP協(xié)議實(shí)現(xiàn)數(shù)據(jù)庫(kù)時(shí)間同步
1. 安裝NTP軟件
在數(shù)據(jù)庫(kù)服務(wù)器上,我們需要安裝NTP軟件,以CentOS系統(tǒng)為例,可以通過(guò)以下命令進(jìn)行安裝:
“`bash
yum install ntp
“`
2. 配置NTP服務(wù)器
通過(guò)修改配置文件/etc/ntp.conf實(shí)現(xiàn)NTP服務(wù)器的配置,典型的配置如下:
“`bash
# server表示NTP服務(wù)器的IP地址,prefer表示優(yōu)先級(jí)高。
server 0.pool.ntp.org prefer
server 1.pool.ntp.org
server 2.pool.ntp.org
“`
以上配置中,三個(gè)server代表三個(gè)不同的NTP服務(wù)器,其中使用prefer表示優(yōu)先級(jí)更高。
3. 啟動(dòng)NTP服務(wù)
啟動(dòng)NTP服務(wù),即可開(kāi)始時(shí)間同步。
“`bash
systemctl start ntpd
“`
四、調(diào)試NTP協(xié)議
通過(guò)如下命令可以查看NTP服務(wù)器信息:
“`bash
ntpq -p
“`
命令輸出結(jié)果說(shuō)明:
* remote:NTP服務(wù)器的IP地址。
* refid:參考ID,該值通常是一些特定的服務(wù)器IP地址,以確保其精度與可靠性。
* st:stratum,即層次,0表示為時(shí)間源(主服務(wù)器),1表示為直接從時(shí)間源收到時(shí)間信息的服務(wù)器,依此類(lèi)推。
* t:type,即類(lèi)型。
* when:最近的時(shí)間更新的時(shí)間。
* poll:多長(zhǎng)時(shí)間更新一次時(shí)間。
* reach:標(biāo)識(shí)當(dāng)前的NTP服務(wù)器是否在信號(hào)范圍內(nèi)的8位二進(jìn)制數(shù)。
下面是一個(gè)樣例輸出:
“`
remote refid st t when poll reach delay offset jitter
==============================================================================
+111.111.111.111 222.222.222.222 2 u 500 1024 377 10.123 2.123 7.321
+333.333.333.333 444.444.444.444 2 u 500 1024 377 33.123 0.123 5.321
*555.555.555.555 .NIST. 1 u 500 1024 377 54.123 1.123 5.321
“`
星號(hào)(*)表示當(dāng)前系統(tǒng)正在使用的NTP服務(wù)器,加號(hào)(+)表示其他可用的NTP服務(wù)器。
五、
通過(guò)配置NTP協(xié)議,我們可以輕松地實(shí)現(xiàn)數(shù)據(jù)庫(kù)時(shí)間同步。需要注意的是,在使用NTP協(xié)議時(shí),務(wù)必保證服務(wù)器時(shí)間的準(zhǔn)確性,并配置不同級(jí)別的NTP服務(wù)器來(lái)提高同步的準(zhǔn)確性和可靠性。在NTP協(xié)議的調(diào)試和維護(hù)過(guò)程中,使用ntpq命令可以幫助我們查看目前使用和可用的NTP服務(wù)器信息,形成相對(duì)較為穩(wěn)定和可靠的時(shí)間同步機(jī)制。
相關(guān)問(wèn)題拓展閱讀:
- debian如何實(shí)現(xiàn)和ntp同步?
- 【ntpdate】CentOS7.x上使用ntpdate同步ntp服務(wù)器
debian如何實(shí)現(xiàn)和ntp同步?
工具/原料:
Debian
ntpdate
1.使用root用戶登錄Debian系統(tǒng),然后使用“apt-cache search ntpdate”查看本地源中是否包含ntpdate軟件。如果包含可以進(jìn)行下一步,如果不包含,請(qǐng)跟換其他滲鋒基的源地址并重新更新源。重新搜索確認(rèn)ntpdate是否存在。
2.使用“apt-get install ntpdate”命令,安裝ntpdate軟件。如果出現(xiàn)下圖所示結(jié)果即表示安裝成功。
3.對(duì)于Debian的系統(tǒng)時(shí)間叢謹(jǐn)與
NTP服務(wù)器
時(shí)間同步,必須要有一個(gè)NTP服務(wù)器的
IP地址
。以下截圖為國(guó)內(nèi)常用NTP服務(wù)器IP地址。
4.使用“ntpdate ntp.sjtu.edu.cn ”和“ntpdate 202.120.2.101”命令,都可以同步NTP服務(wù)器時(shí)間,并且兩個(gè)命令代表同一臺(tái)服務(wù)器。
5.由于Debian系統(tǒng)長(zhǎng)時(shí)間運(yùn)行,經(jīng)常性導(dǎo)致系統(tǒng)時(shí)間變慢,因此可以使用命名“crontab -e ”,并在文件中添加基碰如下一行“*/30 * * * * /usr/in/ntpdate time.cuit.edu.cn ”,表示沒(méi)30分鐘,系統(tǒng)自動(dòng)同步一次時(shí)間。
6.使用命令“date”查看系統(tǒng)當(dāng)前時(shí)間,看看ntpdate命令是否生效。
【ntpdate】CentOS7.x上使用ntpdate同步ntp服務(wù)器
NTP服務(wù)器顧名思義就是時(shí)間同步服務(wù)器(Network Time Protocol),Linux下的ntp服務(wù)器配置相對(duì)來(lái)說(shuō)都比較容易,但在Linux下有一個(gè)弊端, 不同時(shí)區(qū)或者說(shuō)是時(shí)間相差太大的無(wú)法同步 ,所以在配置ntp服務(wù)器之前需要把時(shí)間配置成相扮拿同的。
NTP時(shí)鐘同步方式說(shuō)明
NTP在linux下有兩種時(shí)鐘同步方式,分別為直接同步和平滑同步:
直接同步
使用ntpdate命令進(jìn)行同步,直接進(jìn)行時(shí)間變更。如果服務(wù)器上存在一個(gè)12點(diǎn)運(yùn)行的任務(wù),當(dāng)前服務(wù)器時(shí)間是13點(diǎn),但標(biāo)準(zhǔn)時(shí)間時(shí)11點(diǎn),使用此命令可能會(huì)造成任務(wù)重復(fù)執(zhí)行。因此使用ntpdate同步可能會(huì)引發(fā)風(fēng)險(xiǎn),因此該命令也多用于配置時(shí)鐘同步服務(wù)時(shí)之一次同步時(shí)間時(shí)使用。
平滑同步
使用ntpd進(jìn)行時(shí)鐘同步,可以保證一個(gè)時(shí)間不經(jīng)歷兩次,它每次同步時(shí)間的偏移量不會(huì)太陡,是慢慢來(lái)的,這正因?yàn)檫@樣,ntpd平滑同步可能耗費(fèi)的時(shí)間比較長(zhǎng)。
標(biāo)準(zhǔn)時(shí)鐘同步服務(wù)
這個(gè)網(wǎng)站包含全球的標(biāo)準(zhǔn)時(shí)間同步服務(wù),也包括對(duì)中國(guó)時(shí)間的同步,對(duì)應(yīng)的URL為:cn.pool.ntp.org
在其中也描述了ntp配置文件中的建議寫(xiě)法:
server 1.cn.pool.ntp.org
server 2.asia.pool.ntp.org
server 3.asia.pool.ntp.org
實(shí)驗(yàn)室集群沒(méi)有聯(lián)網(wǎng),我們需要搭建ntp服務(wù)器并進(jìn)行時(shí)間同步。
現(xiàn)使用的系統(tǒng)為centos7.2,機(jī)器使用情況如下表所示,這里以192.168.1.102為ntp server,192.168.1.104為client對(duì)時(shí)間進(jìn)行同步。
NTP server.168.1.102
NTP client.168.1.104
1.在集群中所有節(jié)點(diǎn)上安裝ntp
# yum -y install ntp
2.所有節(jié)點(diǎn)設(shè)置時(shí)區(qū),這里設(shè)置為中國(guó)所用時(shí)間
# timedatectl set-timezone Asia/Shanghai
3.在server節(jié)點(diǎn)上啟動(dòng)ntp服務(wù)
# systemctl startntpd
# systemctl enable ntpd
4.在server節(jié)點(diǎn)上設(shè)置現(xiàn)在的準(zhǔn)確時(shí)間
# timedatectl set-time HH:MM:SS
5.在server節(jié)點(diǎn)上設(shè)置其ntp服務(wù)器為其自身,同時(shí)咐缺友設(shè)置可以接受連接服務(wù)的客戶端,是通過(guò)更改/etc/ntp.conf文件來(lái)實(shí)現(xiàn),其中server設(shè)置127.127.1.0為其自身,新增加一個(gè) restrict 段為可以接受服務(wù)的網(wǎng)段
# vim /etc/ntp.conf
6.重啟ntpd服務(wù)
# systemctl restart ntpd
# timedatectl
NTP synchronized: yes
啟用ntpd后,服務(wù)器就開(kāi)啟了ntpd自動(dòng)同步,無(wú)法使用 timedatectl set-time HH:MM:SS重新設(shè)置時(shí)間。
如果要使用timedatectl set-time HH:MM:SS 重新設(shè)置衡槐時(shí)間:
# systemctl stop ntpd
# timedatectl set-ntp false
# timedatectl set-time HH:MM:SS
# hwclock -w
# systemctl start ntpd
1.客戶端時(shí)區(qū)需要和服務(wù)端保持一致,否則無(wú)法同步時(shí)間
# timedatectl set-timezone
Asia/Shanghai
2.安裝同步軟件包
# yum -y install ntpdate
3. 修改/etc/sysconfig/ntpdate,讓ntpdate每次同步時(shí)間之后把時(shí)間寫(xiě)入hwclock,相當(dāng)于命令hwclock -w
將最后一行SYNC_HWCLOCK=no修改為:SYNC_HWCLOCK=yes
# vim /etc/sysconfig/ntpdate
4.客戶端定時(shí)任務(wù)配置
# crontab -e
* * * /in/ntpdate 192.168.1.102
設(shè)置為每天23:59分執(zhí)行,重啟crond服務(wù)
######################
定時(shí)任務(wù)基本格式 :
* * * * * command
分 時(shí) 日 月 周 命令
第1列表示分鐘1~59 每分鐘用*或者 */1表示
第2列表示小時(shí)1~23(0表示0點(diǎn))
第3列表示日期1~31
第4列表示月份1~12
第5列標(biāo)識(shí)號(hào)星期0~6(0表示星期天)
第6列要運(yùn)行的命令
################################
5.重啟定時(shí)任務(wù)
# systemctl restart crond.service
數(shù)據(jù)庫(kù)時(shí)間如何同步ntp的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于數(shù)據(jù)庫(kù)時(shí)間如何同步ntp,數(shù)據(jù)庫(kù)時(shí)間同步,輕松掌握:使用NTP即可,debian如何實(shí)現(xiàn)和ntp同步?,【ntpdate】CentOS7.x上使用ntpdate同步ntp服務(wù)器的信息別忘了在本站進(jìn)行查找喔。
創(chuàng)新互聯(lián)服務(wù)器托管擁有成都T3+級(jí)標(biāo)準(zhǔn)機(jī)房資源,具備完善的安防設(shè)施、三線及BGP網(wǎng)絡(luò)接入帶寬達(dá)10T,機(jī)柜接入千兆交換機(jī),能夠有效保證服務(wù)器托管業(yè)務(wù)安全、可靠、穩(wěn)定、高效運(yùn)行;創(chuàng)新互聯(lián)專(zhuān)注于成都服務(wù)器托管租用十余年,得到成都等地區(qū)行業(yè)客戶的一致認(rèn)可。
當(dāng)前名稱(chēng):數(shù)據(jù)庫(kù)時(shí)間同步,輕松掌握:使用NTP即可(數(shù)據(jù)庫(kù)時(shí)間如何同步ntp)
瀏覽路徑:http://www.dlmjj.cn/article/dpgddco.html


咨詢
建站咨詢
