天天看點

大話存儲系列19——資料容災

資料備份系統隻能保證資料被安全地複制了一份,但是一旦生産系統發生故障,比如伺服器磁盤損壞緻使資料無法讀寫、主機闆損壞造成直接無法開機或者機房火災等意外事件,我們必須将備份的資料盡快地恢複到生産系統中繼續生産,這個動作就叫做容災。

容災可以分為四個級别:

資料級容災:也就是隻考慮将生産站點的資料如何同步 到遠端站點即可。

與應用結合的資料級容災:也就是可以保證對應應用程式資料一緻性的資料同步,以及可感覺應用層資料結構的、有選擇的同步部分關鍵重要資料的資料容災;

應用級容災:也就是災難發生時,不僅可以保證原本生産站點的資料在備份站點可用,而且還要保證原生産系統中的應用系統,比如資料庫,郵件服務在備份站點也可用。

業務級容災:除了保證資料、應用系統在備份站點可用之外,還要保障整個企業的業務系統仍對外可用,這裡面就包含了IT系統可用,IT管理部門可用、業務邏輯部門可用、對外服務部門可用等,是最終層次的容災。

1、通過主機軟體實作前端專用網絡或者前端公用網絡同步

大話存儲系列19——資料容災

我們看一下這種方式下的資料流路徑:

本地磁盤陣列(或者本機磁盤)——本地後端網路交換裝置——本地伺服器記憶體——本地前端網絡——電信交換機組——遠端前端網絡——遠端伺服器記憶體——遠端後端網路交換設施——遠端磁盤陣列(或者遠端本地磁盤)

其中要知道:“本地磁盤陣列(或者本機磁盤)——本地後端網路交換裝置——本地伺服器記憶體” 這一段是通過FCP協定(SCSI over FC協定) 進行打包傳送的。

“本地前端網絡——電信交換機組——遠端前端網絡” 這一段資料是通過TCP/IP協定傳送的。FCP協定運作在後端告訴網絡的保障智商,而TCP/IP協定運作在使用前端低速網絡的裝置上,保障資料傳輸,而這各得其所,充分發揮着各自的作用。

2、通過主機軟體實作後端專用網絡同步

使用這種方式來同步資料,資料不會流經前端網絡,而全部通過後端網絡傳輸到備份站點對應的儲存設備中。這就需要将主站點的後端網絡裝置和備份站點的後端網絡裝置連接配接起來。或者直接通過裸光纖連接配接兩台SAN交換機;再或者租用電信部門的光纜專線。租用光纜的話,在這上面傳輸的資料必須符合電信部門傳輸裝置所使用的協定。後者需要添加額外的協定轉換設别,兩個站點各一個。

大話存儲系列19——資料容災

資料流向:本地磁盤陣列——SAN網絡交換設施——本地伺服器記憶體——SAN網絡攪渾設施——通過協轉流入電信部門網絡——遠端SAN網絡交換設施——遠端磁盤陣列。

大話存儲系列19——資料容災

這種方式資料仍然至少需要經過一台伺服器,為何呢?因為渦輪泵(實作資料同步的軟體)是運作在如武器上的,沒有這個泵,資料就不會流動。這個泵的作用方式是,将資料從本地卷A中提取出來,然後直接通過SAN網絡寫入位于備份站點的卷B,如果資料是直接在記憶體中生成的,需要寫入儲存,則寫入本地卷A的同時,寫入遠端的卷B一份。這種方式顯然比第一種方式來的快,但是它對網絡要求更高,成本也更高。

這種卷同步軟體是工作在卷這一層的,是以它檢測的是資料塊的變化而不是檔案的變化,同步的資料内容是資料塊而不是檔案。

3、通過資料儲存設備軟體實作專用網絡同步

大話存儲系列19——資料容災

資料最終還是在儲存設備上,而大型的儲存設備其實完全是一台磁盤比較多的伺服器,它有自己的cpu,記憶體,主機闆等等伺服器必備的結構,是以它上面完全可以跑各種程式。

資料流如下:本地磁盤陣列——本地SAN網絡交換設施——電信部門交換機組——遠端SAN網絡交換設施——遠端磁盤陣列。

