Bacula 開(kāi)源備份解決方案

Bacula被譽(yù)為開(kāi)源平臺(tái)下最優(yōu)秀的網(wǎng)絡(luò)備份工具之一,功能之強(qiáng)大,完全可以和商用備份軟件相媲美。Bacula是一款開(kāi)源的跨平臺(tái)網(wǎng)絡(luò)備份工具,提供基于企業(yè)級(jí)的CS的備份解決方案,可以對(duì)數(shù)據(jù)進(jìn)行備份、恢復(fù)、以及完整性校驗(yàn)。

注:

本文部分圖片取自Bacula官網(wǎng):http://blog.bacula.org/

部分取自Bacula-Web:http://www.bacula-web.org/

功能簡(jiǎn)介

支持完全備份,增量備份,差異備份。

支持多種恢復(fù)方式

支持多種文件系統(tǒng)下的備份恢復(fù)(ext3、ext2、reiserfs、xfs、jfs、smbfs、iso9660、ntfs等)

支持各種備份介質(zhì)

支持多種操作系統(tǒng)

強(qiáng)大的內(nèi)部功能

以下是Bacula官方列舉的與主流備份方案的技術(shù)對(duì)比參考:

注:表格中的中文翻譯僅供參考;如需查看表格中相關(guān)注釋,可以查看官方頁(yè)面

支持的操作系統(tǒng)

大多數(shù)Linux版本,包括Gentoo, Red Hat, Fedora, Mandriva, Debian,OpenSuSE, Ubuntu, Kubuntu,Centos等等

不同版本的Solaris;

FreeBSD。磁帶驅(qū)動(dòng)器支持Bacula≥1.30for reeBSD≥5.0;

Windows。只支持客戶端程序;

