服務(wù)器集群高可用性注意事項:DNS與故障轉(zhuǎn)移
即使虛擬化逐步成熟,高可用性HA仍然是集群里最難懂的組件之一。服務(wù)器集群能啟動高可用性,它是一個hypervisor功能,當(dāng)虛擬機崩潰時能限制宕機時間。VMware vSphere、Microsoft Hyper-V and Citrix XenServer都提供了高可用性功能,減輕虛擬架構(gòu)中的災(zāi)難恢復(fù)任務(wù)。
太多的人在沒有理解高可用性的情況下實施虛擬化項目。更糟的是,管理員在服務(wù)器集群實施期間忽視高可用性,導(dǎo)致現(xiàn)在發(fā)現(xiàn)它從解決問題的方案變成需要解決的問題。
事實上,高可用性能解決一些列問題。它就是一個簡單的服務(wù),無論你使用何種hypervisor,在主機發(fā)生故障后重新啟動虛擬機。持續(xù)的可用性是個理想目標(biāo),但是虛擬機仍然經(jīng)歷一些宕機。
高可用性通常與熱遷移相關(guān),如XenMotion、vMotion,但實際上不是,我曾見過在第一次主機發(fā)生故障后,服務(wù)器集群里出現(xiàn)大量問題,由于混淆了這兩個概念。
高可用性技術(shù)越來越智能,但是要注意下面的問題可能使你的服務(wù)器集群崩潰。
DNS如何影響高可用性
與VMware HA結(jié)合,域名服務(wù)器(DNS)分辨率會成為嚴(yán)重的問題。要允許服務(wù)器集群節(jié)點相互通信,VMware對DNS分辨率擔(dān)負重要責(zé)任。通常,這不是問題。但如今很多的IT人員已經(jīng)習(xí)慣DNS是個服務(wù)的概念,不需要進行管理。
這種不干預(yù)政策的部分原因在于Windows的動態(tài)DNS功能。許多管理員沒有像以前那樣花心思對待DNS,因為動態(tài)DNS現(xiàn)在自動執(zhí)行多數(shù)任務(wù)。但是VMware服務(wù)器沒有使用動態(tài)DNS。
如果在服務(wù)器集群中使用VMware HA,確保你的管理網(wǎng)絡(luò)IP地址和相關(guān)的主機名都進入到DNS。在進行變更或添加附件到虛擬環(huán)境中時,需要進行手動操作與維護。如果DNS沒有正確配置,VMware會出現(xiàn)明顯的提示說明,但是如果發(fā)現(xiàn)得太晚就容易忽略這個提示。
多站點服務(wù)器集群中的DNS分辨率
DNS分辨率問題也會影響多站點Hyper-V集群。Hyper-V的Windows Failover Clustering服務(wù)現(xiàn)在能跨子網(wǎng)。在某些方面,這種架構(gòu)很好,因為你不再需要使用復(fù)雜的網(wǎng)絡(luò)技術(shù)跨不同的地點管理。但另一方面,故障轉(zhuǎn)移到第二個站點的虛擬機通常需要處理新的子網(wǎng)。
從服務(wù)器方面來說這不是大問題,但對于客戶端就造成問題??蛻舳伺渲玫氖谴婊顣r間值,決定緩存DNS報道需要多久。故障轉(zhuǎn)移后這些報道就過時了。在物理的災(zāi)難恢復(fù)中,通常不是問題,因為你可能需要處理更多重要的問題,如“數(shù)據(jù)中心正在崩潰!”但在虛擬架構(gòu)中,當(dāng)虛擬機偶然遷移到另一個可替換站點時就會出現(xiàn)問題。
高可用性問題不專門出現(xiàn)在Hyper-V集群中。在不同的子網(wǎng)啟動虛擬機的災(zāi)難恢復(fù)的服務(wù)器集群都會經(jīng)歷類似的問題。
故障恢復(fù)命令的重要性
DNS問題凸顯了服務(wù)器集群管理中故障恢復(fù)命令重要性這個事實。一些服務(wù)器集群組織故障恢復(fù)命令比其他的好。例如VMware HA讓服務(wù)器集群自己處理故障恢復(fù)命令。其他的如Hyper-V,管理員手動決定發(fā)生故障后虛擬機往哪遷移。
你不想看到的是虛擬機移到不合適的服務(wù)器集群節(jié)點,如移到多站點集群的另一端,或者超載的節(jié)點。特別注意你的故障恢復(fù)命令,確保平衡集群負載。
發(fā)生主機隔離該怎么做?
當(dāng)服務(wù)器集群主機仍然在線時就會出現(xiàn)主機隔離,但它已不能與其他節(jié)點通信。主機隔離的問題在于隔離的主機仍然運行虛擬機。在VMware HA隔離事件中,這些虛擬機通常運行在不同的虛擬交換機上,不會受到隔離的影響。集群可能想將這些虛擬機故障恢復(fù)到隔離區(qū)之外,但是如果一臺隔離的主機缺少虛擬機的磁盤文件就不能實現(xiàn)。
有幾種方式修復(fù)這個問題。很明顯,將隔離的主機重新召回來在線是最佳方案。但是如果不能這樣做,你需要關(guān)閉虛擬機,讓存活的集群節(jié)點能故障轉(zhuǎn)移這些虛擬機。注意高科用性解決方案的隔離響應(yīng)設(shè)置,確定哪個設(shè)置能滿足你的特別需求。在主機發(fā)生隔離時,許多功能允許你選擇繼續(xù)運行或者關(guān)閉虛擬機。
高可用性是虛擬架構(gòu)中的有用組件,但是不能在服務(wù)器集群中繞開重要的設(shè)置來管理讓人興奮的負載均衡功能。否則,就會出現(xiàn)許多棘手的問題。
【編輯推薦】