文/譚文貴 王琨 黃英港
一種基于云存儲方式進行數據備份的研究及實現
文/譚文貴 王琨 黃英港
首先分析了傳統數據備份的缺陷,然后闡述了采用云存儲方式進行數據備份的設計思路和實現過程,最后將云存儲方式進行數據備份在生產系統進行了初步的試驗。詳細的理論分析和試驗結果表明:該備份方式具有良好的動態擴展能力、低成本、穩定性高、性能達到預期的目標,以及易于維護的特點。該方式進行的數據備份的相關研究工作,對于后期備份資源云化建設、并網和后期系統維護提供了參考依據。
云存儲 數據備份 虛擬機
在生產系統中,對數據的備份是一件非常重要數據管理工作。對虛擬機、Oracle數據庫的傳統備份方法,均是采用帶庫離線備份的方式。這種方式存在存儲數據丟失、數據安全性、擴展性、恢復速度慢等問題。傳統的數據備份方式存在一系列的缺陷,主要包括以下幾個方面:
(1)磁帶失效率高,數據易丟失。磁帶庫的磁帶介質固有的非密封性,且物理磁帶庫對磁帶沒有容錯保護機制,備份業務涉及到的磁帶組中任意一盤磁帶的卡帶、磨損、霉點、粘連等,均會導致整個備份無法恢復。
(2)故障率和維護成本高。物理磁帶庫是一個非密封的機械設備,其核心部件磁帶驅動器,機械手,傳送裝置等各組成部分均為機械易損件,受灰塵、溫度、潮濕等因素影響大,故障率高,從而導致設備使用率差,數據備份作業無法正常連續運行。根據統計,物理磁帶庫每年維護費用高達設備購買費用的15%以上。
(3)數據庫備份和恢復過程復雜冗長。物理磁帶庫由于物理磁帶的讀寫是順序進行的,無法像物理硬盤一樣進行隨機讀寫,導致了一個物理磁帶驅動的I/O性能非常有限的,無法滿足電信級的業務系統數據備份及恢復的性能要求。
為解決在生產中對虛擬機、Oracle數據庫備份問題,彌補上述缺陷,提出一種基于云存儲方式進行數據備份實現方案,該方案使用開源軟件swift及PC服務器搭建環境實現。
系統組網如圖1所示。

圖1:系統組網
備份服務系統需要部署3個網絡,分為:內部私有網絡、外部存儲網絡、管理網絡。內部私有網絡:負責存儲節點、proxy節點之間的通信;外部存儲網絡:外部設備通過該網絡與存儲系統進行數據通信;管理網絡:通過該網絡對整個存儲系統進行管理。
確定各節點部署方式(如圖2所示)。

圖2:系統節點部署方式
在本方案中,將使用到3個重要節點,分別是管理節點、代理節點、存儲節點。核心交換機為cisco N7010交換機,交換機上的萬兆模塊主要用于代理節點。網絡鏈路主要有:IPMI鏈路(用于服務器帶外管理)、管理網絡(管理節點網絡)、內部存儲網絡鏈路(存儲節點之間的網絡)、外部存儲訪問鏈路(代理節點與存儲節點之間網絡)。
2.2.1 vmware虛擬機備份實現方法
如圖3所示,具體步驟包括:

圖3:一種vmware虛擬機備份實現方法
(1)用戶登錄分布式對象存儲系統管理控制臺;
(2)用戶通過管理控制臺,設置備份客戶端、虛擬機以及備份文件在swift上的存放路徑等備份信息,然后發起備份任務;
(3)備份任務發起后,在備份客戶端上需要對虛擬機進行快照,并獲取需要備份的虛擬機的vmdk文件列表;
(4)根據第3步生成的文件列表,將這些文件備份到media server上;
(5)第4步備份完成后,media server上swiftclient會將虛擬機備份文件上傳至swift中,上傳完成后,將media server上的虛擬機備份文件刪除,釋放空間,整個備份過程完成。
2.2.2 vmware虛擬機恢復實現方法
如圖4所示,具體步驟如下:

圖4:一種vmware虛擬機恢復實現方法
(1)用戶登錄分布式對象存儲系統管理控制臺;
(2)用戶通過管理控制臺,選擇需要恢復的虛擬機備份文件或選擇需要的備份記錄進行恢復,然后發起恢復任務;
(3)恢復任務發起后,首先將swift中的虛擬機備份文件下載到media server;
(4)第3步下載完成后,將media server上的虛擬機備份文件傳到vmware主機上,拷貝完成后,將media server上的虛擬機備份文件刪除,釋放空間;
(5)根據虛擬機備份文件創建新的虛擬機,虛擬機創建完成后,將原有虛擬機停止,啟動新的虛擬機,新虛擬機即為備份時間點的虛擬機,整個恢復過程完成。
如圖5所示,采取rman備份,具體步驟如下:

圖5:Oracle數據庫備份方法
(1)用戶登錄管理控制臺;
(2)用戶進入備份客戶端管理界面;
(3)用戶根據需要來添加備份客戶端;若備份客戶端已存在,則無需添加;
(4)用戶進入備份目錄管理界面;
(5)用戶根據需要創建備份在分布式對象存儲系統中的保存目錄;若目錄已存在,則無需創建;
(6)用戶進入備份目標數據庫管理界面;
(7)用戶根據需要來添加目標數據庫;若目標數據庫已存在,則無需添加;
(8)用戶進入備份任務管理界面;
(9)用戶根據需要制定備份任務(全備/增量備份),指定將備份的客戶端、目標數據庫、備份腳本及備份保存的位置;若備份任務已存在,無需制定;
(10)自動或手動執行備份任務,系統會自動將目標數據庫備份到用戶指定的目錄中。
如圖6所示,具體步驟如下:

圖6:Oracle數據庫恢復的方法
Oracle數據庫需要恢復到指定的時間點,恢復方法:
(1)用戶登錄管理控制臺;
(2)用戶進入Oracle數據庫恢復功能界面;
(3)用戶在備份樹中找到數據庫恢復的時間點需要的所有的全備、增量備份等;
(4)用戶確認選項開始進行恢復;
(5)用戶執行恢復任務后,系統會自動將全備、增量備份依次恢復到備份客戶端源目錄,同時利用rman來進行數據庫恢復。
成果實現了一種基于云存儲方式進行數據庫備份的方案,以更好完成虛擬機和Oracle數據庫的數據備份任務。成果主要內容可以分為以下幾個方面:
(1)備份管理員可以通過管理界面直接掌握數據庫備份服務情況,包含節點的組成、備份告警、備份空間按用戶使用量的分布、在1月內的備份使用曲線、備份成功失敗的任務數。管理界面明顯優于傳統帶庫管理,服務管理界面展示 (圖7);

圖7
(2)個人用戶在申請備份資源后,自己可靈活管理備份空間,在個人管理界面上可以清楚展示數據庫備份總任務數、運行的、成功的、失敗的任務。管理界面展示(圖8)。

圖8
根據傳統數據備份的缺陷,然后闡述了采用云存儲方式進行虛擬機和數據庫備份的設計思路和實現過程。并進行了虛擬機和數據庫備份在生產系統進行了初步的試驗。為用戶提供了存儲如下類型的數據:虛擬機鏡像、視頻文件、音頻文件、圖片、文檔、數據庫的備份等,并以服務的形式提供給用戶。具體包括:
(1)現有帶庫備份方式失效率高,數據易丟失,該方案采用PC服務器的內置硬盤為存儲介質,同時數據有3個分布在不同服務器的副本,保障了數據的安全。
(2)現有帶庫備份方式故障率和維護成本高,該方案采用的備份介質為硬盤而不是磁帶,故障率低;由管理軟件進行統一后臺管理,數據分配采用自動數據平衡,故障率和維護成本低。
(3)現有帶庫備份方式備份和恢復過程復雜冗長,該方案備份和恢復過程簡單、速度快,只需在管理界面上操作即可。
(4)現有帶庫備份方式無法進行數據的下載查詢。該方案支持備份數據的實時下載查詢,數據存儲以服務的形式提供,靈活性好。
[1]顧炯炯.云計算架構技術與實踐[M].北京:清華大學出版社,2014:9-1.
作者單位中國移動通信集團重慶有限公司 重慶市401122
譚文貴(1983-),男,重慶市南川區人。碩士學位。