在本文中,獨立顧問(wèn)Ben Maas將為我們廣大讀者朋友們概述關(guān)于如何有效的保護企業(yè)應用程序,避免導致發(fā)生數據丟失和停機的最常見(jiàn)原因的五大關(guān)鍵步驟,這五大步驟分別是:
- 了解您企業(yè)軟件的功能;
- 了解您企業(yè)所有應用程序的運行時(shí)間要求;
- 適當地調整您企業(yè)數據中心的環(huán)境;
- 適當地調整貴公司數據存儲庫的規模大小和設置
- 實(shí)施更完善的實(shí)踐方案

實(shí)踐步驟一 了解您企業(yè)的數據保護軟件
當前,許多企業(yè)其實(shí)是在不了解其全部功能或限制條件的情況下使用了某些數據保護軟件。例如,備份軟件可以使用幾種不同的方法來(lái)創(chuàng )建安全的恢復集。其可以在文件、應用程序、存儲卷、虛擬管理程序或操作系統級別進(jìn)行復制。或者其也可以支持多種方法的組合以提供多種恢復選項。虛擬機(VM)的備份軟件就是一個(gè)很好的例子。大多數企業(yè)使用快照技術(shù)來(lái)執行該任務(wù),盡管每家企業(yè)可能采用的是不同的技術(shù)來(lái)完成這個(gè)任務(wù)。有些企業(yè)采用無(wú)代理的方法,稱(chēng)為VMware的本機虛擬機快照技術(shù)。其他某些企業(yè)采用的是部署在每臺虛擬機上的軟件代理。
如果您企業(yè)的備份軟件依賴(lài)于代理執行虛擬機備份,則其將更直接地與虛擬機文件系統配合使用。在這種情況下,備份軟件可能使用微軟的卷影復制服務(wù)(Volume Shadow Copy Service,VSS)將數據合并到磁盤(pán),然后再進(jìn)行虛擬機的快照。
而如果您企業(yè)的備份軟件采用的是無(wú)代理的方式進(jìn)行快照,其可能仍然部分的依賴(lài)代理進(jìn)行備份。一款備份軟件在執行備份以調用微軟VSS創(chuàng )建快照時(shí),會(huì )暫時(shí)將一段軟件放入虛擬機中。為此,其將使用VMware API啟動(dòng)快照,然后將該軟件代碼放置在虛擬機上以創(chuàng )建快照。一旦完成快照,其將刪除安裝的代碼片段。
即使這種混合的虛擬機備份方法也可能是不夠的。在某些情況下,備份軟件可能需要與特定的應用程序(如微軟Exchange或SQL Server)集成,以將數據同步到磁盤(pán)。這將創(chuàng )建一個(gè)在恢復后可用的應用程序一致性備份。
同樣,許多備份軟件產(chǎn)品也使用重復數據刪除技術(shù)來(lái)最大限度地降低存儲需求。一些備份軟件產(chǎn)品能夠針對客戶(hù)端和其他服務(wù)器上的數據執行重復數據刪除。一些則僅僅只是當數據到達存儲設備時(shí)才執行重復數據刪除。一些甚至提供了在這三個(gè)位置中的任何一個(gè)執行重復數據刪除的選擇,或者根本不刪除重復數據。
您企業(yè)的軟件所支持的選項將影響到您執行此操作所需的帶寬量,以及在客戶(hù)端、媒介服務(wù)器或磁盤(pán)目標上所需要的處理能力量,以對該數據進(jìn)行重復數據刪除。
了解備份軟件的這些功能和局限性是非常重要的,因為它們會(huì )影響備份和恢復所花費的時(shí)間,并最終影響備份的可靠性。
1. 超越備份和恢復
關(guān)鍵任務(wù)應用程序應始終保持在線(xiàn)或盡可能保持始終在線(xiàn)狀態(tài)。這種服務(wù)級別需要比備份軟件所能夠提供的更高級的工具。對停機中斷容忍度為零的企業(yè)應考慮針對關(guān)鍵系統采用高可用性(HA)解決方案。HA通過(guò)將系統實(shí)時(shí)復制到遠程站點(diǎn)來(lái)確保始終在線(xiàn)的服務(wù)。如果生產(chǎn)環(huán)境發(fā)生中斷,HA可讓您企業(yè)立即將故障轉移到次要位置,并繼續在那里保持運行,直到您在當地的問(wèn)題被解決。HA的恢復以分鐘或秒計量,故而使得數據丟失可以最小化到接近于零。
實(shí)踐步驟二 了解應用程序的正常運行時(shí)間要求
在了解了貴公司所采用的備份軟件的功能和使用限制條件后,您需要了解每款應用程序的恢復目標。一旦您確定了這些目標,您就需要將它們映射回到軟件中可用的功能,甚至是映射回您企業(yè)內部的流程中,以確保它們的一致性,并且可以根據業(yè)務(wù)需求保持這些應用程序的可用性。
例如,MySQL對于其數據的實(shí)時(shí)快照并沒(méi)有一種得到正式認可的方法。因此,您無(wú)法證明您的備份軟件能夠隨時(shí)將數據同步到磁盤(pán),以創(chuàng )建可恢復的快照。
備份MySQL的唯一經(jīng)過(guò)驗證的方法是關(guān)閉MySQL(這對于需要100%正常運行時(shí)間的應用程序來(lái)說(shuō)是沒(méi)有意義的),或者制作該數據的副本,然后針對副本進(jìn)行快照。像MySQL這樣的例子說(shuō)明了企業(yè)為什么需要了解您的數據在哪里以及它是如何運行的,所以您企業(yè)不需要運行恢復來(lái)發(fā)現您正在丟失數據或者數據已經(jīng)損壞了。
相反,諸如微軟SQL等軟件提供的API可以為您企業(yè)提供比MySQL更好的數據保護體驗。使用VSS卷影副本,企業(yè)可以避免這些問(wèn)題。再次強調,企業(yè)需要確保您的備份軟件知道如何正確的調用API,以便驗證您的數據是否已寫(xiě)入磁盤(pán),從而最大限度地減少并最理想地避免數據丟失或損壞的可能性。
這一步是非常重要的,特別是如果您企業(yè)正在處理需要備份軟件來(lái)加密存儲在驅動(dòng)器或內存中的數據的應用程序。加密會(huì )創(chuàng )建一個(gè)額外的保護級別,并且您需要確保備份軟件在數據進(jìn)入驅動(dòng)器之前對其進(jìn)行加密。許多提供商要求企業(yè)客戶(hù)自行管理并保留自己的加密密鑰。IT專(zhuān)業(yè)人員們有責任保護這些密鑰。如果您企業(yè)丟失了加密密鑰,則會(huì )丟失備份,二如果丟失了備份,則會(huì )造成數據丟失。
實(shí)踐步驟三 適當地調整您企業(yè)的數據備份環(huán)境
企業(yè)需要針對兩種類(lèi)型的備份進(jìn)行考慮,以便正確的調整貴公司數據備份環(huán)境的規模大小。
1. 數據中心備份
數據中心的備份可能是最容易量化和規模化的。企業(yè)往往擁有專(zhuān)用的網(wǎng)絡(luò )來(lái)備份這些應用程序服務(wù)器,而這種備份流量甚至可能無(wú)法通過(guò)企業(yè)網(wǎng)絡(luò )。生產(chǎn)應用程序數據可能受基于陣列的快照技術(shù)的保護,其中備份軟件啟動(dòng)數據快照,這些快照短期存儲在陣列上,并由備份軟件管理。然后,備份軟件可以將該快照備份到磁盤(pán)、磁帶或甚至云中以進(jìn)行長(cháng)期保存。在企業(yè)數據中心中使用的更復雜的備份軟件往往可以更輕松地對托管在數據中心中的應用程序進(jìn)行備份。
當企業(yè)開(kāi)始探討應用程序的備份位置位于數據中心之外(無(wú)論其是您企業(yè)數據中心建筑的其他位置,園區還是遠程位置)時(shí),恰當的調整備份和恢復環(huán)境的規模將變得更加困難。
如果通過(guò)LAN連接進(jìn)行本地備份,則需要驗證在備份窗口期間是否有足夠的計算機資源和網(wǎng)絡(luò )帶寬,以避免中斷生產(chǎn)應用程序。由于備份是往往在下班時(shí)間運行的,所以這通常并不是一個(gè)不能克服的問(wèn)題。
但是,如果您企業(yè)在核心數據中心之外運行24x7運行的應用程序,并且該應用程序沒(méi)有需求低活躍的時(shí)間段,則可能需要升級這些服務(wù)器上的計算資源,或者需要為這些應用程序提供額外的網(wǎng)絡(luò )帶寬,以確保其備份和恢復可以在計劃的備份窗口內發(fā)生。您可能還需要考慮更高級的備份工具,例如高可用性解決方案(HA)。 HA技術(shù)使用即時(shí)的故障轉移功能來(lái)確保任務(wù)關(guān)鍵型應用程序和數據的正常運行時(shí)間要求。
2. 遠程備份
如果您企業(yè)需要在遠程位置通過(guò)WAN連接來(lái)備份或恢復應用程序的運行,其挑戰將變得更加嚴峻。除了確保擁有可用的計算和網(wǎng)絡(luò )資源來(lái)備份和恢復數據外,還需要驗證是否可以及時(shí)恢復數據;否則就無(wú)法達到您企業(yè)的恢復目標。
唯一真正知道其是否可行的方法是在生產(chǎn)環(huán)境中進(jìn)行測試。
當您企業(yè)這樣做時(shí),請務(wù)必考慮在執行備份或恢復時(shí)可能在您備份環(huán)境中遇到的某些變量。例如,如果要通過(guò)VPN渠道運行備份或恢復,則吞吐量將會(huì )下降。另外,在通過(guò)LAN或WAN鏈接發(fā)送數據之前,是否需要加密數據?如果是這樣的話(huà),請驗證對數據進(jìn)行加密的設備是否可以及時(shí)執行以滿(mǎn)足您的備份或恢復服務(wù)級別協(xié)議。
還有需要注意的一點(diǎn)是,存儲備份數據的磁盤(pán)必須足夠快才能滿(mǎn)足備份和恢復需求。我曾遇到過(guò)企業(yè)有眾多機器同時(shí)寫(xiě)入或讀取數據的情況,從而導致了處理速度變慢。
考慮您企業(yè)可能有24臺機器需要在24小時(shí)內恢復的情況。您企業(yè)可能不會(huì )嘗試逐一的對它們進(jìn)行恢復。您將要并行恢復它們。同時(shí)還需要確保從中恢復數據的存儲設備可以處理滿(mǎn)足這些需求所需的I / O量。再次強調,有計算器可以幫助企業(yè)執行這些類(lèi)型的評估,但我發(fā)現唯一的方法是肯定的是在您企業(yè)的環(huán)境中自行測試一下。
實(shí)踐步驟四 適當地調整數據存儲庫的大小和設置
我曾遇到過(guò)這樣的情況:軟件提供商對可以存入某存儲庫的數據量有嚴格的限制。例如,備份軟件提供商可能會(huì )強制規定2 TB的限制(或對單個(gè)備份存儲庫有其他限制),這可能會(huì )迫使企業(yè)客戶(hù)需要將備份分散到多個(gè)存儲庫。
如果企業(yè)同時(shí)運行多個(gè)恢復流,這將起到作用。在這種情況下,您企業(yè)需要確保存儲庫可以快速讀取數據,以滿(mǎn)足您的恢復時(shí)間目標(RTO)。
有很多供應商能夠提供規模化的文檔,對于為您企業(yè)的環(huán)境適當地調整存儲庫的大小是非常有幫助的。您只需要確保您已經(jīng)配置了足夠的存儲庫,并同時(shí)使其可用。
在備份過(guò)程中,對數據進(jìn)行重復數據刪除時(shí),使得這些存儲庫具備適當的規模大小尤為重要。
另外請注意,供應商使用備份代理來(lái)更接近虛擬主機上的存儲。在這種情況下,您企業(yè)需要確保已經(jīng)進(jìn)行了恰當的調整,以確保您企業(yè)擁有足夠的RAM、CPU和本地存儲,進(jìn)而避免在備份或恢復過(guò)程中的某個(gè)時(shí)刻出現瓶頸。
我也曾經(jīng)用作數據庫服務(wù)器的虛擬機,其承載了7到8TB的數據。有時(shí)候這些規模的虛擬機會(huì )試圖從一個(gè)存儲庫中恢復這些數據。在這種情況下,由于吞吐量不足,便成了一個(gè)真正的問(wèn)題。只有在將數據分發(fā)到多個(gè)存儲庫之后,才能夠及時(shí)恢復數據,因為企業(yè)用戶(hù)可以同時(shí)在多個(gè)驅動(dòng)器上運行恢復。
實(shí)踐步驟五 實(shí)施更完善的實(shí)踐方案
實(shí)施更完善的實(shí)踐方案。這意味著(zhù)您企業(yè)應該運行多個(gè)測試。您企業(yè)絕不會(huì )完全意識到一個(gè)恢復過(guò)程具體會(huì )涉及到多少的遷移片斷,直到您真正執行了一次恢復過(guò)程之后。也許最復雜的是那些涉及從地理上分散的備份中所執行的恢復。在這些情況下,您需要運行恢復測試來(lái)確保您所想要的一切都將發(fā)生。
大多數情況下,我在測試過(guò)程中會(huì )遇到一些我從來(lái)沒(méi)有考慮過(guò)有發(fā)生可能性的問(wèn)題。有一次,我遇到了一個(gè)軟件許可的問(wèn)題。在測試期間恢復應用程序之后,應用程序軟件必須核實(shí)其許可授權。在遠程預警(call-home)過(guò)程中,授權軟件檢測到自從我在測試服務(wù)器上運行應用程序以來(lái),托管軟件的服務(wù)器的IP地址發(fā)生了變化。然后其使軟件許可無(wú)效。雖然這很不方便,但是這成為了一個(gè)生產(chǎn)問(wèn)題,因為它使軟件許可證在測試和生產(chǎn)中運行的軟件的副本無(wú)效。這種疏忽破壞了生產(chǎn)環(huán)境。
從測試開(kāi)始自信地恢復您企業(yè)的環(huán)境。
這導致了我如何進(jìn)行災難恢復測試方面的變化。現在,當我提出測試環(huán)境時(shí),我會(huì )關(guān)閉出站的網(wǎng)絡(luò )流量。在這段時(shí)間里,我會(huì )看看有什么流量是出站的,以確保沒(méi)有軟件試圖遠程報障預警,可能會(huì )在測試或生產(chǎn)環(huán)境中無(wú)意中造成中斷。這可能代表了我在一定程度上的偏執,我不一定告訴其他人也要這么極端。然而,一朝被蛇咬十年怕井繩。我個(gè)人發(fā)現在恢復過(guò)程中軟件許可是一個(gè)問(wèn)題。
企業(yè)需要執行測試的另一個(gè)很好的例子是確保數據可以恢復。我曾經(jīng)供職過(guò)的一家公司在其微軟SQL服務(wù)器上創(chuàng )建了一款“X”驅動(dòng)器或文件共享。然后每周執行一次將數據備份到該 “X”驅動(dòng)器上。然而,我對此其實(shí)并不知道,而公司的另一位同事是知道這款“X”驅動(dòng)器的,并清楚其用來(lái)干什么的,所以他決定用它來(lái)在兩臺SQL Server數據庫服務(wù)器之間執行一些復制,其在那時(shí)的運行良好。
但過(guò)了一段時(shí)間后,公司更改了備份程序,并決定其SQL 服務(wù)器不再需要這些數據庫服務(wù)器上的“X”驅動(dòng)器。 我對系統進(jìn)行了評估,并將“X”驅動(dòng)器放在整個(gè)環(huán)境中。而我們結束時(shí),那位在在兩臺SQL Server數據庫服務(wù)器之間執行復制任務(wù)的同時(shí)開(kāi)始沖著(zhù)我們咆哮:“為什么復制被中斷了?”
總之,這些情況說(shuō)明了為什么測試如此重要。除了環(huán)境中經(jīng)常發(fā)生的變化之外,總是存在一些細微的差別,例如“X”驅動(dòng)器無(wú)法使用,這使得按照用戶(hù)的期望執行恢復很難,除非您企業(yè)經(jīng)常執行恢復測試。