廣西財(cái)經(jīng)學(xué)院圖書(shū)館 林 源
我館已啟用圖書(shū)館管理系統(tǒng)。系統(tǒng)運(yùn)行一段時(shí)間后,每當(dāng)客戶(hù)端啟用圖書(shū)館管理系統(tǒng)時(shí),總會(huì)提示客戶(hù)端時(shí)間與服務(wù)器時(shí)間相差三分鐘以上,是否與服務(wù)器時(shí)間保持一致,如同意則修改本機(jī)時(shí)間并進(jìn)入系統(tǒng),如不同意則直接退出系統(tǒng)。特別是對(duì)于一些無(wú)Administrator權(quán)限的用戶(hù),管理系統(tǒng)無(wú)法自動(dòng)修改本機(jī)時(shí)間,導(dǎo)致系統(tǒng)無(wú)法運(yùn)行。
我們都知道,所有計(jì)算機(jī)的時(shí)鐘都是由本機(jī)的電腦晶振以固定頻率振蕩產(chǎn)生的。由于晶振的不同,會(huì)導(dǎo)致各計(jì)算機(jī)之間存在時(shí)間上的差異。
為了解決各計(jì)算機(jī)之間存在的時(shí)間差異,出現(xiàn)了網(wǎng)絡(luò)時(shí)間協(xié)議NTP(Network Time Protocol),NTP是用來(lái)使計(jì)算機(jī)時(shí)間同步化的一種協(xié)議,它可以使計(jì)算機(jī)對(duì)其服務(wù)器或時(shí)鐘源(如石英鐘,GPS等等)做同步化,提供高精準(zhǔn)度的時(shí)間校正。使用該協(xié)議的NTP服務(wù)器是架設(shè)在Internet上的時(shí)間服務(wù)器,客戶(hù)端可以通過(guò)互聯(lián)網(wǎng),從時(shí)間服務(wù)器獲取國(guó)際標(biāo)準(zhǔn)時(shí)間,使用各計(jì)算機(jī)之間時(shí)間保持一致,稱(chēng)之為時(shí)間同步。局域網(wǎng)內(nèi)與標(biāo)準(zhǔn)時(shí)間差小于1毫秒,廣域網(wǎng)與標(biāo)準(zhǔn)時(shí)間相差約幾十毫秒。
考慮到圖書(shū)館管理系統(tǒng)服務(wù)器安全性的問(wèn)題,在進(jìn)行網(wǎng)絡(luò)規(guī)劃時(shí)將該服務(wù)器設(shè)置為內(nèi)網(wǎng)服務(wù)器,不能訪(fǎng)問(wèn)外網(wǎng),外網(wǎng)也不能訪(fǎng)問(wèn)該服務(wù)器。由于客戶(hù)機(jī)能夠訪(fǎng)問(wèn)外網(wǎng),可以通過(guò)操作系統(tǒng)自帶的“自動(dòng)與Internet時(shí)間服務(wù)器同步”獲取國(guó)際標(biāo)準(zhǔn)時(shí)間UTC;而圖書(shū)館管理系統(tǒng)服務(wù)器的時(shí)間只能由電腦晶振以固定頻率振蕩產(chǎn)生,運(yùn)行時(shí)間長(zhǎng)后,服務(wù)器時(shí)間與客戶(hù)機(jī)時(shí)間差異變大,出現(xiàn)上述問(wèn)題。
為徹底解決該問(wèn)題,需要在圖書(shū)館內(nèi)構(gòu)建一臺(tái)可供全館所有計(jì)算機(jī)和服務(wù)器可以訪(fǎng)問(wèn)的時(shí)間服務(wù)器。
目前較為常用的服務(wù)器操作系統(tǒng)有Windows、Linux、FreeBSD。
Windows是大家最為熟悉的操作系統(tǒng),擁有友好的界面和方便的操作,易于安裝和配置。但系統(tǒng)占用硬件資源較多,系統(tǒng)的穩(wěn)定性和可靠性相對(duì)較弱。據(jù)有關(guān)資料顯示,Windows系統(tǒng)的服務(wù)器年宕機(jī)時(shí)間為9個(gè)小時(shí)。
FreeBSD是一個(gè)自由的,源于AT&T UNIX的操作系統(tǒng),是一種i386的網(wǎng)絡(luò)操作系統(tǒng),屬于UNIX家庭之一。FreeBSD是一個(gè)完整的操作系統(tǒng),包含了從開(kāi)發(fā)工具到各種各樣的應(yīng)用程序。它由一個(gè)軟件開(kāi)發(fā)的核心團(tuán)隊(duì)來(lái)維護(hù),整個(gè)原始程序代碼會(huì)有組織地進(jìn)行更新,所以程序代碼比較有一致性。
FreeBSD的目標(biāo)是提供一個(gè)堅(jiān)如磐石的系統(tǒng)。十幾年的開(kāi)發(fā)使它成為一個(gè)“堅(jiān)如磐石”的網(wǎng)絡(luò)操作系統(tǒng),有許許多多的大網(wǎng)站和ISP在運(yùn)行著FreeBSD,系統(tǒng)完全免費(fèi),源代碼完全開(kāi)放,可根據(jù)用戶(hù)的需求自行修改等特性使得它成為商業(yè)計(jì)算機(jī)和科學(xué)研究的極佳平臺(tái)。
FreeBSD提供先進(jìn)的聯(lián)網(wǎng)能力,優(yōu)秀的性能,較好的安全性及兼容性等特點(diǎn)。這些直到今天也是在其他操作系統(tǒng)甚至是一些最好的商業(yè)操作系統(tǒng)中都沒(méi)有的。
FreeBSD是以PC為主要的開(kāi)發(fā)平臺(tái),所以FreeBSD在PC機(jī)上的執(zhí)行效率和穩(wěn)定性較高。
Linux作為完全免費(fèi)的兼容UNIX操作系統(tǒng),在近幾年來(lái)得到了飛速發(fā)展。其源代碼的開(kāi)放,以及近乎免費(fèi)的價(jià)格,都使其獲得了大量的用戶(hù)。但是與FreeBSD比,還不是真正意義上的UNIX系統(tǒng)。在網(wǎng)絡(luò)的負(fù)載非常高時(shí),F(xiàn)reeBSD的性能比Linux好一些。
考慮到時(shí)間服務(wù)器需要7*12小時(shí)不間斷運(yùn)行,盡可能少的人工干預(yù)服務(wù)器的運(yùn)行以及病毒的防治,本項(xiàng)目使用FreeBSD 9.0操作系統(tǒng)。
可通過(guò)http://download.chinaunix.net/download/0013000/12434.shtml下載
一般情況下,可以直接選擇國(guó)家授時(shí)中心服務(wù)器,IP地址:210.72.145.44,也可以通過(guò)搜索引擎,搜索出距離本地較近的時(shí)間服務(wù)器。搜索出的時(shí)間服務(wù)器必須經(jīng)過(guò)測(cè)試,看其是否可提供正確的時(shí)間。
FreeBSD時(shí)間同步ntpd服務(wù)使用的標(biāo)準(zhǔn)端口是123,基于UDP協(xié)議,因此需檢查出口防火墻UDP站123端口是否已開(kāi)放。
1.自定義安裝FreeBSD操作系統(tǒng),在系統(tǒng)安裝過(guò)程中需選擇安裝Ports系統(tǒng),配置好服務(wù)器的IP地址、掩碼、網(wǎng)關(guān),確保服務(wù)器可以正常上網(wǎng)。
2.使用Ports方式安裝NTP服務(wù)
# cd/usr/ports/net/ntp
# make install clean
3.在互聯(lián)網(wǎng)上選擇合適的時(shí)間服務(wù)器做為本時(shí)間服務(wù)器的上級(jí)服務(wù)器,并測(cè)試是否可獲得正確時(shí)間。
# ntpdate 210.72.145.44
29 Jun 17:03:43 ntpdate[25103]:step time server 210.72.145.44 offset 2566438.315735 sec
如無(wú)法獲取時(shí)間,需檢查上級(jí)時(shí)間服務(wù)器是否正?;虺隹诜阑饓Φ腢TP 123端口是否開(kāi)放。
4.修改啟動(dòng)配置文件
# cd/etc
# vi rc.conf
增加下面內(nèi)容
ntpdate_enable="YES"
ntpdate_program="ntpdate"
ntpdate_flags="210.72.145.44"
5.修改時(shí)間服務(wù)器配置文件
編輯文件ntp.conf
# vi/etc/ntp.conf
server 210.72.145.44 #指定上級(jí)時(shí)間服務(wù)器
restrict 172.16.0.0 mask 255.255.0.0#172.16.0.0網(wǎng)段里面的客戶(hù)端可以進(jìn)行網(wǎng)絡(luò)校時(shí)
driftfile/etc/ntpd.drift
至此,時(shí)間服務(wù)器端已安裝配置完畢。
服務(wù)器端的測(cè)試主要是為了檢驗(yàn)時(shí)間服務(wù)器運(yùn)行是否正常,是否能為其他客戶(hù)端提供時(shí)間查詢(xún)服務(wù)。一般情況下服務(wù)器運(yùn)行ntpd服務(wù)后,是需要5-10分鐘才能為其他客戶(hù)端提供服務(wù)。
可通過(guò)查看進(jìn)程來(lái)進(jìn)行檢查,如該進(jìn)程存在則顯示如下:
# ps axww|grep ntpd
81078 ?? Ss 0:00.05/usr/local/bin/ntpd-c/opt/etc/ntpd.conf-p/var/run/ntpd.pid-l/opt/var/log/ntpd.log-s/opt/var/ntpd-stat
# sockstat -l | grep":123"
root ntpd 81078 20 udp4 *:123 *:*
root ntpd 81078 22 udp4 61.129.59.109:123 *:*
root ntpd 81078 26 udp4 127.0.0.1:123*:*
root ntpd 81078 21 udp6 *:123 *:*
root ntpd 81078 24 udp6 ::1:123 *:*
root ntpd 81078 25 udp6 fe80:5::1:123*:*
在ntpd服務(wù)啟動(dòng)10分鐘后,在其他BSD系統(tǒng)或Linux系統(tǒng)上,運(yùn)行ntpdate來(lái)進(jìn)行時(shí)間同步,測(cè)試ntpd服務(wù)是否正常服務(wù)。
如果運(yùn)行結(jié)果如下,則說(shuō)明ntpd服務(wù)正常:
# ntpdate 172.16.11.101
26 Jul 16:12:22 ntpdate[92216]:step time server 61.129.59.109 offset 0.949830 sec
如果運(yùn)行結(jié)果如下,則說(shuō)明ntpd服務(wù)不正常:
# ntpdate 172.16.11.101
26 Jul 15:41:24 ntpdate[89554]:no server suitable for synchronization found
在Linux上面進(jìn)行網(wǎng)絡(luò)校時(shí),執(zhí)行ntpdate即可:
#ntpdate 172.16.11.101
#172.16.11.101是本地NTP服務(wù)器的IP
不要忘了使用hwclock命令,把時(shí)間寫(xiě)入bios
hwclock-w
如果想定時(shí)進(jìn)行時(shí)間校準(zhǔn),可以使用crond服務(wù)來(lái)定時(shí)執(zhí)行。
編輯/etc/crontab文件
加入下面一行:
30 8 * * * root/usr/sbin/ntpdate 172.16.11.101;/sbin/hwclock-w #172.16.11.101是NTP服務(wù)器的IP地址
然后重啟crond服務(wù)
service crond restart
這樣,每天8:30 Linux系統(tǒng)就會(huì)自動(dòng)的進(jìn)行網(wǎng)絡(luò)時(shí)間校準(zhǔn)。
雙擊桌面任務(wù)欄上的時(shí)間,彈出“日期和時(shí)間”屬性窗口,選擇Internet時(shí)間,在服務(wù)器中填入配置好的NTP服務(wù)器的IP地址,然后點(diǎn)擊立即更新,系統(tǒng)時(shí)間就會(huì)立即更新。如果想定時(shí)更新,把左上角的自動(dòng)與Internet時(shí)間服務(wù)器同步選中,然后點(diǎn)擊右下角的應(yīng)用即可。
在圖書(shū)館內(nèi)構(gòu)建時(shí)間服務(wù)器,圖書(shū)館管理系統(tǒng)服務(wù)器與各客戶(hù)端計(jì)算機(jī)都通過(guò)該時(shí)間服務(wù)器校準(zhǔn)本機(jī)時(shí)間,客戶(hù)端不再出現(xiàn)與服務(wù)器時(shí)間偏差提示。時(shí)間服務(wù)器運(yùn)行正常,至今已運(yùn)行半年多,從未出現(xiàn)故障。
[1]王波.FreeBSD使用大全[M].北京市:機(jī)械工業(yè)出版社,1999.
[2]http://download.chinaunix.net/download/0013000/12434.shtml[EB/OL].
[3]FreeBSD NTP服務(wù)器配置筆記.http://www.bsdart.org/archives/20101122/338.html[EB/OL].
[4]FreeBSD用NTP更新系統(tǒng)時(shí)間.http://www.info110.com/freebsd/in26252-1.htm[EB/OL].