天天看點

備份!備份!備份! 看阿裡雲HBase的企業級備份恢複如何設計HBase技術交流

HBase使用者福利

新使用者9.9元即可使用6個月雲資料庫HBase,更有低至1元包年的入門規格供廣大HBase愛好者學習研究,更多内容請

參考連結

背景

  • 2017 年 2 月,GitLab 的一位系統管理者在給線上資料庫做負載均衡工作時,遭受了 DDoS 攻擊。在阻止了攻擊之後,運維人員發現了資料庫不同步的問題,便開始修複,在修複過程中,錯誤地在生産環境上執行了資料庫目錄删除指令,導緻 300GB 資料被删成 4.5G,GitLab 被迫下線。
備份!備份!備份! 看阿裡雲HBase的企業級備份恢複如何設計HBase技術交流
  • 2017 年 6 月,一家荷蘭海牙的雲主機商 verelox.com,一名前任管理者删光了該公司所有客戶的資料,并且擦除了大多數伺服器上面的内容。最終導緻 Verelox 暫時将網絡下線。在釋出的官方公告中,Verelox 表示一直努力恢複資料,但遺憾的是,目前已丢失的所有資料可能恢複不了了。
備份!備份!備份! 看阿裡雲HBase的企業級備份恢複如何設計HBase技術交流
  • 2017 年 9 月,某 IT 大廠技術工程師幫助廣西移動進行擴容割接(即增加系統容量)時,不小心将 HSS 裝置裡面的使用者資料格式化删除,導緻廣西移動近 80 萬使用者資料丢失。
    備份!備份!備份! 看阿裡雲HBase的企業級備份恢複如何設計HBase技術交流
  • 2017年某IT公司在對HDFS進行例行清理時,因指令超長被系統截斷,截斷後的指令變成删除父檔案夾,導緻丢失上百GB資料
  • 2018年某著名快遞公司,因誤删生産資料庫,導緻某項服務無法使用并持續590分鐘
  • 2018年7月20日,前沿數控在微網誌上發表長文《騰訊雲給一家創業公司帶來的災難》,表示其存儲在騰訊雲的價值千萬的資料全部丢失。騰訊雲在微網誌發表了《關于使用者“前沿數控”資料完整性受損及騰訊雲補償措施的說明》,文章中指出前沿數控所遇情況是因受所在實體硬碟固件版本bug導緻的靜默錯誤(寫入資料和讀取出來的不一緻)影響,檔案系統中繼資料損壞。
  • 2019年某IT公司HDFS出現故障,在系統未穩定的情況下運維人員執行了FSCK / -delete指令,導緻絕大部分資料被删除。
  • 2017年5月12日,全球爆發電腦勒索病毒WannaCry,波及150多個國家7.5萬台電腦被感染,有99個國家遭受了攻擊,其中包括英國、美國、中國、俄羅斯、西班牙和意大利等。
  • 2017 年5月17日,國家計算機病毒應急進行中心與亞信科技(中國)有限公司聯合監測發現一種名為“UIWIX”的勒索病毒新變種在國外出現,提醒國内使用者提高警惕,小心謹防。
  • 2017年6月28日,勒索病毒petya襲擊多國,Petya病毒鎖住了大量的電腦,亦要求使用者支付300美元的加密數字貨币才能解鎖
  • 2017年6月29日晚,新勒索病毒Petya,範圍涵蓋烏克蘭、俄羅斯、西班牙、法國、英國、丹麥等國家。2017年7月4日,烏克蘭警方沒收了該國一家會計軟體公司的伺服器,因為該公司涉嫌傳播導緻全球很多大公司電腦系統癱瘓的勒索病毒

以上都是現實的例子,一線人員辛苦一年的努力可能因為一時疏忽而廢,升職加薪無望;一個公司或者團隊辛苦幾年的打拼可能一夜回到解放前。是以面對重要的事情要說三遍:備份!備份!備份!

一個系統面臨多個方面的資料安全挑戰,首先是系統自身丢資料的風險,可能因為一些bug導緻資料丢失,這種情況即便是主備系統也無法應對,因為主備是同構的,發生在主上的bug也可能在備上發生,是以需要備份到異構系統;其次是運維人員的誤操作導緻,大部分情況是誤删除了表或者底層檔案,還有一些情況比如壓測資料寫入到生産叢集污染了資料需要進行訂正;再次是系統所依賴的環境受到大面積破壞,比如整個機房被毀;最後是由于外部攻擊,黑客惡意的加密檔案進行勒索,這個情況下建議備份放在雲上,因為雲廠商具備更好的安全防護能力。

災難類别 影響 解決方式
系統Bug 資料丢失,影響局部或者全局 異構備份
誤操作 資料丢失、資料污染,影響局部或者全局 資料備份
機架、機房故障 資料丢失,影響全局 異地備份、多雲備份
勒索軟體 資料鎖定,影響全局 資料備份到雲端

雲HBase備份恢複

阿裡雲HBase在18年就已經開始支援備份恢複,到目前為止已經服務100多個客戶。已經過一年的發展,我們認為原有的備份恢複存在如下幾個問題:

  • 不能為自建服務,備份恢複應該是一個獨立功能,能夠為全網的HBase服務
  • 不能以混合雲、多雲模式運作,備份本身非常适合多雲部署
  • 備份過程造成源叢集額外的存儲開銷,引發磁盤滿風險。主要是因為備份依賴Snapshot,而被Snapshot的檔案不能删除,Compaction結束後舊檔案就依然存在,存儲空間翻倍
  • 恢複時間長,恢複依賴資料複制。當資料達到幾十TB規模以上時需要數小時的恢複時間

綜上所述,雲HBase對備份恢複進行全面更新,新的備份恢複能力描述如下:

備份能力:

  • 支援使用者IDC自建叢集、阿裡雲自建叢集、它雲HBase叢集以及雲HBase叢集備份到阿裡雲
  • 秒級RPO,具備實時備份能力
  • 支援100TB規模資料
  • 備份不影響源叢集

恢複能力:

  • 支援表級别的恢複,比如某個表誤删除,可以單獨恢複這個表的資料
  • 支援按時間點回檔

系統架構:

備份!備份!備份! 看阿裡雲HBase的企業級備份恢複如何設計HBase技術交流

備份目前使用的存儲是OSS,後面會加入其它的選項用來滿足在成本、性能方面有不同傾向的需求。備份的資料按類型分為:Schema資料、全量資料、增量資料。Schema資料和全量資料是周期性備份,增量資料是實時備份。備份過程由一個獨立的分布式系統完成,與HBase系統解耦,隻依賴于HDFS的接口。

如果隻是某個表的資料損壞,可以進行表級别的資料恢複。如果是整個叢集損壞且短期無法恢複,可以基于備份建立一個新的叢集,恢複的過程中首先原地拉起一個新的HBase,這個過程并不會複制資料,HFile通過引用檔案的方式指向備份檔案。之後可以按照使用者需求來使用這個臨時恢複叢集。

使用文檔:

點選連結

參考文章

http://www.ijiandao.com/2b/baijia/168348.html https://www.freebuf.com/articles/paper/206777.html

HBase技術交流

歡迎加群進一步交流溝通:

備份!備份!備份! 看阿裡雲HBase的企業級備份恢複如何設計HBase技術交流
備份!備份!備份! 看阿裡雲HBase的企業級備份恢複如何設計HBase技術交流