儲存極客 多方位全面保護資料庫

2021-09-23 02:41:00 字數 4065 閱讀 7539

「儲存極客」欄目再次與大家見面啦!在這裡,只有一位大咖名叫「儲存」,它的粉絲我們稱為「儲存極客」!儲存極客這是一群儲存偏執狂

為儲存而生,跟儲存死磕

各具獨家秘笈

有觀點,有碰撞,有乾貨

從今日起

做客儲存極客欄目

與你分享儲存裡的那點事兒

前不久看了朋友發的一條微博,去聽了一場公開課,加深了我對資料庫保護方面的理解,主要是結合使用多種措施的意義。

儘管我從事資料保護和災備行業已經有幾個年頭,但更多時候是在向使用者解釋什麼時候適合用備份?什麼時候適合cdp(持續資料保護)?它們的區別,rpo和rto等等。

簡注:rpo——恢復點目標,即到故障發生前的資料丟失量rto——恢復時間目標,即恢復故障所用的時間

拿這兩個指標一衡量,就可以看出不同型別資料庫保護/備份技術的差別,類似的比較網上有許多,在此我只是以oracle為代表簡單總結一下,如有不準確之處還請大家指正。

1.rman/備份軟體簡化跨平台資料保護為什麼把oracle rman和備份軟體歸為一類,因為後者目前主要的機制也是呼叫rman,或者匯入/匯出。作為一種定時的資料庫物理備份方式,基於rman的備份可以保證恢復的有效性,以磁碟、磁帶介質為目標,做到完全、增量和差異備份,可以說是dba和備份管理員所必須掌握的。

不足:首先是備份間隔——定時備份通常不適合在業務繁忙時進行,所以頻率不能太高,rpo相對較大;而且在有些資料量很大的使用者那裡,每天一次夜間備份視窗也不夠用了,可能要改為每週一次;出現故障時,需要乙個恢復的過程,資料才能可用,所以rto也不算短;rman要求資料庫必須開啟歸檔日誌。

如今隨著兩地三中心和雙活的流行,人們對rpo和rto的要求不斷提高,備份看上去有些退居二線。但實際上它具有長期保留等方面的價值,還是很重要的一道保障。

代表產品:netbackup、commvault、戴爾netvault(原bakbone)等。

這些軟體都能支援windows、linux和unix多種平台,以及oracle rac集群。其中netvault的一大特點是簡捷易用,通過圖形介面可以繞開rman命令的複雜性。

rman備份oracle資料庫到重複資料刪除裝置、遠端複製容災示意

1.5重複資料刪除裝置這裡我加了乙個特殊的序號,該產品分類實際上要配合備份軟體或者rman來使用,目的是通過重複資料刪除等優化技術,節約儲存空間並加快備份的速度。站在資料庫保護的角度,不應完全算做乙個單獨的技術路線。

代表產品:emc datadomain、戴爾powervault dr系列等。

2.資料庫物理複製高可用的低成本容災如今dataguard(dg)已經是oracle乙個免費的元件,它通過將redo log同步/非同步傳送到本地或者遠端的資料庫伺服器,再將對資料塊的操作進行到備庫。在11g之後的版本中,active dataguard(adg)支援唯讀方式掛載的活動備庫,不是完全的雙活。

注:adg是需要額外收費的,dg不單獨收費。

同步方式的dataguard基本上可以做到rpo=0,並且支援通過指令碼來實現自動故障切換,rpo最短可達分鐘級水平,不過生產環境中通常還是手動切換,畢竟一旦誤切也挺麻煩的。

不足:由於傳送的是全量日誌,對網路頻寬和延時的要求較高。另外常用的dataguard物理備庫,偶爾也會遇到由於oracle某種bug或者其他原因,導致block邏輯損壞,而且這個損壞會傳輸到備庫,導致備庫也異常。

dataguard比較適合低成本容災,非adg不需要另外購買license,但也需要有人來監控、維護庫之間的複製狀態,或者說對dba水平要求高一些,還是會產生一定成本。

注:備份可以理解為將某個時間點的資料狀態匯出單獨儲存;而資料庫軟體複製,只是建立了備庫,如果想回滾到歷史狀態都需要用資料庫自身的日誌來實現。

3.資料庫邏輯複製隨時可用的靈活容災代表產品:oracle goldengate、戴爾shareplex(原quest)等。

它們的共同特點,都是從oracle日誌中解析出邏輯sql語句,傳送到備庫,並將這些sql重新執行一遍,以達到資料複製的效果。由於解析出來特定格式的檔案,本身不需要傳遞所有日誌,這類軟體在傳輸的過程中可能還增加了壓縮功能,所以邏輯複製通過網路傳送的資料量顯著減少,對頻寬要求降低,rto最短可達1秒。

這類複製軟體應用相當靈活,支援異構跨平台(比如在小型機和x86伺服器之間),甚至跨不同資料庫複製。資料庫邏輯複製應用的場景包括資料遷移、多庫合併、容災等方面,能夠做到雙活雙寫實時可用,只是備庫做不到與主庫之間的嚴格同步一致(會有一點滯後)。因此不需要資料庫的切換,只要做好站點的仲裁並在上層應用切換即可。