此種方式的資料同步,由于地層儲存設備不會識别卷上的檔案系統,是以同步的是塊而不是檔案,也就是說存儲系統隻要發現某卷上的某個塊變化了,就會把這個塊複制到遠端裝置上。

容災中的資料同步複制和異步複制,這個會很好了解,同步的話資料同時寫入主節點,遠端備節點。然後才傳回給伺服器說已經寫完了;而異步的話,隻要寫了主節點,就可以傳回給伺服器說已經完成,等一會再批量寫入備份節點。

3、存儲、備份、容災一體機簡介

我們先看一下傳統的備份架構,傳統的備份系統中包含備份伺服器、媒體伺服器(也就是磁盤陣列、或者錄音帶庫)、備份軟體,也可以簡稱4S備份方案(Backup Server、Operating System、Backup Storage、Backup Software)。

我們可以把備份伺服器和媒體伺服器的角色內建到磁盤陣列中,形成一種帶有內建存儲備份功能的磁盤陣列,備份存儲櫃作為一台一體化裝置被插入了系統中。他可以作為支援NAS FTP FC-SAN  IP-SAN通路協定的磁盤陣列裝置而存在(相當于系統中多了一台磁盤陣列),同時還是一個備份伺服器,使用者伺服器或者使用者桌面電腦上的資料可以直接被備份到這台裝置中存放,使用者終端的桌面資料通過前端以太網備份,而使用者伺服器的資料則既可以實作通過前端以太網備份,也可以實作通過後端FC網絡來備份。備份之後的資料還可以由這台裝置再寫到錄音帶庫中離線儲存,也就相當于D2D2T(Disk-to-Disk-to-Tape)。

大話存儲系列19——資料容災

在容災方面,可以在備份存儲櫃上安裝VMware Server建立虛拟機,這樣在存儲櫃上建立若幹虛拟機作業系統來作為環境中原先的生産實體機的後備伺服器。實體機上可以安裝一個資料實時複制代理,通過前端以太網來将資料實時同步到備份存儲櫃中運作的虛拟機磁盤彙總存放,當實體機發生故障時候,虛拟機立即接管實體機,繼續提供生産服務。

大話存儲系列19——資料容災

4、帶寬、時延對資料傳輸的影響:

我們腦海裡要有基本的概念,光信号或者電信号傳輸速度是固定的,光信号在真空中的傳輸速率是30wkm/s,但是在光纜中的實際傳輸速度是20Wkm/s,而電信号在電纜上的傳播近似為21wkm/s,如果兩點之間距離為1000KM,那麼信号傳一個來回(因為傳到對端後需要ACK應答)所耗費的時間就是:1000/300000*2=6.6ms .這是什麼概念呢?也就是你想把1b的資料傳輸到1000km以外的地方,那麼至少你要耗費6.6ms。那麼傳輸10b、100b、1Kb、100Mb需要多長時間呢?首先想到的是至少比傳1b慢。到底要多長時間,我們來看一個公式:

傳輸來回時間=(資料量/鍊路速率*2)+(傳輸距離、光速*2)

帶寬:資料在傳輸的時候,首先會被通過編碼電路将資料串行化編碼然後放到電路或者光路上傳輸,這個編碼速率就是帶寬,100Mb/s的帶寬與1000Mb/s的帶寬,差別就在于後者在機關時間内可以編碼相當于前者10倍量的資料,這也就是我們平時所說的帶寬的真實含義。

我們接着算算在相隔1000km的兩點之間,每秒到底能夠傳送多少個來回:1000ms/6.6ms=151個來回。按照TCP典型的滑動視窗大小,即16KB來計算,(每次發送16KB資料然後就等待應答,不考慮延遲應答或者合并應答等特殊情況)那麼每秒的吞吐量僅為151*16KB=2416KB也就是2.4MB每秒。很誇張。。(不過我記得我們老師當年說的是可以一直發送,下一條發送不必等到上一條的傳回ACK的到來。不知道這裡作者是不是給了解錯了)

當然上述算式是忽略了編碼解碼所耗費的時間,以及整個鍊路上各種中繼、轉發或者協定轉換裝置所帶來的處理延遲。如果算上的話,那麼吞吐量會更低。更加準确的實際資料傳輸吞吐量計算公式為:

