關(guān)于虛擬化和災(zāi)難恢復(fù)的真相
隨著服務(wù)器虛擬化的到來,有些人聲稱災(zāi)難恢復(fù)(DR)和保持業(yè)務(wù)連續(xù)性(BC)能夠更的容易實現(xiàn)了,甚至認為這些都是屬于過去的事情了。
這種情況的出現(xiàn)是很容易理解的?,F(xiàn)如今,與任何一名虛擬化管理員交流時,都會談到使用傳統(tǒng)的備份和磁帶的想法和理念似乎已經(jīng)是一個遙遠的記憶了。
自虛擬化技術(shù)采用初期開始,我們就已經(jīng)看到高可用性集群和諸如vMotion等功能的引進,似乎解決了大部分數(shù)據(jù)保護方面的需求。
但是,如果仔細推敲,我們就會發(fā)現(xiàn)這些說法是有些夸張的。
定義災(zāi)難恢復(fù)
能夠確定一個定義的基準總是好的。而且,這在災(zāi)難恢復(fù)規(guī)劃方面也是相當有必要的——讀者可以點擊這里以便了解全面的指南。災(zāi)難恢復(fù)和保持業(yè)務(wù)連續(xù)性在其各自的定義方面稍有不同:
· 業(yè)務(wù)連續(xù)性描述的是確保業(yè)務(wù)持續(xù)運作的過程。
· 災(zāi)難恢復(fù)描述的是在某次災(zāi)難襲擊后恢復(fù)服務(wù)的過程。在大多數(shù)情況下,企業(yè)將希望盡可能的避免這種情況,或者至少將其可能性降至最小化。
目前,在災(zāi)難恢復(fù)和保持業(yè)務(wù)連續(xù)性方面,還有兩大被廣泛應(yīng)用的定義。即恢復(fù)時間目標(RTO)和恢復(fù)點目標(RPO)——二者都為數(shù)據(jù)恢復(fù)確立了一個服務(wù)水平:
· 恢復(fù)時間目標確定了將業(yè)務(wù)恢復(fù)到正常運營狀態(tài)的預(yù)期或目標時間。一個零RTO意味著服務(wù)必須立即恢復(fù),或者沒有中斷。一小時的RTO需要在一小時內(nèi)恢復(fù)應(yīng)用程序至正常使用狀態(tài)。
· 恢復(fù)點目標則表示的是必須將服務(wù)恢復(fù)至歷史時期的某點。一個零RPO意味著服務(wù)必須從那一歷史時間點開始,所有數(shù)據(jù)均必須恢復(fù),不能丟失(針對銀行應(yīng)用程序是必須的)。而24小時的RPO則意味著只需恢復(fù)到昨天的數(shù)據(jù)即可(可用于測試/開發(fā)環(huán)境)。
制定一套災(zāi)難恢復(fù)計劃
在理想的情況下,所有的應(yīng)用程序應(yīng)該恢復(fù)至RTO等于零,且RPO等于零,但從可行性和成本方面來看則是站不住腳的。
相反,任何災(zāi)難恢復(fù)和保持業(yè)務(wù)連續(xù)性規(guī)劃都應(yīng)該始于建立災(zāi)難場景,對災(zāi)難場景的重要性和影響進行評估,并將其應(yīng)用到每款應(yīng)用程序中。例如,故障場景包括:
· (火災(zāi)、停電、洪水、地震)造成的損失或損害。
· (火災(zāi)、水災(zāi)、危險災(zāi)害、化學(xué)事件、輻射)造成無法訪問基礎(chǔ)設(shè)施。
· (心懷不滿的員工或網(wǎng)絡(luò)攻擊)犯罪行為或惡意傷害。
· (軟件錯誤,升級失敗,數(shù)據(jù)損壞)造成系統(tǒng)或應(yīng)用程序故障。
我們可以評估每款應(yīng)用程序發(fā)生故障失敗所造成的影響,并用它來決定我們的RTO/RPO服務(wù)級別目標(SLO)。同樣,這里也有一些例子:
· 電子郵件系統(tǒng)的停機影響——高沖擊;RTO = 30分鐘,RPO =零。
· 銀行核心應(yīng)用程序的停機影響——關(guān)鍵性沖擊;RTO =零,RPO =零。
· 隔夜報告程序的停機影響——低影響;RTO=4小時,RPO = 24小時。
在今天這樣一個永遠在線的世界中,大多數(shù)面向客戶的應(yīng)用程序預(yù)計都將需要保持24/7全天候的運行。這會降低一定的SLO,但應(yīng)用程序的設(shè)計可以通過從后端功能分離前端接入訪問來盡量減少。
顯然,無論一款應(yīng)用程序是否已經(jīng)被虛擬化,其技術(shù)是否獨立,業(yè)務(wù)恢復(fù)的要求必須首先確立。事實上,應(yīng)該始終由企業(yè)的業(yè)務(wù)部門來提供他們具體需求方面的指導(dǎo),而不是讓IT強加標準,這一直是傳統(tǒng)的經(jīng)營運作模式。
虛擬化如何幫助災(zāi)難恢復(fù)
虛擬化將服務(wù)器的物理資源抽象成邏輯結(jié)構(gòu),代表硬盤,網(wǎng)卡、磁盤控制器。處理器、內(nèi)存和網(wǎng)絡(luò)端口以配置文件中的參數(shù)來表示,硬盤則用本地或共享存儲的文件來表示。
因此,備份虛擬機(VM)是復(fù)制一個文件副本和配置數(shù)據(jù)的一個簡單的情況。此外,可以實現(xiàn)遷移虛擬機到替代硬件,即使物理硬件是不相同的。這使得能夠更容易的管理硬件故障問題。虛擬化的功能解決了災(zāi)難恢復(fù)和保持業(yè)務(wù)連續(xù)性在以下幾個方面的問題。
簡單的備份/恢復(fù)
恢復(fù)通常是基于創(chuàng)建一個備份和在一個災(zāi)難恢復(fù)的情況下從這些備份副本恢復(fù)的需要。為了滿足這種需求,虛擬機管理程序所提供的功能,允許備份可以通過復(fù)制VM的內(nèi)容。為了確保數(shù)據(jù)的完整性,虛擬機運行的代理軟件或工具在復(fù)制VM文件時停止或暫停I/O。
一個簡單的備份可以用來提供文件、應(yīng)用程序或虛擬機級別的恢復(fù),這取決于備份軟件的復(fù)雜性。備份整個虛擬機快照會影響一些系統(tǒng)允許存儲系統(tǒng)快照的功能,結(jié)合虛擬快照卸載處理工作,同時保持數(shù)據(jù)的完整性。
虛擬機遷移
雖然不是嚴格意義上的數(shù)據(jù)恢復(fù)過程,能夠在物理硬件之間動態(tài)地遷移虛擬機的能力減少了硬件故障的影響。VM遷移本身并不能防止服務(wù)器故障,但可用于當發(fā)生局部故障時遷移虛擬機,無論是在服務(wù)器或其它組件(例如網(wǎng)絡(luò))。
虛擬機遷移也可以在當服務(wù)必須從一款硬件(為了維護)移除或為了減輕數(shù)據(jù)中心失敗的風險(如應(yīng)對即將到來的風暴或颶風可能對數(shù)據(jù)中心運營的影響)時,作為一個控制過程。從這個意義上說,虛擬機遷移更類似于保持業(yè)務(wù)連續(xù)性,確保服務(wù)器繼續(xù)運行,即使是在發(fā)生潛在或?qū)嶋H事件的情況下。
高可用性/容錯能力
這些是管理程序的功能,使虛擬機能夠在硬件故障的情況下保持運行。提供了兩個層次的服務(wù)。高可用性監(jiān)控虛擬機,并在服務(wù)器發(fā)生故障的情況下,在替代硬件上重新啟動。這導(dǎo)致了一個小故障的應(yīng)用程序重新啟動。其他在替代硬件運行g(shù)host虛擬機映像,使得該映像在服務(wù)器發(fā)生故障的情況下成為生產(chǎn)服務(wù)的一體,一般沒有應(yīng)用程序中斷。
當然,使用這些功能可能需要共享存儲硬件(用于存儲虛擬機的配置和數(shù)據(jù)),同時也是收費的。一些供應(yīng)商支持使用基于陣列的復(fù)制與高可用性/容錯功能相結(jié)合的能力。這使得硬件配置能夠跨越一個很短的距離(幾百米),并創(chuàng)建一個Metro cluster。Metro cluster能夠減輕數(shù)據(jù)中心的中斷或嚴重的硬件故障,而無需部署復(fù)雜的應(yīng)用程序集群。
連續(xù)備份
某些第三方應(yīng)用程序使用虛擬化來攔截虛擬機的寫I/O,并創(chuàng)建一個遠程備份映像。這個過程是異步發(fā)生的,并提供了在故障的情況下的虛擬機副本,可用于在主站點發(fā)生故障時加強故障轉(zhuǎn)移復(fù)制。使用這種系統(tǒng)的應(yīng)用程序的RPO將取決于數(shù)據(jù)可以遷移到場外的速度。
應(yīng)用程序彈性
正如所討論的那樣,虛擬化通過抽象物理硬件組件提供好處。在執(zhí)行災(zāi)難恢復(fù)/業(yè)務(wù)連續(xù)性時需要考慮的另一件事是在應(yīng)用程序本身直接內(nèi)置恢復(fù)功能。
應(yīng)用程序的彈性是通過運行許多應(yīng)用程序?qū)嵗齺韺崿F(xiàn)的,每一款均可能失敗,當然也能夠通過替代硬件來重新啟動。這種設(shè)計是不直接依賴于虛擬化,但可以通過多個管理程序和硬件的配置來實現(xiàn)很好地工作。在未來,我們將看到業(yè)務(wù)連續(xù)性/災(zāi)難恢復(fù)的彈性將借助container容器的使用來實現(xiàn),這是一種應(yīng)用程序虛擬化的形式,并已經(jīng)開始在被廣泛采用。
參照諸如RTO和RPO等災(zāi)難恢復(fù)/業(yè)務(wù)連續(xù)性原則,我們可以應(yīng)用恢復(fù)選項以滿足應(yīng)用程序的需求。有些應(yīng)用程序會得到充分的高可用性/容錯能力,而其他應(yīng)用程序可能只是使用虛擬機管理程序的快照進行備份。在某些情況下,持續(xù)備份或全高可用性/容錯能力與基于陣列的復(fù)制可以是合理的。其完全只是基于具體要求來應(yīng)用技術(shù)。