MacOS X/Darwin (安裝支持包見(jiàn)http://fink.sourceforge.net/);

OpenBSD。只支持客戶端程序;

Irix。只支持客戶端程序。

下面是官方提供列表,供參考:

注:

“x”表示完全支持;

“”表示不完全支持,如果需要詳細(xì)了解可查看官方文檔。

組件和服務(wù)簡(jiǎn)介:

一個(gè)完整的bacula備份系統(tǒng),由下面5個(gè)部分組成,如下:

Director Daemon:負(fù)責(zé)監(jiān)聽(tīng)所有的備份、恢復(fù)、驗(yàn)證、存檔事務(wù),以及定制備份和恢復(fù)文件計(jì)劃等,并將整個(gè)系統(tǒng)運(yùn)行狀況記錄在一個(gè)數(shù)據(jù)庫(kù)文件中。其配置文件為bacula-dir.conf。

Storage Daemon(SD):主要負(fù)責(zé)將數(shù)據(jù)備份到存儲(chǔ)介質(zhì)上,而在數(shù)據(jù)恢復(fù)時(shí),負(fù)責(zé)將數(shù)據(jù)從存儲(chǔ)介質(zhì)中傳送出去。其配置文件為bacula-sd.conf。

File Daemon(FD):安裝在需要備份數(shù)據(jù)的機(jī)器上的守護(hù)進(jìn)程,在備份數(shù)據(jù)時(shí),它負(fù)責(zé)把文件傳出,在恢復(fù)數(shù)據(jù)時(shí)負(fù)責(zé)接收數(shù)據(jù)并執(zhí)行恢復(fù)操作。配置文件為bacula-fd.conf。

Console:管理控制臺(tái)??梢酝ㄟ^(guò)這個(gè)控制臺(tái)連接到Director Daemon進(jìn)行管理備份與恢復(fù)操作。

Monitor:進(jìn)程監(jiān)控端。

工作流程:

通過(guò)console連接到Director端,備份恢復(fù)操作開(kāi)始。

Director端從自己的數(shù)據(jù)庫(kù)中調(diào)出記錄信息,對(duì)存儲(chǔ)端SD與客戶端FD的任務(wù)進(jìn)行協(xié)調(diào)。

客戶端FD負(fù)責(zé)驗(yàn)證Director的操作許可,如果驗(yàn)證通過(guò),則允許連接到存儲(chǔ)端SD

客戶端FD根據(jù)Director發(fā)出的請(qǐng)求去連接SD,將FD端的數(shù)據(jù)備份到存SD指定的存儲(chǔ)介質(zhì)上,或者將SD端存儲(chǔ)介質(zhì)中的數(shù)據(jù)傳回到客戶端FD指定的位置上,完成備份恢復(fù)過(guò)程。

Bacula各組件中的字段簡(jiǎn)介

各配置文件之間主要對(duì)象的關(guān)系。

注:圖中使用箭頭連接主控端配置文件的相關(guān)項(xiàng)與其它配置文件的相關(guān)項(xiàng),所連接的相關(guān)項(xiàng)的值必須是相同的。

主控端配置文件的 Director{}項(xiàng)

Name 值與控制臺(tái)配置文件(bconsole.conf,下同)的 Director{}項(xiàng)、存儲(chǔ)端配置文件的 Director{}項(xiàng)及客戶端配置文件的 Director{}項(xiàng)的 Name 值相同;Password 值與控制臺(tái)配置文件的 Director{}項(xiàng)的 Password 值相同。

主控端配置文件的 Storage{}項(xiàng)

Device 值與存儲(chǔ)端配置文件的 Device{}項(xiàng)的 Name 值相同;MediaType 值與存儲(chǔ)端配置文件的 Device{}項(xiàng)的 MediaType 值相同;Password 值與存儲(chǔ)端配置文件的 Director{}項(xiàng)的 Password 值相同。

主控端配置文件的 Client{}項(xiàng)

Password 值與客戶端配置文件的 Director{}項(xiàng)的 Password 值相同。

Bacula實(shí)例

注:略去詳細(xì)安裝過(guò)程,感興趣可google搜索下,此處將已經(jīng)搭建完成的備份系統(tǒng)中關(guān)鍵配置貼出來(lái)

//安裝完成之后,會(huì)有如下幾個(gè)主要配置文件:

[root@director bacula]# ll

total 64

-rw-r----- 1 root bacula 40669 Oct 12 16:58 bacula-dir.conf

-rw-r----- 1 root root 1671 Aug 19 14:44 bacula-fd.conf

-rw-r----- 1 root root 9241 Oct 8 13:53 bacula-sd.conf

-rw-r----- 1 root root 349 Aug 19 14:42 bconsole.conf

-rw-r----- 1 root bacula 256 May 16 2015 query.sql

bacula-dir.conf

Director字段定義Bacula的全局配置

bacula-dir服務(wù)端口號(hào)

定義一次能處理的最大并發(fā)數(shù)

Console Password密碼

Schedule字段定義備份策略:

第一周的周日晚23:05分進(jìn)行完全備份

第2~5周的周日晚23:05進(jìn)行差異備份

所有周一至周六晚23:05分進(jìn)行增量備份

定義一個(gè)WeeklyCycleAfterBackup備份策略

JobDefs字段定義執(zhí)行任務(wù)的一些默認(rèn)屬性,后面定義的job可以繼承,但是如果有沖突以job中為準(zhǔn)。

Storage字段用來(lái)定義將客戶端的數(shù)據(jù)備份到哪個(gè)存儲(chǔ)設(shè)備上。

定義供Job任務(wù)使用的池屬性信息,例如,設(shè)定備份文件過(guò)期時(shí)間、是否覆蓋過(guò)期的備份數(shù)據(jù)、是否自動(dòng)清除過(guò)期備份等。

Recycle表示重復(fù)使用

AutoPrune表示自動(dòng)清除過(guò)期備份文件

Volume Retention表示備份文件保留的時(shí)間

Maximum Volume Bytes參數(shù)表示一個(gè)卷的大小

Maximum Volumes表示卷最多400個(gè)(每個(gè)卷是20G,這個(gè)pool可提供最多8TB可用空間,超過(guò)會(huì)導(dǎo)致備份任務(wù)等待)

Maximum Volume Jobs表示每個(gè)卷支持的備份任務(wù)數(shù)量

FileSet字段定義一個(gè)名為CentOS-7-APP的備份資源,指定客戶端需要備份哪些數(shù)據(jù),排除哪些數(shù)據(jù)等,可以指定多個(gè)FileSet。

提供gzip壓縮功能(本例中未使用壓縮功能)

提供MD5,SHA1校驗(yàn)功能

Job字段定義一個(gè)備份任務(wù):

指定備份的客戶端主機(jī)

定義備份的級(jí)別(Level的取值可為Full(完全備份),Incremental為增量備份,Differential差異備份,如果第一次沒(méi)做完全備份,則需要先進(jìn)行完全備份再執(zhí)行Incremental)

Client字段用來(lái)定義備份哪個(gè)客戶端的FD數(shù)據(jù)

Address:定義客戶端,可以是IP地址也可以是FQDN(有A記錄)

FDPort:與客戶端FD通信的端口號(hào)

Password:Director與客戶端FD的驗(yàn)證密碼,這個(gè)密碼必須與客戶端FD配置文件bacula-fd.conf中的密碼一致

bacula-sd.conf

定義存儲(chǔ)

定義Device

Archive Device用來(lái)定義備份的介質(zhì)(可以是CD,DVD,TAP等),這里是指定到目錄(文件系統(tǒng))

注:SD可以是一臺(tái)單獨(dú)的服務(wù)器,也可以和Director在一臺(tái)機(jī)器上

bacula-fd.conf

定義一個(gè)控制StorageDaemon的Director

director-dir必須要與Director端配置文件bacula-dir.conf中的Director邏輯字段名稱一致(password必須要和Storage邏輯字段一致)

director-mon必須要與Director端配置文件bacula-dir.conf中的Console邏輯字段名稱一致(password必須要一致)

注:需要備份的客戶端要先安裝bacula客戶端軟件(支持Win)

Bacula-Web

主頁(yè)面

存儲(chǔ)池

Job狀態(tài)

app1-fd客戶端過(guò)去兩周的備份情況

備份報(bào)告

備份數(shù)據(jù)恢復(fù)

恢復(fù)客戶端app1(JobID為1271)

找到對(duì)應(yīng)的job ID

恢復(fù)后的數(shù)據(jù)

本文作者:高瑞(點(diǎn)融黑幫),目前就職于點(diǎn)融網(wǎng)IT 部門,擔(dān)任系統(tǒng)運(yùn)維工程師,愛(ài)好籃球運(yùn)動(dòng)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容