V=TCP Window Size / 2 (TCP Window Size / 鍊路帶寬+距離/光速+鍊路裝置處理延遲)

總之,距離越遠,實際傳輸吞吐量越低。

轉載文章:

  随着資訊系統在企業中的廣泛應用,企業的生産、服務、決策等活動越來越依賴于資訊系統,但資訊系統中資料安全的風險時刻存在,如硬體、軟體、機房設施的故障和自然災害的發生等,都将嚴重威脅着系統的穩定運作和資訊資料的安全。一旦災害發生,系統可以重建,但系統中資料的丢失或損毀将給企業帶來巨大的損失,是以,如何進行資料的有效保護,確定資訊系統的安全穩定就成為企業目前面臨的重要課題。

  資料安全保護通常的方法是資料備份。日常資訊資料備份是十分必要的,但它多是靜态冷備份,對系統階段性的、局部的資料備份是有效的,但無法實作系統的實時資料儲存,在極端故障或自然災害發生時其恢複資料的時間也難以滿足安全生産及時性的要求。

  為了系統資料恢複迅速且實時、完整、有效,建立一套異地容災系統,對企業營運來說是十分必要,這樣才能有效保護資訊資料和資訊系統,為企業發展做好全面的資訊化支撐。

  1、異地容災系統目标

  異地容災系統是指在核心資料機房以外的地點存儲(複制)另一份生産營運資料,并且其内容實時與生産資料保持一緻。能夠在資訊系統遭受硬體、軟體故障、或其它災難,生産資料受到損壞的時刻,容災系統能夠及時提供一份完整、準确、有效的資料,使資訊系統及時恢複,并能繼續運作服務。無論從資料安全還是系統運作連續性方面,容災系統都将能對生産系統進行有效的保護。

  2、異地容災實作技術

  異地容災的核心是資料的實時複制、存儲,其實作技術目前有多種,主要有:

  1)遠端鏡像技術:它是在本地生産中心與遠端備份(異地)中心的資料盤産生同一資料視圖的存儲,實作遠端資料備份,主機産生的每個I/O都在兩端執行。其優點是資料能同時在兩端存儲,實作了資料的異地儲存,但也額外占用了生産端主機的CPU資源。

  2)快照技術:它是對檔案、資料庫、磁盤子系統或邏輯卷在某一時刻的資料進行保留,形成快照對象,通路此對象即得到某曆史時刻的資料。瞬間拷貝是該方法的優勢,但它不能儲存實時的資料,難以起到實時系統恢複。

  3)應用系統技術:它是由應用系統開發程式通過作業系統同時送出本地和遠端(異地)的I/O執行來實作資料複制的。但其通用性和擴充性較弱,此外開發成本高、維護量大。

  4)硬體存儲技術:它是由兩端智能存儲實作的資料遠端複制,不占用主機、網絡資源。用于檔案系統或資料庫容災。

  5)資料庫軟體技術:它是通過資料庫通用軟體技術采用兩端(指生産庫和異地容災庫)資料更新相同來實作遠端資料複制的。

  更加适用于資料庫的容災,由此可見前三種實作技術在功能性、通用性、易維護性以及投入成本等方面都存在不足。本文着重探讨功能強的、技術成熟的、通用性好的後兩種技術,即硬體存儲、資料庫軟體實作異地容災的技術。

  硬體存儲技術

  硬體存儲容災技術是通過智能存儲盤陣及其相應軟體來進行兩地存儲間資料的實時複制來實作異地容災。資料可以是檔案系統或資料庫的。複制的是存儲底層的資料塊,使兩端資料保持(準)一緻,它是由智能磁盤陣列硬體來完成,不占用伺服器及網路資源。由于是塊級複制,是以資料不會産生對應用程式、資料庫、檔案系統、邏輯卷管理系統等的依賴,可實作對任意格式資料的複制保護。它需要兩地存儲間專用的實體鍊路和同平台的伺服器。當災難發生時,容災端可在極短時間内啟動,轉為生産角色,提供資料與系統服務。

  目前,市場上主要存儲盤陣廠商如IBM、HP、EMC 等都有同類技術産品,下面以應用範圍廣的EMC SRDF(Symmetrix Remote Data Facility)為例來對硬體存儲容災技術進行闡述。

  在資訊安全容災備份領域中SRDF能建立實體上獨立的兩個盤陣存儲之間完全的、實時的資料複制,兩者距離可以遠至百公裡。其核心是生産端智能存儲記錄下資料變化的位置(track),SRDF軟體實作把變化的資料實時更新到容災端盤陣對應的位置,進而達到資料的一緻。如需驗證通路容災資料則需停止複制,與此同時生産端盤陣繼續記錄下資料變化的位置,待恢複複制時以增量的方式更新到容災端,繼續保持複制,這種方式效率極高,能在很短的時間内保持了兩邊資料的一緻性。當然容災端初始資料是全量拷貝的。資料複制分為兩種工作方式:

  1)同步方式,即生産端資料與容災端保持準确一緻,生産伺服器的每個I/O均在資料寫完生産存儲,并等到容災端确認後才算真正的I/O完成。此方式适合對資料複制及時性要求高的且兩端距離短的場合。如圖1。

  2)異步方式,即生産端資料與容災端保持準一緻,主伺服器的每個I/O在資料寫完生産存儲後即表示I/O完成,接下來生産資料由盤陣複制到容災存儲。此方式适合兩端距離遠一點的場合。如圖2。

