大多數企業一直在尋求實現更高等級的應用及服務可用性。隨著技術不斷成熟以及客戶服務成為我們日常生活中的一部分,人們希望在任何時間、任何地點都能夠訪問相應的應用與服務。
這一任務不是那么簡單,因為必須要滿足相應的服務級別協議(SLA)。SLA是IT部門與業務部門或企業與用戶之間的一種度量方式。不同的SLA意味著不同的后果,有些還可能還涉及到財務。
有一些設計及架構,包括構建分布式應用、實現應用的負載均衡,都能夠增加應用、服務或數據中心的可用性。在架構層,我們不希望計算、網絡以及存儲層存在任何的單點故障。
遺留應用提出了新問題
問題在于我們要應對的企業應用或內部開發應用,通常并未使用分布式的Web擴展模式。這些應用在十幾年前就已經上線運行了,其架構關注于增加單個存儲陣列的正常運行時間。如果陣列出故障,那么需要花很長時間應用才能恢復運行。
現在,業務以及用戶的期望與之前存在顯著的差異。出現故障時誰都不希望等很長時間。問題棘手之處在于仍舊要應對這些遺留應用并應對存儲可能會出現的故障。
IT專業人士總在爭論將遺留應用遷移到云中無法解決上述問題。這可能會降低應用的可用性,因為云中的大多數基礎設施被設計為不關心硬件是否出現故障。
接下來我們要做什么?
到目前為止,大多數企業已經耗費了大量的時間、精力增加單個數據中心內應用的可用性。然而就某些企業而言,仍舊可以采取一些措施,但更多是位于數據中心外部。
很多企業詢問如何使用災難恢復站點或者構建第二個站點并使用兩個站點以增加應用可用性。想法是將兩個數據中心視為活動的,這樣工作負載能夠在兩個站點運行或者允許工作負載在站點之間自由移動。
這可不是什么小事兒,因為某些應用天生就是鐵板一塊,如果相關組件被遷移到另一個數據中心,就無法很好地運行。網絡帶寬及延遲可能會顯著影響遺留應用的性能,因此上述方式引發了人們對網絡帶寬及延遲的極大關注。
VMware在hypervisor層設計了很棒的架構以提供更高等級的本地可用性。在此基礎上,VMware在vSphere 5中引入了vSphere Metro Storage Cluster(vMSC)。使用VMware vMSC,單個vSphere集群可以跨越兩個物理站點。通過構建vMSC,在出現嚴重故障時,出于規避災難、維護以及高可用考慮,用戶能夠在站點之間遷移虛擬機。
設計存在哪些挑戰?
部署VMware vMSC一開始存在的挑戰位于存儲層。只有有限的廠商及存儲設備支持并通過了vMSC認證。為支持vMSC部署,存儲產品必須支持在站點之間進行同步復制。目前受支持的最大時間延遲為10ms,而某些其他廠商仍聲稱最大的時間延遲為5ms。
在上述廠商當中,部署跨站點的存儲產品存在不同的選擇。一種選擇是位于兩個站點的存儲都是可讀寫的,一種選擇是只有一個站點是可讀寫的,另一個站點是只讀的,直到出現故障時才變為可讀寫。你可能需要在具備必需基礎設施及帶寬的兩個站點之間實現FC zone,如果只向一個站點發送寫請求,這可能會導致I/O路徑未被充分利用。
滿足了存儲設計要求后,仍需要了解如何設計vSphere集群架構。你需要確定當虛擬機重啟、主機發生故障或者整個站點出現故障時,如何應對。
VMware建議使用DRS規則
由于vSphere仍舊無法感知站點,因此沒有專門的功能設置應對站點故障。為解決該問題,VMware建議使用DRS規則在每個站點的集群中創建主機組。然后你可以根據需要,將虛擬機分配給相應站點中的DRS集合。如果虛擬機或主機發生故障,將會基于規則以及可用容量在相應的主機上重啟虛擬機。
規則是由你自己設置的。運行工作負載所需要的最小容量是4臺vSphere主機,這不包括用于HA的主機。這意味著兩個站點中的每個站點都需要4臺主機,構建一個8節點集群。任何一個站點出現故障,另一個站點都能夠提供100%的容量。
例如,如果A站點的單個主機出現故障,運行在該主機之上的虛擬機很可能會在位于站點B的主機上重新啟動。如果每個站點使用的容量只有50%,那么在理想情況下該站點有足夠多的容量用于運行該虛擬機,那么該虛擬機不會在另一個站點上重啟。
你也可以在站點中增加第5臺主機,新增加的主機主要用于實現HA功能。這將會提供足夠多的容量用于降低虛擬機在非首選站點重啟的可能性。如果在站點之間隨機遷移遺留企業應用,那么很可能無法正常運行。你希望一同遷移具有依賴關系的所有應用。
檢查VMware vMSC白皮書
除故障行為外,在部署vMSC時VMware還推薦進行一些設置,用于應對如何處理意外場景,比如所有路徑出故障。針對該主題VMware有一本白皮書,在考慮該類設計時建議查閱該白皮書。
除存儲外,在兩個站點之間擴展集群需要具有相同的2層網絡并將其映射給主機。否則虛擬機在站點之間遷移時連接將會丟失。如果計劃在位于不同站點的主機之間遷移虛擬機,那么你還需要考慮存儲復制以及vMotion流量所需要的最低帶寬。