文/譚文貴 王琨 黃英港
一種基于云存儲(chǔ)方式進(jìn)行數(shù)據(jù)備份的研究及實(shí)現(xiàn)
文/譚文貴 王琨 黃英港
首先分析了傳統(tǒng)數(shù)據(jù)備份的缺陷,然后闡述了采用云存儲(chǔ)方式進(jìn)行數(shù)據(jù)備份的設(shè)計(jì)思路和實(shí)現(xiàn)過(guò)程,最后將云存儲(chǔ)方式進(jìn)行數(shù)據(jù)備份在生產(chǎn)系統(tǒng)進(jìn)行了初步的試驗(yàn)。詳細(xì)的理論分析和試驗(yàn)結(jié)果表明:該備份方式具有良好的動(dòng)態(tài)擴(kuò)展能力、低成本、穩(wěn)定性高、性能達(dá)到預(yù)期的目標(biāo),以及易于維護(hù)的特點(diǎn)。該方式進(jìn)行的數(shù)據(jù)備份的相關(guān)研究工作,對(duì)于后期備份資源云化建設(shè)、并網(wǎng)和后期系統(tǒng)維護(hù)提供了參考依據(jù)。
云存儲(chǔ) 數(shù)據(jù)備份 虛擬機(jī)
在生產(chǎn)系統(tǒng)中,對(duì)數(shù)據(jù)的備份是一件非常重要數(shù)據(jù)管理工作。對(duì)虛擬機(jī)、Oracle數(shù)據(jù)庫(kù)的傳統(tǒng)備份方法,均是采用帶庫(kù)離線備份的方式。這種方式存在存儲(chǔ)數(shù)據(jù)丟失、數(shù)據(jù)安全性、擴(kuò)展性、恢復(fù)速度慢等問(wèn)題。傳統(tǒng)的數(shù)據(jù)備份方式存在一系列的缺陷,主要包括以下幾個(gè)方面:
(1)磁帶失效率高,數(shù)據(jù)易丟失。磁帶庫(kù)的磁帶介質(zhì)固有的非密封性,且物理磁帶庫(kù)對(duì)磁帶沒(méi)有容錯(cuò)保護(hù)機(jī)制,備份業(yè)務(wù)涉及到的磁帶組中任意一盤(pán)磁帶的卡帶、磨損、霉點(diǎn)、粘連等,均會(huì)導(dǎo)致整個(gè)備份無(wú)法恢復(fù)。
(2)故障率和維護(hù)成本高。物理磁帶庫(kù)是一個(gè)非密封的機(jī)械設(shè)備,其核心部件磁帶驅(qū)動(dòng)器,機(jī)械手,傳送裝置等各組成部分均為機(jī)械易損件,受灰塵、溫度、潮濕等因素影響大,故障率高,從而導(dǎo)致設(shè)備使用率差,數(shù)據(jù)備份作業(yè)無(wú)法正常連續(xù)運(yùn)行。根據(jù)統(tǒng)計(jì),物理磁帶庫(kù)每年維護(hù)費(fèi)用高達(dá)設(shè)備購(gòu)買費(fèi)用的15%以上。
(3)數(shù)據(jù)庫(kù)備份和恢復(fù)過(guò)程復(fù)雜冗長(zhǎng)。物理磁帶庫(kù)由于物理磁帶的讀寫(xiě)是順序進(jìn)行的,無(wú)法像物理硬盤(pán)一樣進(jìn)行隨機(jī)讀寫(xiě),導(dǎo)致了一個(gè)物理磁帶驅(qū)動(dòng)的I/O性能非常有限的,無(wú)法滿足電信級(jí)的業(yè)務(wù)系統(tǒng)數(shù)據(jù)備份及恢復(fù)的性能要求。
為解決在生產(chǎn)中對(duì)虛擬機(jī)、Oracle數(shù)據(jù)庫(kù)備份問(wèn)題,彌補(bǔ)上述缺陷,提出一種基于云存儲(chǔ)方式進(jìn)行數(shù)據(jù)備份實(shí)現(xiàn)方案,該方案使用開(kāi)源軟件swift及PC服務(wù)器搭建環(huán)境實(shí)現(xiàn)。
系統(tǒng)組網(wǎng)如圖1所示。
圖1:系統(tǒng)組網(wǎng)
備份服務(wù)系統(tǒng)需要部署3個(gè)網(wǎng)絡(luò),分為:內(nèi)部私有網(wǎng)絡(luò)、外部存儲(chǔ)網(wǎng)絡(luò)、管理網(wǎng)絡(luò)。內(nèi)部私有網(wǎng)絡(luò):負(fù)責(zé)存儲(chǔ)節(jié)點(diǎn)、proxy節(jié)點(diǎn)之間的通信;外部存儲(chǔ)網(wǎng)絡(luò):外部設(shè)備通過(guò)該網(wǎng)絡(luò)與存儲(chǔ)系統(tǒng)進(jìn)行數(shù)據(jù)通信;管理網(wǎng)絡(luò):通過(guò)該網(wǎng)絡(luò)對(duì)整個(gè)存儲(chǔ)系統(tǒng)進(jìn)行管理。
確定各節(jié)點(diǎn)部署方式(如圖2所示)。
圖2:系統(tǒng)節(jié)點(diǎn)部署方式
在本方案中,將使用到3個(gè)重要節(jié)點(diǎn),分別是管理節(jié)點(diǎn)、代理節(jié)點(diǎn)、存儲(chǔ)節(jié)點(diǎn)。核心交換機(jī)為cisco N7010交換機(jī),交換機(jī)上的萬(wàn)兆模塊主要用于代理節(jié)點(diǎn)。網(wǎng)絡(luò)鏈路主要有:IPMI鏈路(用于服務(wù)器帶外管理)、管理網(wǎng)絡(luò)(管理節(jié)點(diǎn)網(wǎng)絡(luò))、內(nèi)部存儲(chǔ)網(wǎng)絡(luò)鏈路(存儲(chǔ)節(jié)點(diǎn)之間的網(wǎng)絡(luò))、外部存儲(chǔ)訪問(wèn)鏈路(代理節(jié)點(diǎn)與存儲(chǔ)節(jié)點(diǎn)之間網(wǎng)絡(luò))。
2.2.1 vmware虛擬機(jī)備份實(shí)現(xiàn)方法
如圖3所示,具體步驟包括:
圖3:一種vmware虛擬機(jī)備份實(shí)現(xiàn)方法
(1)用戶登錄分布式對(duì)象存儲(chǔ)系統(tǒng)管理控制臺(tái);
(2)用戶通過(guò)管理控制臺(tái),設(shè)置備份客戶端、虛擬機(jī)以及備份文件在swift上的存放路徑等備份信息,然后發(fā)起備份任務(wù);
(3)備份任務(wù)發(fā)起后,在備份客戶端上需要對(duì)虛擬機(jī)進(jìn)行快照,并獲取需要備份的虛擬機(jī)的vmdk文件列表;
(4)根據(jù)第3步生成的文件列表,將這些文件備份到media server上;
(5)第4步備份完成后,media server上swiftclient會(huì)將虛擬機(jī)備份文件上傳至swift中,上傳完成后,將media server上的虛擬機(jī)備份文件刪除,釋放空間,整個(gè)備份過(guò)程完成。
2.2.2 vmware虛擬機(jī)恢復(fù)實(shí)現(xiàn)方法
如圖4所示,具體步驟如下:
圖4:一種vmware虛擬機(jī)恢復(fù)實(shí)現(xiàn)方法
(1)用戶登錄分布式對(duì)象存儲(chǔ)系統(tǒng)管理控制臺(tái);
(2)用戶通過(guò)管理控制臺(tái),選擇需要恢復(fù)的虛擬機(jī)備份文件或選擇需要的備份記錄進(jìn)行恢復(fù),然后發(fā)起恢復(fù)任務(wù);
(3)恢復(fù)任務(wù)發(fā)起后,首先將swift中的虛擬機(jī)備份文件下載到media server;
(4)第3步下載完成后,將media server上的虛擬機(jī)備份文件傳到vmware主機(jī)上,拷貝完成后,將media server上的虛擬機(jī)備份文件刪除,釋放空間;
(5)根據(jù)虛擬機(jī)備份文件創(chuàng)建新的虛擬機(jī),虛擬機(jī)創(chuàng)建完成后,將原有虛擬機(jī)停止,啟動(dòng)新的虛擬機(jī),新虛擬機(jī)即為備份時(shí)間點(diǎn)的虛擬機(jī),整個(gè)恢復(fù)過(guò)程完成。
如圖5所示,采取rman備份,具體步驟如下:
圖5:Oracle數(shù)據(jù)庫(kù)備份方法
(1)用戶登錄管理控制臺(tái);
(2)用戶進(jìn)入備份客戶端管理界面;
(3)用戶根據(jù)需要來(lái)添加備份客戶端;若備份客戶端已存在,則無(wú)需添加;
(4)用戶進(jìn)入備份目錄管理界面;
(5)用戶根據(jù)需要?jiǎng)?chuàng)建備份在分布式對(duì)象存儲(chǔ)系統(tǒng)中的保存目錄;若目錄已存在,則無(wú)需創(chuàng)建;
(6)用戶進(jìn)入備份目標(biāo)數(shù)據(jù)庫(kù)管理界面;
(7)用戶根據(jù)需要來(lái)添加目標(biāo)數(shù)據(jù)庫(kù);若目標(biāo)數(shù)據(jù)庫(kù)已存在,則無(wú)需添加;
(8)用戶進(jìn)入備份任務(wù)管理界面;
(9)用戶根據(jù)需要制定備份任務(wù)(全備/增量備份),指定將備份的客戶端、目標(biāo)數(shù)據(jù)庫(kù)、備份腳本及備份保存的位置;若備份任務(wù)已存在,無(wú)需制定;
(10)自動(dòng)或手動(dòng)執(zhí)行備份任務(wù),系統(tǒng)會(huì)自動(dòng)將目標(biāo)數(shù)據(jù)庫(kù)備份到用戶指定的目錄中。
如圖6所示,具體步驟如下:
圖6:Oracle數(shù)據(jù)庫(kù)恢復(fù)的方法
Oracle數(shù)據(jù)庫(kù)需要恢復(fù)到指定的時(shí)間點(diǎn),恢復(fù)方法:
(1)用戶登錄管理控制臺(tái);
(2)用戶進(jìn)入Oracle數(shù)據(jù)庫(kù)恢復(fù)功能界面;
(3)用戶在備份樹(shù)中找到數(shù)據(jù)庫(kù)恢復(fù)的時(shí)間點(diǎn)需要的所有的全備、增量備份等;
(4)用戶確認(rèn)選項(xiàng)開(kāi)始進(jìn)行恢復(fù);
(5)用戶執(zhí)行恢復(fù)任務(wù)后,系統(tǒng)會(huì)自動(dòng)將全備、增量備份依次恢復(fù)到備份客戶端源目錄,同時(shí)利用rman來(lái)進(jìn)行數(shù)據(jù)庫(kù)恢復(fù)。
成果實(shí)現(xiàn)了一種基于云存儲(chǔ)方式進(jìn)行數(shù)據(jù)庫(kù)備份的方案,以更好完成虛擬機(jī)和Oracle數(shù)據(jù)庫(kù)的數(shù)據(jù)備份任務(wù)。成果主要內(nèi)容可以分為以下幾個(gè)方面:
(1)備份管理員可以通過(guò)管理界面直接掌握數(shù)據(jù)庫(kù)備份服務(wù)情況,包含節(jié)點(diǎn)的組成、備份告警、備份空間按用戶使用量的分布、在1月內(nèi)的備份使用曲線、備份成功失敗的任務(wù)數(shù)。管理界面明顯優(yōu)于傳統(tǒng)帶庫(kù)管理,服務(wù)管理界面展示 (圖7);
圖7
(2)個(gè)人用戶在申請(qǐng)備份資源后,自己可靈活管理備份空間,在個(gè)人管理界面上可以清楚展示數(shù)據(jù)庫(kù)備份總?cè)蝿?wù)數(shù)、運(yùn)行的、成功的、失敗的任務(wù)。管理界面展示(圖8)。
圖8
根據(jù)傳統(tǒng)數(shù)據(jù)備份的缺陷,然后闡述了采用云存儲(chǔ)方式進(jìn)行虛擬機(jī)和數(shù)據(jù)庫(kù)備份的設(shè)計(jì)思路和實(shí)現(xiàn)過(guò)程。并進(jìn)行了虛擬機(jī)和數(shù)據(jù)庫(kù)備份在生產(chǎn)系統(tǒng)進(jìn)行了初步的試驗(yàn)。為用戶提供了存儲(chǔ)如下類型的數(shù)據(jù):虛擬機(jī)鏡像、視頻文件、音頻文件、圖片、文檔、數(shù)據(jù)庫(kù)的備份等,并以服務(wù)的形式提供給用戶。具體包括:
(1)現(xiàn)有帶庫(kù)備份方式失效率高,數(shù)據(jù)易丟失,該方案采用PC服務(wù)器的內(nèi)置硬盤(pán)為存儲(chǔ)介質(zhì),同時(shí)數(shù)據(jù)有3個(gè)分布在不同服務(wù)器的副本,保障了數(shù)據(jù)的安全。
(2)現(xiàn)有帶庫(kù)備份方式故障率和維護(hù)成本高,該方案采用的備份介質(zhì)為硬盤(pán)而不是磁帶,故障率低;由管理軟件進(jìn)行統(tǒng)一后臺(tái)管理,數(shù)據(jù)分配采用自動(dòng)數(shù)據(jù)平衡,故障率和維護(hù)成本低。
(3)現(xiàn)有帶庫(kù)備份方式備份和恢復(fù)過(guò)程復(fù)雜冗長(zhǎng),該方案?jìng)浞莺突謴?fù)過(guò)程簡(jiǎn)單、速度快,只需在管理界面上操作即可。
(4)現(xiàn)有帶庫(kù)備份方式無(wú)法進(jìn)行數(shù)據(jù)的下載查詢。該方案支持備份數(shù)據(jù)的實(shí)時(shí)下載查詢,數(shù)據(jù)存儲(chǔ)以服務(wù)的形式提供,靈活性好。
[1]顧炯炯.云計(jì)算架構(gòu)技術(shù)與實(shí)踐[M].北京:清華大學(xué)出版社,2014:9-1.
作者單位中國(guó)移動(dòng)通信集團(tuán)重慶有限公司 重慶市401122
譚文貴(1983-),男,重慶市南川區(qū)人。碩士學(xué)位。