大話存儲系列19——資料容災

圖1 同步方式

大話存儲系列19——資料容災

圖2 異步方式

  整個資料容災工作過程分為複制和分離兩種狀态,這兩種狀态可互相切換,具體為:

  1)複制狀态,平時生産端資料實時更新到容災端,容災資料盤處于寫狀态,生産資料處于異地保護之中,此時容災端主機無法通路容災資料盤,容災資料不可讀。如圖3。

大話存儲系列19——資料容災

  2)分離狀态,容災資料演練、驗證時,生産端資料停止複制,與容災端分離,此時容災端主機可通路資料盤,即容災資料可讀寫。容災和生産是兩個獨立的系統,容災資料的讀寫均不會影響生産端資料。當然此狀态下,生産端資料是無保護的,是以分離狀态的時間要盡可能的短。如圖4。

大話存儲系列19——資料容災

  在單向複制模式下,容災端資料如發生更改也不會影響生産端資料,容災端同樣記錄下變化的位置,待恢複複制後,容災端原修改的資料又增量的方式更新成與生産端完整一緻了。

  資料庫軟體技術

   此項技術指通過資料庫軟體或第三方軟體實作資料庫異庫(地)容災,本文以應用範圍廣的ORACLE DataGuard來介紹。

  DataGuard原理是容災端擷取生産端資料變化的日志,再重做(應用)于容災端庫,使兩端資料變化相同來達到兩庫資料一緻的目的。當災難發生時,容災端可以很短時間内應用完日志,并切換為生産角色,提供資料服務。這種技術有實體和邏輯兩種方式:

  1)實體方式:容災庫直接應用生産端庫的原樣日志重做,使兩端資料庫的資料更新相同。在此過程中容災庫可轉換為隻讀狀态,此時擷取生産端日志檔案不間斷。容災庫的實體結構必須和生産庫相同。初始容災庫資料通常用Rman工具複制過來。如圖5。

大話存儲系列19——資料容災
大話存儲系列19——資料容災

  2)邏輯方式:生産端庫的日志不是直接應用于容災庫,而是先轉換為SQL記錄檔,再重應用于容災庫,這樣兩端庫資料變更相同來複制資料。當然這一系列過程都是系統自動實作的。兩端庫的實體結構可以不同。在應用日志過程中容災庫是打開的。如圖6。

  2.4 兩種技術對比

  根據以上的分析,對硬體存儲和資料庫軟體兩種容災技術進行了比較,

  可以看出兩種技術都有各自特點和适用場景,硬體複制技術在性能上和實時性方面有優勢,但在資料邏輯完整性保護方面有欠缺,雖然系統本身有完整性校驗,資料能正常通路;軟體複制技術在資料完整性、容災資料讀取方面有優勢,但在實時性方面顯不足。是以建立容災系統方案的選擇需根據具體需求、條件來綜合