監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 簽約案例 | 購(gòu)買價(jià)格 | 在線試用 | 手機(jī)APP | 產(chǎn)品資料
X 關(guān)閉

解決Hyper-V高可用集群服務(wù)和網(wǎng)絡(luò)問(wèn)題

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

文章來(lái)源:泛普軟件

這個(gè)系列包含四個(gè)部分,主要討論如何提高Hyper-V高可用集群的性能。第一部分闡述了固件、驅(qū)動(dòng)、補(bǔ)丁和更新對(duì)虛擬主機(jī)集群穩(wěn)定性的影響;第二、第三部分,我給出了在解決Hyper-V集群故障時(shí)的一些個(gè)人經(jīng)驗(yàn),這些經(jīng)驗(yàn)有助于提高虛擬集群的穩(wěn)定性。這里,在第四部分,我討論一些復(fù)雜的網(wǎng)絡(luò)問(wèn)題并解釋何時(shí)、怎樣結(jié)束Hyper-V高可用集群服務(wù)。

Hyper-V網(wǎng)絡(luò)問(wèn)題1:虛擬機(jī)重啟后,IP地址重復(fù)或者自動(dòng)尋找私有IP(APIPA)

這個(gè)問(wèn)題發(fā)生在Hyper-V集群節(jié)點(diǎn)突發(fā)性丟失私有/公共網(wǎng)絡(luò)或者FC鏈路之后,同時(shí),該問(wèn)題還會(huì)觸發(fā)虛擬機(jī)在其他的主機(jī)上重新啟動(dòng)。當(dāng)看到很多的虛擬機(jī)都在試圖尋找一個(gè)替代主機(jī)時(shí),我發(fā)現(xiàn)那簡(jiǎn)直是一團(tuán)糟。

在很多情況下,虛擬機(jī)將會(huì)試圖在存活的節(jié)點(diǎn)上重新啟動(dòng),然后遷移到另外一個(gè)節(jié)點(diǎn)直到虛擬機(jī)再次重啟。其結(jié)果是,如果虛擬機(jī)運(yùn)行Windows 2003或XP,該虛擬機(jī)就會(huì)重新啟動(dòng)并報(bào)告“網(wǎng)絡(luò)上的IP地址重復(fù)”;如果是Windows 2008或Vista,就會(huì)獲得一個(gè)APIPA地址……除了網(wǎng)絡(luò)問(wèn)題,所有其他的虛擬機(jī)功能應(yīng)該工作正常。遺憾的是,”修復(fù)”或者”禁用-再啟動(dòng)”虛擬機(jī)網(wǎng)卡沒(méi)有什么效果。手工啟動(dòng)幾次受影響的虛擬機(jī)則可以搞定。

有個(gè)小技巧:作為一種更快的方式,可以打開Hyper-V Manager,雙擊虛擬機(jī),然后選擇“關(guān)機(jī)”。系統(tǒng)將會(huì)關(guān)閉,不過(guò)虛擬機(jī)會(huì)立即重啟,因?yàn)樗歉呖捎眉旱囊徊糠帧?/P>

這個(gè)問(wèn)題是因?yàn)樵诓磺‘?dāng)?shù)臅r(shí)間、不正確的完成集群中虛擬機(jī)配置而導(dǎo)致。根據(jù)我的觀察,當(dāng)集成的組件沒(méi)有匹配安裝在主機(jī)上的Hyper-V版本時(shí),這種情況就會(huì)出現(xiàn)。

因此,假如你的環(huán)境中包含Windows 2008 SP2的Hyper-V主機(jī)和具有Hyper-V的集成組件的虛擬機(jī),在集成組件升級(jí)后,這些問(wèn)題就會(huì)發(fā)生。不過(guò),假如這些問(wèn)題在你升級(jí)集成組件之前發(fā)生,那就相對(duì)簡(jiǎn)單,手工重啟受到影響的虛擬機(jī)就應(yīng)該可以解決問(wèn)題。

Hyper-V網(wǎng)絡(luò)問(wèn)題2:關(guān)機(jī)之后還可以ping通虛擬機(jī)

很多情況下,就像我們剛才所提到的,重啟可以解決虛擬機(jī)的網(wǎng)絡(luò)問(wèn)題。同樣,當(dāng)Hyper-V集群主機(jī)出現(xiàn)不可預(yù)料的故障、虛擬機(jī)被迫在其他的節(jié)點(diǎn)上重啟,我曾見(jiàn)過(guò)系統(tǒng)完全重啟,同時(shí)報(bào)告它們都可以正常的ping通。