資料庫邏輯複製流程示意

不足:正是因為靈活,邏輯複製有時沒有redo log的物理複製來的可靠,因此有的dba朋友提出它並不適合所有的容災需求。另外,複製的物件是表,因此要求dba必須參照主庫提前規劃好備庫,增加了日常維護的工作量。還有就是**,這類軟體通常的銷售方式是按照參與複製的節點數/cpu插槽來計算,所以購買成本不菲。

曾有業內資深人士表示,「shareplex在國內的支援響應速度比較快,以前他們在某個使用者的環境中遇到讀歸檔日誌慢的情況,原廠開發人員1天內就解決了這個bug。相比之下,有的廠商在國內的服務主要是第三方來做,原廠工程師來了有時解決不了問題」。

4.儲存陣列的快照和複製改善的儲存經濟性磁碟/快閃儲存器陣列提供的本地、遠端複製功能,被稱為底層儲存(資料塊級)的容災保護。在經過lun的初始同步之後,只需要繼續複製資料增量/變化量即可。該技術配置簡單,以邏輯盤為單位,而無需關注到具體的應用資料內容。

儲存級複製,容災端陣列上的lun可以隨時掛載到備用資料庫伺服器使用,根據操作的自動化程度,rto可達分鐘級。同步複製(映象)的rpo接近零,但需要裸光纖,並且一般距離不超過50公里;非同步複製rpo通常不短於5分鐘。

遠端複製

不足:陣列複製只負責維護源端儲存和目標端儲存之間的一致性,而上面資料的有效性(比如資料庫是否能正常開啟)則不負責。因此該技術許多時候要結合快照一同使用。

快照是一種邏輯資料保護方式,它相當於在乙個lun上增加了時間點資料狀態回滾/掛載的功能。為了實現應用資料的有效一致性,有些高階快照功能支援主機端**程式,比如在快照之前通知oracle將記憶體中髒資料寫盤,短時暫停i/o等快照完成再恢復。此外,對於應用資料在多個lun之間的同步一致,比如oracle資料檔案、日誌檔案等放在不同磁碟的情況,快照還需要支援一致性組功能,以保證它們在同一時間點建立快照。

快照能在很短的時間內回滾到歷史點,或者直接生成即時資料回放(或稱直接掛載、瘦轉殖),需要人工干預但rto也較短。帶有快照的複製,能夠更好地與應用結合。

高階快照功能

戴爾sc系列得益於原生的底層儲存空間虛擬化管理,在單一儲存系統上支援高達16000個replay快照,可短至1分鐘間隔達到準cdp的效果。並獨創了根據策略將快照資料轉換為不同raid級別(如raid 10 to raid 5/6)來節省空間,或者遷移到廉價儲存層來降低成本。

對於快照、非同步複製和同步複製功能,有些陣列品牌需要購買license,有的則包含在基礎功能中。

小結戴爾一站式解決方案 構建多維度屏障

正如那位資料庫專家朋友有感而發:「oracle的備份、容災不能全部依賴物理dataguard容災。因此在條件允許情況下,建議增加物理備份和邏輯容災。」這裡的物理備份就是我們介紹的第1類——rman/備份軟體;邏輯容災則是第3類——資料庫邏輯複製軟體;我認為第4類——儲存陣列的快照和複製也可以作為一種補充。這三類產品戴爾全部都有,而且在技術上還都是屬於廣受好評的,能夠為使用者提供一站式解決方案。

至於同時應用多重資料保護技術是否複雜?「取決客戶對於資料安全的重視程度」。本文我們只是拿oracle來舉例,對於其它型別資料庫也可以作為乙個參考。

border屬性的多方位應用和實現自適應三角形

border屬性是在實際的應用中使用頻率比較高的乙個屬性,除了作為邊框使用,利用border屬性的一些特徵以及表現方式,可以在實現一些比較常見的效果 如等高布局,上下固定內容滾動布局和繪製css圖示等 利用css3新增的屬性值 如使用填充邊框 可以實現一些更複雜的效果。本文不介紹border的屬性的...

實現多方位網路營銷的一些技巧

在網路營銷的優勢逐漸被企業意識到的形式下,越來越多的企業開始加入網路營銷的陣營。但是很多企業並不懂網路營銷,他們都希望通過簡單的方式實現多方位網路營銷。在網路平台越來越多,網路營銷的競爭越來越激烈的形式下,企業的網路營銷要達到顯著效果,確實要實現多方位網路營銷。但是一些企業對網路營銷本就缺乏經驗,要...

阿卡索的2018,多方位嘗試探索新發展

隨著經濟的快速增長 新興商業模式層出不窮,在這中國的網際網路 大潮裡,7 年時間可以改變什麼呢?阿卡索,這家成立於 2011 年的中國 英語教育品牌,在 7 年多的發展中,不斷嘗試探索新的發展,力求能為使用者提供最優質的教育服務。回顧 2018 年,英語教育充滿了機遇和挑戰。一方面,英語教育不斷獲得...