虛擬化動手實驗之高可用實現:容錯實現
在VMware vSphere可用性解決方案中,相比著之前的VI3,在可用性解決方案上多了新的功能FT,也就是所謂的容錯。接下來就介紹下容錯的技術及如何實現(理論部分參考自官方文檔)。
一、vSphere可用性的新功能
VMware新的可用性的解決方案中,提供了針對虛擬機的容錯(FT)的技術。當為虛擬機啟用此技術時,可以獲得比VMware HA所提供的級別更高的可用性和數據保護,從而確保業務連續性。
容錯基于 ESX/ESXi 主機平臺構建(使用 VMware vLockstep 功能),它通過在單獨主機上以虛擬鎖步方式運行相同的虛擬機來提供連續可用性。
二、容錯的工作方式
VMware 容錯可通過創建和維護等同于主虛擬機并可在發生故障切換時替換主虛擬機的輔助虛擬機來為虛擬機提供連續可用性。
可以為大多數任務關鍵虛擬機啟用容錯。并會創建一個重復虛擬機(稱為輔助虛擬機),該虛擬機會以虛擬鎖步方式隨主虛擬機一起運行。VMware vLockstep 可捕獲主虛擬機上發生的輸入和事件,并將這些輸入和事件發送到正在另一主機上運行的輔助虛擬機。使用此信息,輔助虛擬機的執行將等同于主虛擬機的執行。因為輔助虛擬機與主虛擬機一起以虛擬鎖步方式運行,所以它可以無中斷地接管任何點處的執行,從而提供容錯保護。
主虛擬機和輔助虛擬機可持續交換檢測信號。這使得虛擬機對中的虛擬機能夠監控彼此的狀態以確保持續提供容錯保護。如果運行主虛擬機的主機發生故障,系統將會執行透明故障切換,此時會立即啟用輔助虛擬機以替換主虛擬機,并將啟動新的輔助虛擬機,同時在幾秒鐘內重新建立容錯冗余。如果運行輔助虛擬機的主機發生故障,則該主機也會立即被替換。在任一情況下,用戶都不會遭遇服務中斷和數據丟失的情況。
容錯虛擬機及其輔助副本不允許在相同主機上運行。容錯功能使用反關聯性規則,這些規則可確保容錯虛擬機的兩個實例永遠不會在同一主機上。這可確保主機故障無法導致兩個虛擬機都缺失。
容錯可避免"裂腦"情況的發生,此情況可能會導致虛擬機在從故障中恢復后存在兩個活動副本。共享存儲器上鎖定的原子文件用于協調故障切換,以便只有一端可作為主虛擬機繼續運行,并由系統自動重新生成新輔助虛擬機。
注意:系統會在主虛擬機啟動后執行反關聯性檢查。當主虛擬機和輔助虛擬機都處于關閉狀態時,它們可能會位于相同主機上。但這是正常行為,輔助虛擬機會在主虛擬機啟動時在其他主機上啟動。
#p#
三、容錯的用例
容錯可提供比 VMware HA 更高級別的業務連續性。當調用輔助虛擬機以替換與其對應的主虛擬機時,輔助虛擬機會立即取代主虛擬機的角色,并會保存其整個狀況。應用程序已在運行,并且不需要重新輸入或重新加載內存中存儲的數據。這不同于 VMware HA 提供的故障切換,故障切換會重新啟動受故障影響的虛擬機。
更高的連續性級別以及增加的狀況信息和數據保護功能可在您要部署容錯時提供方案信息。
需要始終保持可用的應用程序,尤其是那些具有長時間客戶端連接的應用程序,用戶希望在硬件故障期間保持這些連接。
不能通過任何其他方式實現群集功能的自定義應用程序。
可以通過自定義群集解決方案提供高可用性,但這些解決方案太復雜,很難進行配置和維護的情況。
四、容錯的配置要求
要使 VMware 容錯 (FT) 按預期方式執行,群集、主機和虛擬機的配置必須滿足特定要求。
1、群集必備條件
與 VMware HA 在默認情況下保護群集內的每個虛擬機不同,VMware 容錯在單個虛擬機上啟用。要使群集支持VMware 容錯,必須滿足以下必備條件:
必須針對群集啟用 VMware HA。還應當啟用主機監控。如果沒有啟用主機監控,那么,當容錯功能使用輔助虛擬機替換主虛擬機時,將不會創建新的輔助虛擬機且不會還原冗余。
必須為將用于容錯的所有主機啟用主機證書檢查。請參見第 30 頁,"啟用主機證書檢查"。
每臺主機必須配置有 VMotion 和容錯日志記錄網卡。請參見第 31 頁,"為主機配置網絡"。
至少兩臺主機的處理器必須來自同一兼容處理器組。盡管容錯功能支持異構群集(混合處理器組),但是,如果所有主機均兼容,則將獲取***的靈活性。有關受支持處理器的信息,請參見 VMware 知識庫文章,網址為 http://kb.vmware.com/kb/1008027。
所有主機的 ESX/ESXi 版本和修補程序級別都必須相同。
所有主機必須對虛擬機的數據存儲和網絡具有訪問權。
要確認群集內的主機是否兼容,從而判斷其是否支持容錯,請運行配置文件合規性檢查。
注意 VMware HA 在執行接入控制計算時會包括容錯輔助虛擬機的資源使用情況。對于"群集允許的主機故障數目"策略,將為輔助虛擬機分配一個插槽;而對于"群集資源的百分比"策略,在計算群集的可用容量時將考慮輔助虛擬機的資源使用情況。
2、主機必備條件
主機需滿足以下條件,才能支持容錯虛擬機:
主機上的處理器必須來自與容錯兼容的處理器組。請參見位于 http://kb.vmware.com/kb/1008027 的VMware 知識庫文章。
主機必須經 OEM 認證為支持容錯。請參閱當前的硬件兼容性列表 (HCL) 獲取支持容錯的服務器的列表(請參見 http://www.vmware.com/resources/compatibility/search.php)。
主機配置必須在 BIOS 中啟用了硬件虛擬化 (HV)。某些硬件制造商交付產品時禁用了硬件虛擬化。各種 BIOS中啟用硬件虛擬化的過程不同。請參見主機的 BIOS 文檔以獲取有關如何啟用硬件虛擬化的詳細信息。如果未啟用硬件虛擬化,則嘗試啟動容錯虛擬機將產生錯誤,而且虛擬機不會啟動。
3、虛擬機要求
在可以打開容錯前,虛擬機必須滿足以下***要求:
虛擬機文件必須存儲在共享存儲器上。可接受共享的存儲解決方案包括光纖通道、(硬件和軟件)iSCSI、NFS 和 NAS。
虛擬機必須存儲在虛擬 RDM 或厚置備的虛擬機磁盤 (VMDK) 文件(已啟用"群集功能"選項)中。如果將虛擬機存儲在精簡置備或厚置備的 VMDK 文件(未啟用群集功能)中,則在嘗試啟用容錯時將會出現一則指示必須轉換 VMDK 文件的消息。用戶可以接受此自動轉換(需要關閉虛擬機),允許轉換磁盤并使用容錯保護虛擬機。此轉換過程所需的時間根據磁盤的大小和主機處理器類型而有所不同。
虛擬機必須在一個受支持的客戶機操作系統上運行。
#p#
五、 容錯與不支持的vSphere功能
容錯虛擬機不支持以下 vSphere 功能。
快照。 在虛擬機上啟用容錯前,必須移除或提交快照。此外,不可能對已啟用容錯的虛擬機執行快照。
Storage VMotion。 不能為已啟用容錯的虛擬機調用 Storage VMotion。要遷移存儲器,應當先暫時關閉容錯,然后再執行 Storage VMotion 操作。在完成遷移之后,可以重新打開容錯。
DRS 功能。 容錯虛擬機會自動配置為禁用 DRS。DRS 最初將放置一個輔助虛擬機,但在對群集進行負載平衡時,DRS 不會提出建議,也不會對主虛擬機或輔助虛擬機進行負載平衡。主虛擬機和輔助虛擬機在正常運行期間可以進行手動遷移。
#p#
六、 為容錯準備群集和主機
要為群集啟用 VMware 容錯,必須滿足此功能的必備條件,然后在主機上執行特定的配置步驟。完成這些步驟并創建群集后,還可以檢查配置是否符合啟用容錯的要求。
嘗試為群集啟用容錯之前應該完成的任務包括:
1、 啟用主機證書檢查
Step 1:將 vSphere Client 連接到 vCenter Server。
Step 2: 選擇系統管理,然后選擇 vCenter Server 設置。此時會出現 vCenter Server 設置窗口。
Step 3:在左窗格中單擊 SSL 設置。
Step 4:選中 vCenter 需要已驗證的主機 SSL 證書復選框。(圖1)
Step 5:單擊確定。
2、 為每臺主機配置網絡
在兩臺ESX主機上,分別選擇VMKERNEL(網絡標簽是EQL),查看屬性。(圖2)
確保此端口組啟用"VMotion"或"容錯日志記錄"。(圖3)
在上圖中選中EQL,點選"編輯"。可以看到如何啟用。(圖4)
3、創建 VMware HA 群集,添加主機,并檢查合規性
Step1:VMware HA 群集在第五章及第六章已建立,且進行了驗證:(圖5)
Step2:檢查群集的合規性。
注意:正常情況下,也是需要檢查主機配置文件的合規性的。(圖6)
#p#
七、為虛擬機打開容錯功能
在為群集和主機準備好容錯條件之后,便可為虛擬機打開容錯
Step1:關閉虛擬機windows2003,右鍵"容錯"--"打開容錯"(截圖有誤的,應是windows2003虛擬機關閉的情況進行同樣的操作):(圖7)
Step2:此時會彈出個警告窗口,點"是"。(圖8)
Step3:任務進行中。實際上是在另外一臺ESX主機上在進行著安裝一個此虛擬機的一個副本---次要虛擬機(第二圖)。(圖9、10)
Step4:完成后,可以看到右下角的,容錯所建立的虛擬機并不受保護。需要啟動后方可。(圖11)
Step5:開啟位于esxone主機上的windows2003,這時,就會把此虛擬機的狀態等遷移同步到位于esxtwo主機上的次要虛擬機windows2003上。
當完成啟動后,就真正實現了容錯功能。(圖12)
Step6:接下來進行容錯功能的測試,也就是在當前的虛擬機桌面上創建一個文件夾。然后關閉此臺虛擬機或是其所在的主機,看是否會在另外一ESX主機上啟動次要虛擬機,并且不影響應用,且能同樣存在這樣的一個文件夾。(圖13)
Step7:關機后,次要虛擬機開始啟動,且PING值只有一個是TIME OUT的。(圖14)
Step8:連接ESXTWO上的次要虛擬機,可以看到容錯的效果已達到。(圖15)
通過和第六章的結合實驗,完成了真正應用業務上的可用性。硬件和軟件條件滿足的朋友不妨部署在生產環境中,以實現關鍵業務的真正高可用性。
【編輯推薦】
- 虛擬化動手實驗之高可用實現:基礎環境
- 虛擬化動手實驗之高可用實現:添加主機
- 虛擬化動手實驗之高可用實現:需求分析
- 虛擬化動手實驗之高可用實現:實驗搭建
- 虛擬化動手實驗之高可用實現:HA安裝
- 虛擬化動手實驗之高可用實現:測試驗收
- 虛擬化動手實驗之高可用實現:常見問題