在不少企事業(yè)單位,出于節(jié)約資源或者便利的需要,往往在一臺(tái)P
C機(jī)上部署很多服務(wù),這樣這臺(tái)PC就兼職較多服務(wù)器功能。這樣的
規(guī)劃確實(shí)方便了管理和維護(hù),但也為網(wǎng)絡(luò)的安全、穩(wěn)定運(yùn)行埋下
了隱患。一旦網(wǎng)絡(luò)發(fā)生故障,對(duì)整個(gè)局域網(wǎng)的影響幾乎是毀滅性
的。和大家共享一個(gè)相關(guān)案例,以引起大家的重視。
一、網(wǎng)絡(luò)狀況描述
這個(gè)案例來自某高級(jí)中學(xué)的中心機(jī)房。在該校的中心機(jī)房里有不
少服務(wù)器,有為大多數(shù)計(jì)算機(jī)提供服務(wù)的公共服務(wù)器,例如DHCP
服務(wù)器。也有為專業(yè)機(jī)房和專業(yè)軟件服務(wù)的專用服務(wù)器,例如ERP
服務(wù)器等。其中僅有的一臺(tái)DHCP服務(wù)器為3個(gè)機(jī)房大約1500臺(tái)客戶
端提供服務(wù),負(fù)責(zé)所有機(jī)房學(xué)生機(jī)IP地址的自動(dòng)分配。通常情況
下,該校的機(jī)房至少有2個(gè)處于使用狀態(tài),一直以來DHCP服務(wù)器運(yùn)行良好。
最近,該校的機(jī)房部署了在線考試系統(tǒng),需要一個(gè)數(shù)據(jù)庫服務(wù)器以保存考試題庫,以及進(jìn)行評(píng)分等。于
是,管理員在這臺(tái)DHCP服務(wù)器上同時(shí)部署了在線考試系統(tǒng),以提供考試中的數(shù)據(jù)交互和存取服務(wù)。此外,
由于機(jī)房沒有磁盤存儲(chǔ)陣列,該DHCP服務(wù)器同時(shí)還作為文件服務(wù)器。以備份機(jī)房各種相關(guān)資料,如驅(qū)動(dòng)程
序、服務(wù)器應(yīng)用軟件、上機(jī)練習(xí)題、考試題、系統(tǒng)鏡像文件等。學(xué)生機(jī)只有系統(tǒng)分區(qū)在硬盤還原卡的保護(hù)
之下,其他分區(qū)沒有設(shè)定為保護(hù)留給學(xué)生作為數(shù)據(jù)盤。為了便于維護(hù),學(xué)生機(jī)部署完畢之后,在服務(wù)器上
做了系統(tǒng)的鏡像備份,這樣一旦系統(tǒng)被學(xué)生破壞,可以很方便地通過網(wǎng)絡(luò)克隆來恢復(fù)。于是,這臺(tái)DHCP服
務(wù)器還兼職這項(xiàng)功能。
二、故障現(xiàn)象及診斷
在網(wǎng)絡(luò)考試前一天的模擬測(cè)試中,發(fā)現(xiàn)測(cè)試機(jī)房中的客戶端大部分無法登錄,登錄后無法獲取題庫或者速
度非常慢。同時(shí),另外一個(gè)機(jī)房中正在進(jìn)行上機(jī)課,上課的老師也反映學(xué)生機(jī)大面積網(wǎng)絡(luò)不通。上課老師
馬上進(jìn)行了排錯(cuò),發(fā)現(xiàn)并不是由于鏈路故障所致。然后,在操作系統(tǒng)的命令提示符中中使用網(wǎng)絡(luò)命令 ipco
nfig,發(fā)現(xiàn)客戶端機(jī)器無法獲得IP地址。因此可以肯定是此原因使得不能訪問網(wǎng)絡(luò),重新啟動(dòng)計(jì)算機(jī)故障
依舊,證明問題不是出在學(xué)生機(jī)上。查看交換機(jī)指示燈顯示狀態(tài)正常,沒有因堵塞產(chǎn)生死機(jī)的現(xiàn)象,那么
問題只能是出在DHCP服務(wù)器上了。接下來查看DHCP服務(wù)器上的DHCP服務(wù)狀態(tài),也顯示也正常,但是發(fā)現(xiàn)服
務(wù)器操作反應(yīng)較慢。那是什么原因?qū)е翫HCP服務(wù)器相應(yīng)變慢呢?
三、故障原因分析
要理解導(dǎo)致DHCP服務(wù)器相應(yīng)變慢的原因,我們有必要了解一下DHCP服務(wù)的工作過程。如果在局域網(wǎng)中部署
了DHCP服務(wù)器,并且客戶端設(shè)置為自動(dòng)獲得IP地址。這樣當(dāng)DHCP客戶端第一次登錄網(wǎng)絡(luò)的時(shí)候,也就是客
戶端發(fā)現(xiàn)本機(jī)上沒有任何IP數(shù)據(jù)設(shè)定,它會(huì)向網(wǎng)絡(luò)發(fā)出一個(gè)DHCP discover封包。因?yàn)榭蛻舳诉€不知道自己
屬于哪一個(gè)網(wǎng)絡(luò),所以封包的來源地址會(huì)為
0.0.0.0,而目的地址則為255.255.255.255,然后再附上DHCP discover的信息,向網(wǎng)絡(luò)進(jìn)行廣播。在wind
ows的預(yù)設(shè)默認(rèn)情況下,DHCP discover的等待時(shí)間預(yù)設(shè)為1秒,也就是當(dāng)客戶端將第一個(gè)DHCP discover封
包送出去之后,在1秒之內(nèi)沒有得到響應(yīng)的話,就會(huì)進(jìn)行第二次DHCP discover廣播。若一直得不到響應(yīng)的
情況下,客戶端一共會(huì)有四次DHCP discover廣播(包括第一次在內(nèi))。除了第一次會(huì)等待1秒之外,其余三
次的等待時(shí)間分別是9、13、16秒。如果都沒有得到DHCP服務(wù)器的響應(yīng),客戶端則會(huì)顯示錯(cuò)誤信息,宣告DH
CP discover的失敗。之后,基于使用者的選擇,系統(tǒng)會(huì)繼續(xù)在5分鐘之后再重復(fù)一次DHCP discover的過
程;當(dāng)DHCP服務(wù)器收到DHCP客戶機(jī)廣播的DHCP discover信息后,它會(huì)向DHCP客戶機(jī)發(fā)送DHCP offer信息,
其中包括一個(gè)可租用的IP地址。一旦客戶機(jī)收到DHCP offer信息,就將使用服務(wù)器所提供的IP地址。
從DHCP的工作過程來分析,學(xué)生機(jī)無法獲得IP地址應(yīng)該是DHCP服務(wù)器沒有做出響應(yīng),或者是DHCP服務(wù)器做
出了響但學(xué)生機(jī)沒有收到DHCP服務(wù)器的DHCP offer信息造成的。測(cè)試網(wǎng)線后首先排除了由于網(wǎng)絡(luò)硬件原因
造成學(xué)生機(jī)收不到DHCP服務(wù)器響應(yīng)的可能,由此判斷就是DHCP服務(wù)器沒有做出正常響應(yīng),但是DHCP服務(wù)器
為什么沒有做出響應(yīng)呢?
大家都知道,此時(shí)另外一個(gè)機(jī)房正在進(jìn)行在線考試的模擬測(cè)試,在測(cè)試中客戶端會(huì)與服務(wù)器之間有大量的
數(shù)據(jù)交互,這些數(shù)據(jù)占用了大量的系統(tǒng)資源和網(wǎng)絡(luò)帶寬,因此造成DHCP服務(wù)器的相應(yīng)緩慢。這樣就進(jìn)入了
一個(gè)惡性循環(huán),不但在線考試系統(tǒng)無法正常工作,學(xué)生機(jī)無法獲得IP地址無法上網(wǎng),而且在網(wǎng)絡(luò)中充斥著
大量的重復(fù)請(qǐng)求(包括DHCP客戶端和在線考試系統(tǒng)客戶端)。這些垃圾信息占用了大量帶寬,形成了網(wǎng)絡(luò)風(fēng)
暴。更為巧合的是,此時(shí)第三個(gè)機(jī)房內(nèi)正有幾臺(tái)系統(tǒng)被學(xué)生破壞的計(jì)算機(jī)在進(jìn)行網(wǎng)絡(luò)克隆恢復(fù)。服務(wù)器需
要進(jìn)行大量的數(shù)據(jù)傳輸,這樣就使得服務(wù)器網(wǎng)絡(luò)端和總線負(fù)擔(dān)過重,不僅操作系統(tǒng)進(jìn)程無法及時(shí)響應(yīng)學(xué)生
機(jī)發(fā)出的DHCP請(qǐng)求,而且三個(gè)機(jī)房誰都無法正常工作。
四、故障排除
很明顯,這臺(tái)不堪重負(fù)的DHCP服務(wù)器造成了三個(gè)機(jī)房的系列故障。要從根本上解決問題,只有通過升級(jí)服
務(wù)器或者增加服務(wù)器的數(shù)量,做到各司其職,從而避免服務(wù)器負(fù)擔(dān)過重。即部署專門的DHCP服務(wù)器以供機(jī)
房的IP服務(wù),部署專門的數(shù)據(jù)庫服務(wù)器以服務(wù)于在線考試系統(tǒng),部署專門的文件服務(wù)器以提供文件服務(wù)器
和提供網(wǎng)絡(luò)克隆服務(wù)。這樣,雖然需要額外的投入,但是這是必須的。不過,購置專門的服務(wù)器對(duì)于諸如
學(xué)校這樣的事業(yè)單位不太現(xiàn)實(shí)。在筆者的建議下,該校采取了這樣的方案:由于在線考試系統(tǒng)的數(shù)據(jù)交互
頻繁,對(duì)服務(wù)器要求比較高,因此取消這臺(tái)服務(wù)器的DHCP服務(wù)和文件共享服務(wù)器,專職考試數(shù)據(jù)庫服務(wù)。
DHCP服務(wù)和文件共享服務(wù),對(duì)于系統(tǒng)性能要求不是很高可以用一般的PC機(jī)代替。在進(jìn)行上面的重新部署
后,類似的故障再也沒有出現(xiàn)
不過,讓我們好奇的是,該校的網(wǎng)絡(luò)管理員為什么在當(dāng)初的部署和測(cè)試中發(fā)現(xiàn)這個(gè)問題呢?據(jù)筆者了解,原
來當(dāng)初他們是在三個(gè)機(jī)房中分別進(jìn)行的測(cè)試,而沒有在三個(gè)機(jī)房中同時(shí)進(jìn)行針對(duì)服務(wù)器的壓力測(cè)試。
五、小結(jié)
通過這個(gè)案例,我要說的是,局域網(wǎng)是個(gè)完整的邏輯體系它有其自身的特點(diǎn)。服務(wù)器作為網(wǎng)絡(luò)功能實(shí)現(xiàn)的
核心必須我們要保證它的正常工作,超過正常的使用極限和范圍就會(huì)對(duì)部分或者整個(gè)網(wǎng)絡(luò)帶來意想不到的
后果。特別是對(duì)于像DHCP這樣提供最底層服務(wù)的公共服務(wù)器,不要使其負(fù)載過重。因?yàn)椋豢爸刎?fù)它們就
會(huì)罷工。