天天看點

利用阿裡雲産品的資料備份與恢複實踐

背景<b></b>

對業務系統來說,資料可靠性非常重要。如何通過簡單的配置,實作适當有效的備份機制并具備快速恢複能力是本最佳實踐所要解決的主要問題。

不同的業務系統,對可用性和備份恢複的要求有很大的不同:對一般系統來說,因為阿裡雲預設有3份備援副本、對磁盤和資料庫的每天自動備份,并承諾99.9%的可用性,是以不須做更多配置。但為了應對意外情況,需要做好變更日志和本地備份;

對業務價值比較大的系統來說,隻要做到嚴格遵守操作規範和利用阿裡雲提供高可用、資料備份和恢複機制,無論發生何種類型的故障或災難,也能降低損失,從容應對;對業務價值特别重大的系統來說,需要考慮異地容災和建立災難恢複計劃,并定期演練。

阿裡雲提供的存儲類型有:雲磁盤、本地磁盤、rds、oss和ots等共5種類型。除了預設的3份存儲備援外,為保證資料的高可靠性,還提供了快照和db執行個體等形式的備份恢複機制。

本文将詳細介紹如何利用oss和其他阿裡雲産品共同配合實作最佳的資料備份與恢複。

oss優勢<b></b>

oss存儲可能位于多個機房,但一個bucket隻位于一個機房(三份備援存儲);其機房内的存儲方式與雲磁盤相同。與自建存儲對比,oss具有以下優勢:<b></b>

友善、快捷的使用方式

 提供标準的restful api接口,豐富的sdk包,用戶端工具、控制台,您可以像使用檔案一樣,友善上傳/下載下傳、檢索、管理用于web網站或者移動應用海量的資料。

 不限檔案數目和大小,無限的存儲空間根據實際存儲量無限擴充,解決傳統硬體存儲擴容問題

 支援流式寫入和讀出,特别适合視訊等大檔案的邊寫邊讀業務場景。

 支援資料生命周期管理,您可以友善自定義到期資料轉入低成本的歸檔服務或者批量删除。

強大、靈活的安全機制

 靈活的鑒權,授權機制。提供sts和url鑒權和授權機制,及白名單,防盜鍊,主子賬号功能;

 提供使用者級别資源隔離機制,提供多叢集同步機制(可選)。

豐富、強大的增值服務

 圖檔處理:支援jpg, png, bmp, gif, webp, tiff等多種圖檔格式的檔案格式轉換、縮略圖、剪裁、水印、縮放等多種操作。

 音視訊轉碼:基于oss存儲,為您提供高品質,高速并行音視訊轉碼能力,讓您的音視訊檔案輕松應對各種終端裝置。

 内容加速分發:oss作為源站,搭配cdn進行加速分發,穩定、無回源帶寬限制、成本效益高,一鍵配置。

方案<b></b>

本文以某個有代表性的網站為例來闡明基于阿裡雲平台的備份與恢複的最佳實踐。該網站的系統架構包含負載均衡、cdn、web server、緩存server、資料庫系統、檔案伺服器等。架構示意圖如下所示:

利用阿裡雲産品的資料備份與恢複實踐

備份政策<b></b>

該網站直接使用了阿裡雲的slb、cdn、rds和oss标準産品,并使用ecs搭建web server和cache server。制定備份政策的主要步驟如下:

<b>step 1:明确業務涉及到的資料類型,例如該網站的資料類型描述如下:</b><b></b>

固定資料:固定資料指的是作業系統和通用軟體。本例中是web應用系統及其   依賴的第三方元件等。

配置資料:包含使用者在阿裡雲的配置資料和業務系統自身的配置資料,系統需要這些配置資料才能正常運轉。這些資料不是臨時性的,但也能通過人工或程式自動(api調用)重新配置。本例中是軟體配置(web應用系統等)和在雲産品(slb、cdn、rds和oss)上的配置。

臨時資料:臨時檔案、靜态檔案緩存或其它資料,完全丢失它們,不會影響系統的正常運作。是以,不需要備份它們。本例中是cache server上緩存的資料。

持久化資料 :這些資料表示了業務的狀态,其中包含重要的客戶資料。如賬号資訊和訂單資訊。這些資料通常存儲在資料庫中,最終儲存在硬碟、ssd等塊裝置上。資料備份複雜性和難點在這部分資料上。本例中是rds和oss中存儲的資料。

<b>step2:根據資料類型制定備份政策,例如對該網站可制定如下政策:</b><b></b>

固定資料或配置資料:建議使用雲磁盤(系統盤)進行存儲,作業系統或應用系統更新後,或配置資料更改後,手動制作快照;

臨時資料:使用記憶體或本地磁盤存儲,且不需要備份;

持久化資料:建議使用雲磁盤(資料盤)或rds進行存儲,相應地可直接使用預設備份或按1~24小時頻率通過api方式備份。

簡要說明如下:

a)系統盤隻存儲作業系統和各種軟體及其配置;資料盤隻存儲持久化的業務系統的檔案。另外,考慮資料可靠性和性能,推薦使用rds服務,而不是在雲磁盤上自建資料庫。

b)因為固定資料和配置資料可以友善地重建,是以此處把它們歸類為同類資料。軟體更新或配置更新後,進行适當的備份是為了能夠快速恢複。

c)為避免自然災害等不可抗力對快照和執行個體備份的可能損壞,可以按天或按周進行異地/本地備份。

d)最後,業務方自身也要有嚴格的系統變更控制流程,并做好變更日志,以規避人為因素引起的故障。

e)阿裡雲管理控制台提供建立快照及自定義鏡像、備份執行個體等功能,使用者也可通過api來操作。詳細請參見相關幫助。

恢複政策<b></b>

仍以該網站為例,考慮故障/災難情形下的應對措施,主要包括确定恢複類型、制定相應恢複政策兩部分:

小批量實體機: 無須人工參與,自動遷移,遷移時長在10~15分鐘之間。

整體機房或地域性災難:一是等待故障恢複;或在阿裡雲其它可用地域重新申請雲産品。

固定/配置資料 :一是從最近的可用快照/自定義鏡像恢複;或從本地備份恢複;或從标準鏡像重建,并重新配置(依據變更日志)。

持久性資料:一是從可用快照/執行個體備份恢複; 或從本地備份恢複。

1.利用雲監控的站點可用性和伺服器監控,能夠及時發現故障,更早觸發恢複過程。

2.資料恢複政策可從以下幾個方面來綜合考慮。

恢複資料庫(rds):通過oss或本地存儲的rds執行個體備份來恢複。

快速恢複應用伺服器(ecs)、雲磁盤:通過自定義鏡像重裝系統或快照復原來恢複。

恢複負載均衡(slb):更改配置,指向新的應用伺服器ip位址。

恢複/更改dns:指向新的負載均衡接口ip位址。

相關連結<b></b>

關于本文更多細節連結:

<a href="http://www.91aliyun.com/aliyun_cloud_server_knowledge/backup_and_recovery/">http://www.91aliyun.com/aliyun_cloud_server_knowledge/backup_and_recovery/</a>