但是,如果再深入檢查就會(huì)發(fā)現(xiàn),除了能夠ping通,無(wú)法通過(guò)其他的遠(yuǎn)程管理進(jìn)程(例如,遠(yuǎn)程桌面協(xié)議(RDP),eventvwr,全局名稱協(xié)議等等)訪問(wèn)虛擬機(jī)。也無(wú)法從虛擬機(jī)ping出去。更奇怪的是,就算你完全關(guān)閉了虛擬機(jī),還是可以ping通它。

為了解決這個(gè)問(wèn)題,請(qǐng)使用Failover Cluster Manager或者SCVMM關(guān)閉虛擬機(jī)集群。在Hyper-V manager中關(guān)閉虛擬機(jī)集群會(huì)引起集群重啟虛擬機(jī)的高可用性回應(yīng)。

當(dāng)你目睹Failover Cluster Manager顯示虛擬機(jī)已經(jīng)關(guān)掉卻還能ping通的時(shí)候,你會(huì)很詫異。根據(jù)我的經(jīng)驗(yàn),這種情形是由于為虛擬機(jī)配置了傳統(tǒng)的網(wǎng)絡(luò)適配器引起。

要修復(fù)這個(gè)問(wèn)題會(huì)有一點(diǎn)棘手,需要使用Failover Cluster Manager和Hyper-V Manager,以下是操作步驟:

1. 當(dāng)遇到集群中節(jié)點(diǎn)失效時(shí),很可能有必要在每個(gè)節(jié)點(diǎn)上重啟Hyper-V Management Service以刷新真正的虛擬機(jī)狀態(tài),同時(shí)使用Hyper-V Manager工具。

然后,在Failover Cluster Manager中,右鍵單擊受影響的虛擬機(jī)的“配置”,再選擇“關(guān)閉”。

2. 關(guān)閉之后,通過(guò)Hyper-V Manager遠(yuǎn)程ping該虛擬機(jī)檢查其狀態(tài)。你會(huì)發(fā)現(xiàn),它在Hyper-V Manager中的狀態(tài)是關(guān)閉的,但是可以ping通。

3. 使用Failover Cluster Manager將該虛擬機(jī)移動(dòng)到集群中其他的節(jié)點(diǎn)上,然后執(zhí)行第2步。請(qǐng)注意,當(dāng)每個(gè)虛擬機(jī)都移動(dòng)完成之后,它們?cè)贖yper-V Manager中的狀態(tài)將會(huì)改變?yōu)椤斑\(yùn)行”,盡管它們?cè)贔ailover Cluster Manager中的狀態(tài)依然是關(guān)閉的。

4. 要解決這個(gè)問(wèn)題,在Hyper-V Manager中右鍵單擊虛擬機(jī),然后選擇“Turn Off”。這個(gè)時(shí)候,虛擬機(jī)的狀態(tài)會(huì)顯示為關(guān)閉,同時(shí)也無(wú)法再ping通。

5. 重啟虛擬機(jī)。它就會(huì)恢復(fù)到全功能狀態(tài)。

要消除這個(gè)問(wèn)題,需要限制虛擬機(jī)使用傳統(tǒng)的網(wǎng)絡(luò)適配器,它通過(guò)主機(jī)分區(qū)路由流量。

結(jié)束Hyper-V高可用集群服務(wù)

有時(shí),對(duì)一個(gè)響應(yīng)遲鈍的虛擬集群節(jié)點(diǎn)而言,我感到自己真拿它沒(méi)辦法。無(wú)論是驅(qū)動(dòng)問(wèn)題,卷影復(fù)制服務(wù)(Volume Shadow Copy Service)垮掉或者其他未知的問(wèn)題,在很多情況下,我不得不拿出“錘子”將節(jié)點(diǎn)上的高可用集群服務(wù)“殺掉”。當(dāng)節(jié)點(diǎn)上有多個(gè)處于未知狀態(tài)的虛擬機(jī)負(fù)載時(shí),“殺掉”該服務(wù)需要勇氣,但對(duì)于集群的整體穩(wěn)定性來(lái)說(shuō),很有必要。

不過(guò),在采取這種極端的操作之前,了解其后果非常重要。當(dāng)你“殺掉”高可用集群服務(wù)時(shí),該服務(wù)會(huì)為集群中的剩余節(jié)點(diǎn)創(chuàng)建一個(gè)高可用的回應(yīng)。故障節(jié)點(diǎn)上的虛擬機(jī)會(huì)被重新分布到其他的節(jié)點(diǎn)并重啟,就像剛剛經(jīng)歷一次斷電。根據(jù)我們的經(jīng)驗(yàn),F(xiàn)ailover Cluster Manager現(xiàn)在將會(huì)派上用場(chǎng),將會(huì)重啟故障節(jié)點(diǎn)。在將虛擬機(jī)移動(dòng)回去之前,請(qǐng)仔細(xì)檢查事件記錄和其他的監(jiān)控記錄。

