虛擬化徹底改變了我們在數據中心部署應用的方式,并延伸到了災難恢復。
以前,配置過程要花幾周甚至幾個月的時間,如今卻轉變為幾分鐘內搞定的自動化任務。虛擬化具備一些能提供敏捷性、靈活性和更好彈性的特點,包括snapshots(快照)、vMotion和HA/FT(高可用性/容錯性)。
與此同時,災難恢復也轉變了。在物理服務器環境下,意外中斷的恢復過程需要失效備援到主要環境或完全相同的硬件和操作系統的復制,以還原備份。
據稱,虛擬化能廢除上述恢復過程的很多步驟,使災難恢復的部署變的更容易更簡單。但是能簡化到什么程度呢?
本文中,我們會調查災難恢復計劃和配置過程的每一步,以及虛擬化可以幫助簡化到什么程度?
物理 PK. 虛擬
服務器虛擬化是一個很棒的工具,能夠加強和簡化應用部署的工作量。硬件使用不足——典型是單一應用對應一個操作系統實例,把物理資產集中成更高效的封裝時,虛擬化為服務器提供隔離性和管理效益。
虛擬服務器綜合了代表物理磁盤的虛擬磁盤文件,處理器、存儲器和其他附件的配置信息。這使得虛擬服務器——或者虛擬機器(VM)——非常輕便,也允許虛擬化提供一些能力,諸如高可用性(在出現硬件故障時將VM移到另一臺服務器上)和容錯性(如果硬件出問題,運行能掌管服務的VM重映像),而無需大量附加硬件或者復雜的配置。
將VM看成一套文件的能力意味著備份和恢復也一樣簡化了。運行VM的硬件各種各樣(無限制),管理程序因此承擔了翻譯物理地址到虛擬設備上的任務。這表示VM和封裝在它內部的工作量比以往更加輕便。
災難恢復計劃和執行
我們來看看典型災難復原方案的關鍵元素,以及看清虛擬化技術可以在哪里幫上忙。
災難恢復計劃的第一步,是查看商業需求,以及將應用與服務水平目標匹配。在災難恢復領域,測量標準是復原時間目標(RTO)和修復點目標(RPO)。
RTO指定應用在服務必須恢復前可以忍受的總故障時間。任務嚴苛的應用有很低的,甚至為零的RTO(表示服務必須一直連續)。
RPO描述了應用可以忍受的數據損失總量。該指標有可能為零(比如,沒有數據損失)或者以分鐘或小時來衡量。一些無核app(比如那些用來報告的)可能可以忍受的RPO為24小時,尤其是數據可以從別的來源產生時。
此時,與技術的選擇沒有關系。開展商業影響/風險分析是基于人們對商業需求的評估。然而,隨著我們在災難復原計劃過程中更進一步,我們會發現技術選擇出現了。接下來的問題,變成了虛擬化到底能在哪里幫助災難復原。
災難恢復風險評估下一步,災難恢復計劃過程要獲取從影響分析中得到的服務要求,并且提出風險評估。
對于每個應用或者系統,我們可以將RTO/RPO要求對應到可能的風險,評估那些風險的可能性,并開始為每項風險制定出減輕和修復策略。下面的表格展示了一些例子:
此時此刻,我們可以看到,要在物理和虛擬基礎設施中做出選擇。
第一個例子顯示,基于物理硬件的集群解決方案如何用來履行服務要求的。盡管不能接受數據損失,應用可以忍受高達30分鐘的中斷。
可用以下兩種方式實現。一種是失效備援的鏡像物理設施,價格不菲。另一種是擁有高可用性的虛擬設施,比如VMware HA。該功能可使在備用硬件上的應用自動重啟,運用共享存儲基礎框架以確保RPO為零。
第二個例子展示了一個企業的網站需要24*7小時不停機。這種情況下,應用以靜態數據為基礎,在一個或者更多的訪問同一數據池的網絡服務器實例上實現。如果任一服務器停止,負載均衡軟件會重定向通信路線到一個新服務器上。
虛擬化通過單獨的VM提供網絡服務器實例,就可以應用在上述場景中。如果一種硬件故障總是發生,新的網絡服務器就可以從模板中部署并加入到負載均衡列表中,而無需更多復雜的HA或者集群軟件。該方案在跨地域的場景中也可以實現。
第三個例子凸顯了傳統應用如何被傳統的或者基于VM的備份所保護。相比使用物理基礎架構,虛擬方案提供更快的備份和還原能力。
建立災難恢復方案現在,我們已經識別了應用和量化了相應的風險。我們開始完整制定出減輕和修復場景,作為應用和基礎設施設計的一部分。與純粹的物理服務器運行相比,虛擬化提供了一些獨特的性質,可以幫助達到業務連續性。包括:
基于模板化的應用工作負荷,有能力在幾分鐘內加速|VM實例。
通過容錯性和高可用性的應用恢復,可以消除對復雜修復措施的需要,包括在大城市。
VM失效備援的一體化和自動化可適用于偏遠地區,使用工具有VMware’s Site Recovery Manager。
硬件抽象化允許VM在不同的硬件平臺上修復。與生產現場相比較,硬件平臺可能是高低不一的規格或者混合的。
VM/服務器備份基于來自下面存儲器的文件映象復制。
失效備援與應用的集成,通過使用基于主機的工具,避免崩潰一致性副本和應用恢復的更高可能性。
通過工具,比如vMotion,避免災難。
所有這些特征允許應用以比典型物理服務器更高效的方式在基礎設施上部署。
測試和驗證設計之后,需要測試和驗證災難復原計劃。是否使用虛擬基礎架構,方案必須包括驗證應用有能力在災難復原模式運行,并且以每個系統服務水平目標(RPO/RTO)的形式恢復正常運行。
虛擬化不能避免測試(和確認基礎設施每一部分配置正確),但它可以使測試過程實現起來更簡單。比如,提出在災難復原現場的VM,測試功能和數據完整性,而保持VM的隔離性,以避免與正運轉的生產現場一起崩潰。無需影響災難恢復過程就可實現。反之,對物理服務器的測試會讓生產服務處于危險中,直到測試結束。
總結虛擬化以更高效和簡單的方式,提供了大量執行災難復原的機會。然而,正如我們所看到的,基于商業需求,它不能代替深思熟慮、詳細說明的綜合災難復原方案。隨著技術持續進化,災難復原方案需要回顧和更新,以反映當前的虛擬化能力,從而變成一份“活的”文檔,以確保不間斷的業務持續性。