本文來(lái)自微信公眾號(hào)“twt企業(yè)IT社區(qū)”,作者/康建國(guó),某省農(nóng)信資深系統(tǒng)工程師,主要負(fù)責(zé)Power小型機(jī)、存儲(chǔ)、數(shù)據(jù)庫(kù)等方面的運(yùn)維及管理工作,對(duì)存儲(chǔ)雙活、數(shù)據(jù)庫(kù)高可用等方面有著深入的見(jiàn)解。
數(shù)據(jù)是企業(yè)的核心資產(chǎn),數(shù)據(jù)備份可以有效應(yīng)對(duì)系統(tǒng)運(yùn)行過(guò)程中的存在的數(shù)據(jù)損失風(fēng)險(xiǎn),是保障業(yè)務(wù)連續(xù)性的基石。對(duì)于關(guān)系型數(shù)據(jù)庫(kù)備份、文件備份、虛機(jī)備份等傳統(tǒng)備份場(chǎng)景,現(xiàn)有的備份技術(shù)和解決方案已經(jīng)相當(dāng)成熟和普及。隨著IT基礎(chǔ)設(shè)施國(guó)產(chǎn)化進(jìn)程的大力推進(jìn),同時(shí)伴隨著近些年來(lái),云原生、分布式數(shù)據(jù)庫(kù)等分布式技術(shù)的蓬勃發(fā)展,我們需要重新審視已有的備份技術(shù)和體系,辨別新形勢(shì)下新的備份場(chǎng)景,同時(shí)需要為這些新的備份場(chǎng)景尋找合適的備份解決方案。
在談數(shù)據(jù)備份之前,首先需要明確一下備份和容災(zāi)的區(qū)別,因?yàn)槲覀冇懻搨浞輬?chǎng)景的時(shí)候一些同行會(huì)發(fā)出這樣的困惑:我們這個(gè)數(shù)據(jù)平臺(tái)底層是多副本設(shè)計(jì),為啥還要做備份?我們這個(gè)數(shù)據(jù)庫(kù)通過(guò)數(shù)據(jù)復(fù)制實(shí)現(xiàn)了同城容災(zāi),為啥本地還要做備份?
數(shù)據(jù)多副本這樣的高可用設(shè)計(jì)以及容災(zāi)架構(gòu)的設(shè)計(jì)是為了應(yīng)對(duì)軟硬件故障、或者火災(zāi)地震等意外發(fā)生時(shí),整個(gè)應(yīng)用系統(tǒng)可以正常運(yùn)行或者切換到另一處后系統(tǒng)功能可以繼續(xù)正常工作。數(shù)據(jù)備份則是為了抵御各類計(jì)劃外故障、數(shù)據(jù)誤刪、惡意攻擊等異常場(chǎng)景下的數(shù)據(jù)丟失。僅有高可用容災(zāi)設(shè)計(jì),無(wú)法避免數(shù)據(jù)誤刪和惡意攻擊等意外,而僅有數(shù)據(jù)備份又無(wú)法在災(zāi)難發(fā)生時(shí)快速恢復(fù)業(yè)務(wù)系統(tǒng)。因此,備份和容災(zāi)和備份有著明顯的區(qū)別,同時(shí)又緊密結(jié)合、缺一不可,IT運(yùn)維人員千萬(wàn)不可有重容災(zāi)輕備份的偏見(jiàn)思維。
數(shù)據(jù)備份理論范疇很廣,通常包括備份場(chǎng)景、備份策略、備份介質(zhì)、備份架構(gòu)等多個(gè)維度。
一、傳統(tǒng)備份場(chǎng)景
首先我們梳理匯總一下我們金融行業(yè)長(zhǎng)久以來(lái)需要備份的幾個(gè)主要場(chǎng)景,包括關(guān)系型數(shù)據(jù)庫(kù)備份、文件備份、大數(shù)據(jù)平臺(tái)備份、虛擬化環(huán)境備份等。
1.關(guān)系型數(shù)據(jù)庫(kù)備份
以DB2、ORACLE為代表的關(guān)系型數(shù)據(jù)庫(kù)的備份是所有數(shù)據(jù)備份場(chǎng)景里面占比最高的場(chǎng)景,經(jīng)過(guò)幾十年的發(fā)展,這個(gè)場(chǎng)景的備份各行業(yè)各企業(yè)都已經(jīng)做得很成熟了。
2.文件備份
重要數(shù)據(jù)文件的備份也是傳統(tǒng)備份里面一個(gè)常見(jiàn)的場(chǎng)景,包括以文件形式存儲(chǔ)的重要業(yè)務(wù)數(shù)據(jù)、系統(tǒng)配置文件、系統(tǒng)日志等等。文件備份的手段很多,當(dāng)數(shù)量不大時(shí)用拷貝、打包等方式備份到第二存儲(chǔ)介質(zhì)了即可。當(dāng)海量文件需要備份時(shí),在備份和恢復(fù)速度方面就會(huì)有很大挑戰(zhàn)。這種場(chǎng)景下需要使用基于rsync命令的高并發(fā)備份工具去備份海量文件,當(dāng)然也可以考慮用CDP技術(shù)對(duì)儲(chǔ)存文件的硬盤進(jìn)行快照,需要恢復(fù)的時(shí)候直接掛載起來(lái)使用即可。
3.大數(shù)據(jù)平臺(tái)備份
大數(shù)據(jù)平臺(tái)里面的數(shù)據(jù)有幾個(gè)特點(diǎn),第一,數(shù)據(jù)量巨大;第二,數(shù)據(jù)結(jié)構(gòu)類型復(fù)雜多樣,有結(jié)構(gòu)化、非結(jié)構(gòu)化、半結(jié)構(gòu)化;第三,數(shù)據(jù)功能分多個(gè)層次,包括基礎(chǔ)數(shù)據(jù)、初步架構(gòu)數(shù)據(jù)、深度加工數(shù)據(jù)、分析結(jié)果數(shù)據(jù)等等;第四,數(shù)據(jù)來(lái)源很廣,有內(nèi)部各應(yīng)用下沉的基礎(chǔ)數(shù)據(jù),有外部引入的基礎(chǔ)數(shù)據(jù)。因此,很難有一個(gè)萬(wàn)能的備份平臺(tái)來(lái)完成對(duì)大數(shù)據(jù)平臺(tái)內(nèi)所有數(shù)據(jù)的備份恢復(fù)工作。
筆者認(rèn)為對(duì)于大數(shù)據(jù)平臺(tái)的數(shù)據(jù)備份,需要對(duì)數(shù)據(jù)進(jìn)行分級(jí)分類設(shè)計(jì)。例如:如果基礎(chǔ)數(shù)據(jù)是可以隨時(shí)從源頭調(diào)用,而源頭又有完善的備份機(jī)制,那么基礎(chǔ)數(shù)據(jù)是否就可以沒(méi)必要備份了。而經(jīng)過(guò)復(fù)雜加工之后的數(shù)據(jù)單獨(dú)切分出來(lái)進(jìn)行備份。保障接近應(yīng)用上層的若干連續(xù)分級(jí)數(shù)據(jù)的備份即可。在分級(jí)分類的時(shí)候,需要考慮到數(shù)據(jù)量級(jí)、數(shù)據(jù)再生條件、數(shù)據(jù)重要性、數(shù)據(jù)加工的復(fù)雜度和耗時(shí)等等因素,保留中間層可以為分析模型提供直接分析支持的數(shù)據(jù)即可。
4.虛擬化環(huán)境備份
虛擬化環(huán)境備份主要是VMware和云平臺(tái)中虛機(jī)的備份,這一塊可以依賴虛擬化平臺(tái)自身的備份功能,也可以借助CDM/CDP等技術(shù)手段進(jìn)行備份。隨著云計(jì)算技術(shù)的不斷成熟,依賴云平臺(tái)自身運(yùn)維功能進(jìn)行云主機(jī)、云硬盤的備份手段已經(jīng)很成熟了。
二、信創(chuàng)趨勢(shì)下的備份考量
(一)重要備份場(chǎng)景
隨著國(guó)產(chǎn)化進(jìn)程的推進(jìn),在新形勢(shì)新趨勢(shì)下有哪些備份場(chǎng)景需要我們用戶重點(diǎn)關(guān)注呢?筆者認(rèn)為有以下兩個(gè)場(chǎng)景最值得研究和關(guān)注。
1.分布式數(shù)據(jù)庫(kù)備份
近幾年伴隨著基礎(chǔ)軟件國(guó)產(chǎn)化的快速推進(jìn),以DB2、ORACLE為首的外國(guó)商用集中式數(shù)據(jù)庫(kù)向國(guó)產(chǎn)分布式數(shù)據(jù)庫(kù)的改造正如火如荼地進(jìn)行。在這樣的形式下,國(guó)產(chǎn)分布式數(shù)據(jù)庫(kù)的備份場(chǎng)景已經(jīng)是目前信創(chuàng)趨勢(shì)下的一大重點(diǎn)。
我們用戶需要重點(diǎn)關(guān)注和研究國(guó)產(chǎn)分布式數(shù)據(jù)庫(kù)的備份技術(shù)和實(shí)現(xiàn)手段,這里面需要注意的是國(guó)產(chǎn)備份軟件和國(guó)產(chǎn)分布式數(shù)據(jù)庫(kù)的兼容性和穩(wěn)定性問(wèn)題。目前,愛(ài)數(shù)、鼎甲、云信達(dá)、壹進(jìn)制等國(guó)產(chǎn)備份廠商已經(jīng)紛紛和幾大國(guó)產(chǎn)分布式數(shù)據(jù)庫(kù)進(jìn)行了適配。但是由于國(guó)產(chǎn)分布式數(shù)據(jù)庫(kù)自身的功能還在發(fā)展階段,缺陷較多,這對(duì)國(guó)產(chǎn)備份軟件在適配方面提出了非常高的要求。
另外,分布式數(shù)據(jù)庫(kù)自身架構(gòu)和部署方式的不同也會(huì)給備份帶來(lái)不同的特點(diǎn),比如單中心、多中心的不同部署方式對(duì)應(yīng)的備份方式可能不一樣。單分片、多分片架構(gòu)備份的特點(diǎn)也不一樣。對(duì)于多分片數(shù)據(jù)庫(kù)的備份,在多個(gè)數(shù)據(jù)分片合并恢復(fù)的時(shí)候需要考慮數(shù)據(jù)庫(kù)的全局一致性。
2.容器備份
隨著云原生理念的不斷普及,越來(lái)越多的企業(yè)開始和研究和應(yīng)用容器技術(shù),部分大型銀行的核心系統(tǒng)已經(jīng)使用容器。因此,容器的備份應(yīng)當(dāng)是目前以及未來(lái)備份場(chǎng)景中需要重點(diǎn)關(guān)注的一個(gè)方面。
大部分容器使用場(chǎng)景下,為了更便捷地進(jìn)行容器任意調(diào)度、遷移,在設(shè)計(jì)上把容器盡可能做成無(wú)狀態(tài)服務(wù),狀態(tài)保存在外部存儲(chǔ)池中。在這種設(shè)計(jì)下,容器應(yīng)用無(wú)需備份,只需要對(duì)外部存儲(chǔ)中的應(yīng)用數(shù)據(jù)進(jìn)行備份。
但是在如今k8s容器時(shí)代,容器是一個(gè)動(dòng)態(tài)變化的資源,例如正在運(yùn)行在哪個(gè)node上、配置的參數(shù)、版本等等信息都可能是變化的。容器的數(shù)據(jù)備份已經(jīng)不能把容器本身以及應(yīng)用的數(shù)據(jù)分開來(lái)了。備份的時(shí)候,應(yīng)該把應(yīng)用的資源以及數(shù)據(jù)打包,一起備份到第二存儲(chǔ)上去。
(二)備份策略制定
數(shù)據(jù)備份的策略,從大的維度要確定哪些數(shù)據(jù)需要備份、哪些數(shù)據(jù)需要全量備份、哪些數(shù)據(jù)可以增量備份,從細(xì)的維度要確定備份的頻率、窗口等各種必要因素。制定備份策略的過(guò)程需要考慮到數(shù)據(jù)本身的量級(jí)、數(shù)據(jù)的具體類型、極端條件下對(duì)數(shù)據(jù)恢復(fù)時(shí)間及數(shù)據(jù)丟失量的容忍程度、數(shù)據(jù)備份系統(tǒng)以及備份介質(zhì)本身的性能特性、業(yè)務(wù)發(fā)展的規(guī)模及趨勢(shì)判斷等等。
(三)備份系統(tǒng)設(shè)計(jì)
信創(chuàng)趨勢(shì)下,對(duì)于備份系統(tǒng)的設(shè)計(jì)主要包括備份介質(zhì)和備份軟件的選擇、備份系統(tǒng)整體架構(gòu)的設(shè)計(jì)。
1.備份介質(zhì)的選擇
備份介質(zhì)從是否需要加電的角度分為在線介質(zhì)和離線介質(zhì)兩類。在線介質(zhì)主要是各類磁盤設(shè)備,包括服務(wù)器本地硬盤、集中式塊存儲(chǔ)、集中式NAS、分布式NAS、對(duì)象存儲(chǔ)等。離線介質(zhì)主要是磁帶和藍(lán)光存儲(chǔ)。
按照《GB/T 20988—2007信息安全技術(shù)信息系統(tǒng)災(zāi)難恢復(fù)規(guī)范》中對(duì)于數(shù)據(jù)備份系統(tǒng)的要求--“備份介質(zhì)場(chǎng)外存放”,個(gè)人認(rèn)為離線備份是有必要的?,F(xiàn)在部分用戶完全使用在線設(shè)備(比如大數(shù)據(jù)平臺(tái)、對(duì)象存儲(chǔ))用作備份數(shù)據(jù)的永久保留個(gè)人認(rèn)為和監(jiān)管要求有偏離。
傳統(tǒng)離線介質(zhì)主要是磁帶,單盤容量大,保存周期長(zhǎng),金融行業(yè)已經(jīng)具有多年的成熟使用經(jīng)驗(yàn),但目前仍然是依靠外國(guó)產(chǎn)品。隨著國(guó)產(chǎn)化進(jìn)程的推進(jìn),備份介質(zhì)的國(guó)產(chǎn)化是不可避免的主題。使用大容量光盤作為存儲(chǔ)介質(zhì)的藍(lán)光存儲(chǔ)目前成為備選方案之一,但其生態(tài),即和各個(gè)備份場(chǎng)景的兼容性還有待完善和檢驗(yàn)。
2.備份軟件的選擇
過(guò)去我們主要使用TSM、NBU、CV等國(guó)外廠商的備份軟件,這些備份軟件也和DB2、ORACLE等外國(guó)商用數(shù)據(jù)庫(kù)有著很好的兼容性。近幾年伴隨著基礎(chǔ)軟件國(guó)產(chǎn)化的推進(jìn),DB2、ORACLE等外國(guó)商用數(shù)據(jù)庫(kù)向國(guó)產(chǎn)數(shù)據(jù)庫(kù)的改造推進(jìn)速度極快,同時(shí)也涌現(xiàn)出一批有競(jìng)爭(zhēng)力的國(guó)產(chǎn)備份軟件。當(dāng)然由于國(guó)產(chǎn)數(shù)據(jù)庫(kù)尤其是國(guó)產(chǎn)分布式數(shù)據(jù)庫(kù)以及國(guó)產(chǎn)操作系統(tǒng)版本更新速度很快,對(duì)國(guó)產(chǎn)備份軟件和它們兩者之間的兼容性的挑戰(zhàn)很大。很多用戶也是在采用有代理還是無(wú)代理的備份方式之間徘徊。個(gè)人認(rèn)為可以優(yōu)先考慮無(wú)代理備份方式,以減少由于數(shù)據(jù)庫(kù)服務(wù)器本地操作系統(tǒng)或者數(shù)據(jù)庫(kù)版本升級(jí)帶來(lái)的麻煩。
3.備份系統(tǒng)整體架構(gòu)的設(shè)計(jì)
對(duì)于備份系統(tǒng)整體架構(gòu)的設(shè)計(jì)就是將備份介質(zhì)、備份軟件、備份數(shù)據(jù)傳輸方式三者整體結(jié)合起來(lái)的過(guò)程。備份介質(zhì)和備份軟件根據(jù)在線/離線、外國(guó)/國(guó)產(chǎn)、有無(wú)代理等維度考慮。備份數(shù)據(jù)傳輸方式主要是萬(wàn)兆以太網(wǎng)和SAN網(wǎng)絡(luò)兩種。在國(guó)產(chǎn)分布式數(shù)據(jù)庫(kù)、大數(shù)據(jù)平臺(tái)等備份場(chǎng)景下,同時(shí)結(jié)合國(guó)產(chǎn)備份軟件,萬(wàn)兆以太網(wǎng)已成為從數(shù)據(jù)源端到備份介質(zhì)之間傳輸?shù)闹饕W(wǎng)絡(luò)載體。
對(duì)于備份系統(tǒng)整體架構(gòu)的設(shè)計(jì),這里舉兩種典型的架構(gòu)設(shè)計(jì)。第一種是系統(tǒng)集成方案,比如采用分布式NAS對(duì)于近期備份數(shù)據(jù)在線保存,采用藍(lán)光存儲(chǔ)作為長(zhǎng)期歸檔保存,同時(shí)采用一個(gè)國(guó)產(chǎn)備份軟件用來(lái)定時(shí)將分布式數(shù)據(jù)庫(kù)數(shù)據(jù)先備份到分布式NAS,再?gòu)姆植际絅AS上將超過(guò)一定時(shí)間的備份結(jié)果轉(zhuǎn)儲(chǔ)到離線存儲(chǔ)進(jìn)行永久保存。第二種則是很多國(guó)產(chǎn)備份廠商推崇的軟硬一體架構(gòu),比如華為的OceanProtect一體化備份方案、各個(gè)國(guó)產(chǎn)備份廠商的備份一體機(jī)等等。對(duì)于技術(shù)基礎(chǔ)扎實(shí)喜歡DIY的用戶可以選擇第一種,對(duì)于希望快速部署拿來(lái)即用的用戶則可以選擇第二種。
三、總結(jié)
數(shù)據(jù)備份是永恒的話題,做好數(shù)據(jù)備份是保障業(yè)務(wù)連續(xù)性的基石,是企業(yè)的生命線。隨著IT基礎(chǔ)設(shè)施和基礎(chǔ)軟件國(guó)產(chǎn)化進(jìn)程的快速推進(jìn),我們需要及時(shí)探索新的更符合長(zhǎng)期發(fā)展的備份方案,更新企業(yè)的整體備份架構(gòu),方能跟上時(shí)代步伐,與時(shí)俱進(jìn)。