再次重申,在“殺掉”高可用集群服務(wù)之前,你應(yīng)該搞清楚每個(gè)選項(xiàng)。

舉幾個(gè)例子,比如,Hyper-V已經(jīng)完全無(wú)法對(duì)外界的集群管理工具做出響應(yīng)。集群工具的管理功能——比如cluster.exe命令或者任何圖形化用戶接口(GUI)形式的管理工具(比如,F(xiàn)ailover Cluster Manager, SCVMM, Hyper-V Manager等) ——已經(jīng)無(wú)法使用或者不能響應(yīng)。盡管如此,一些虛擬機(jī)的正常運(yùn)行,而另外一些則不是。

如果出現(xiàn)這種情況,在你“殺掉”高可用集群服務(wù)之前,你應(yīng)該檢查以下項(xiàng)目:

使用cluster.exe命令查詢受影響的節(jié)點(diǎn)。對(duì)GUI中不響應(yīng)的節(jié)點(diǎn)來(lái)說(shuō),要查詢虛擬機(jī)的狀態(tài),這個(gè)工具可能仍然只具備有限的功能。從查詢的反饋中,有問(wèn)題的虛擬機(jī)集群資源會(huì)引導(dǎo)你找到真正的原因。 使用某個(gè)產(chǎn)品,比如Pskill或者Taskkill。在《Hyper-V虛擬機(jī)配置文件,虛擬機(jī)狀態(tài)有關(guān)的集群?jiǎn)栴}》這篇文章中,我描述了如何找到某個(gè)特定虛擬機(jī)的VMWP.exe進(jìn)程并殺死它。如果能夠從cluster.exe命令的輸出中找到虛擬機(jī)卡殼的任何信息,那將有助于終結(jié)一個(gè)有問(wèn)題的虛擬機(jī)而不是“殺掉“高可用集群服務(wù)。 試著從一次崩潰中保存虛擬機(jī)的工作負(fù)載。你可能無(wú)法訪問(wèn)集群主機(jī),但是你可以通過(guò)RDP或者其他的遠(yuǎn)程管理進(jìn)程訪問(wèn)客戶端OS。從高可用集群中手動(dòng)關(guān)閉虛擬機(jī)只會(huì)使該虛擬機(jī)從別的地方再重新啟動(dòng),因此,聰明的做法是,關(guān)閉應(yīng)用程序,看上去就像經(jīng)歷了一次硬關(guān)機(jī)?! ?wèn)題總會(huì)遇到,你可能不得不殺掉高可用集群服務(wù)從而重新獲得控制權(quán)。我曾經(jīng)成功的使用Pskill和Taskkill殺掉了高可用集群服務(wù)。

Taskkill /s CLUSTERNODENAME /IM clussvc.exe

PsKill \CLUSTERNODENAME clussvc.exe

(請(qǐng)注意:“殺掉“高可用集群服務(wù)之后,以前遇到的一些問(wèn)題可能會(huì)重現(xiàn):比如IP地址重復(fù),或者APIPA,虛擬機(jī)重啟之后或者關(guān)閉之后仍然可以ping通。)

這個(gè)系列雖然列出了很多Hyper-V集群的問(wèn)題,可是,我依然認(rèn)為虛擬主機(jī)集群的優(yōu)勢(shì)遠(yuǎn)大于其弊端。這些問(wèn)題并不是經(jīng)常出現(xiàn),但它們一旦發(fā)生,總會(huì)讓人發(fā)瘋和抓狂。

最后,這些問(wèn)題指出了Hyper-V以及其他的虛擬化產(chǎn)品的發(fā)展時(shí)期不可避免的困境。隨著更多的用戶采用虛擬化技術(shù)、更廣泛的利用虛擬化技術(shù),會(huì)出現(xiàn)更多的問(wèn)題——比如,在這個(gè)系列中提到的這些問(wèn)題。

發(fā)布:2007-04-21 11:10    編輯:泛普軟件 · xiaona    [打印此頁(yè)]    [關(guān)閉]
相關(guān)文章:

泛普長(zhǎng)沙OA軟件行業(yè)資訊其他應(yīng)用

長(zhǎng)沙OA 長(zhǎng)沙新聞動(dòng)態(tài) 長(zhǎng)沙OA信息化 長(zhǎng)沙OA快博 長(zhǎng)沙OA軟件行業(yè)資訊 長(zhǎng)沙軟件開發(fā)公司 長(zhǎng)沙門禁系統(tǒng) 長(zhǎng)沙物業(yè)管理軟件 長(zhǎng)沙倉(cāng)庫(kù)管理軟件 長(zhǎng)沙餐飲管理軟件 長(zhǎng)沙網(wǎng)站建設(shè)公司