圖1 同步方式
圖2 異步方式
整個數(shù)據(jù)容災工作過程分為復制和分離兩種狀態(tài),這兩種狀態(tài)可相互切換,具體為:
1)復制狀態(tài),平時生產(chǎn)端數(shù)據(jù)實時更新到容災端,容災數(shù)據(jù)盤處于寫狀態(tài),生產(chǎn)數(shù)據(jù)處于異地保護之中,此時容災端主機無法訪問容災數(shù)據(jù)盤,容災數(shù)據(jù)不可讀。如圖3。
2)分離狀態(tài),容災數(shù)據(jù)演練、驗證時,生產(chǎn)端數(shù)據(jù)停止復制,與容災端分離,此時容災端主機可訪問數(shù)據(jù)盤,即容災數(shù)據(jù)可讀寫。容災和生產(chǎn)是兩個獨立的系統(tǒng),容災數(shù)據(jù)的讀寫均不會影響生產(chǎn)端數(shù)據(jù)。當然此狀態(tài)下,生產(chǎn)端數(shù)據(jù)是無保護的,所以分離狀態(tài)的時間要盡可能的短。如圖4。
在單向復制模式下,容災端數(shù)據(jù)如發(fā)生更改也不會影響生產(chǎn)端數(shù)據(jù),容災端同樣記錄下變化的位置,待恢復復制后,容災端原修改的數(shù)據(jù)又增量的方式更新成與生產(chǎn)端完整一致了。
此項技術(shù)指通過數(shù)據(jù)庫軟件或第三方軟件實現(xiàn)數(shù)據(jù)庫異庫(地)容災,本文以應用范圍廣的ORACLE DataGuard來介紹。
DataGuard原理是容災端獲取生產(chǎn)端數(shù)據(jù)變化的日志,再重做(應用)于容災端庫,使兩端數(shù)據(jù)變化相同來達到兩庫數(shù)據(jù)一致的目的。當災難發(fā)生時,容災端可以很短時間內(nèi)應用完日志,并切換為生產(chǎn)角色,提供數(shù)據(jù)服務。這種技術(shù)有物理和邏輯兩種方式: