一、bacula是什麼
bacula是一款開源的跨平台網路備份工具,它提供了基於企業級的客戶端/伺服器的備份恢復解決方案,通過它,系統管理人員可以對資料進行備份、恢復,以及完整性驗證等操作,同時,它還提供了許多高階儲存管理功能,使系統管理人員能夠很容易發現並恢復丟失的或已經損壞的檔案。bacula既有windows版本的,也有linux和unix版本的。
二、 bacula適合哪些使用者
如果業務系統資料量巨大,每天都在迅速增長,還需要以tar打包方式進行低階備份,並且沒有相應的異地容災策略時,那麼就應該考慮使用bacula。bacula擁有乙個完美的增量備份功能,同時還支援遠端容災備份。通過bacula,可以將資料備份到任意乙個遠端主機上,使用者只需要對bacula進行簡單的設定即可自動完成資料備份。
如果使用者已經擁有一套儲存裝置,如磁碟陣列、磁帶/帶庫,只是需要將業務資料從伺服器自動備份到這些儲存裝置上,bacula無疑也是最佳選擇,因為bacula具有介質管理功能,利用它可以輕鬆地實現將伺服器資料儲存到乙個或者多個已經掛載的磁帶或帶庫中。雖然商業的備份軟體也能完成將資料自動備份到儲存裝置上,但代價昂貴。
對於正在使用乙個商業的備份軟體如legato和veritas等的使用者,更應該嘗試一下bacula,因為bacula完全可以和這些商業軟體相媲美,更重要的是,bacula是開源軟體,如果某些關鍵功能無法通過實現,可以選擇修改開源軟體**的方式來實現。通過對開源軟體進行簡單的修改來滿足特殊需求,大大簡化了使用者的工作。
三、bacula的功能特點
1.支援多種備份方式
(1)完全備份
完整備份就是完整地備份業務資料。例如,星期一用一盤磁帶對整個業務系統進行備份,星期二用另一盤磁帶對整個業務系統進行備份,依此類推。
這種備份策略的優點是:當發生資料丟失時,只要用一盤磁帶(即災難發生前一天的備份磁帶)就可以恢復丟失的資料。當然,它也有不足之處。首先,由於每天都對整個系統進行完全備份,難免造成備份資料大量重複。這些重複的資料占用了大量的磁帶空間,這對使用者來說就意味著增加成本。其次,如果備份的資料量很大,那麼備份所需的時間也就較長。對於一些業務繁忙、備份時間有限的企業來說,選擇這種備份策略是不明智的。
(2)增量備份
增量備份是以上次備份為基準的備份方式,也就是只對每天新增的或被修改過的資料進行備份,例如,星期天進行一次完全備份,星期一備份從星期天到星期一之間增加的資料,星期二備份從星期一到星期二之間增加的資料,依次類推。
這種備份策略的優點是:只備份當天更新或者增加的資料,因而資料量小,節省了磁帶空間,縮短了備份時間。當然,它也是有缺點的。當災難發生時,資料的恢復過程比較麻煩。如果系統在星期五的早晨發生故障,丟失了大量的資料,那麼現在就要將系統恢復到星期四時的狀態。這時系統管理員首先要找到星期天的完全備份進行系統恢復,然後找到星期一的備份來恢復星期一的資料,接著找到星期二的備份來恢復星期二的資料。按照這種方式,直到恢復周四的資料為止,很明顯,這種方式很繁瑣。備份的可靠性也很差。在這種備份方式下,各個備份間的關係就像乙個鍊子,環環相扣,其中任何乙個備份出了問題都會導致整條鍊子脫節。在上例中,若星期三的備份出了故障,那麼管理員最多只能將系統資料恢復到星期二時的狀態。
(3)差異備份
差異備份是以完全備份為基準的一種備份方式。例如,系統管理員在星期天對系統進行一次完全備份,在星期一備份星期天到星期一之間的資料,在星期二備份星期天到星期二之間的資料,依次類推,也就是備份當天所有與星期天不同的資料(新的或修改過的)。
差異備份方式避免了上面兩種備份策略的缺陷,同時,又具有以上兩種備份方式的所有優點。首先,它無需每天都對系統做完全備份,因此備份資料量小,備份所需時間短,並節省空間;其次,它在災難恢復時也很方便,只需要兩個備份即可,即完全備份與災難發生前一天的備份,就可以將系統恢復。
其實每種備份方式都不是孤立存在的,在實際的備份應用中,通常採用以上三種方式相結合的備份策略。例如每週一至週六進行一次增量備份或差異備份,每週日進行全備份,每月底進行一次完全備份,每年底進行一次完全備份。
通過對完三種備份方式的介紹,可以知道每種備份的資料量是不同的:完全備份》差分備份》增量備份。因而,在進行資料恢復時,使用的資料也不盡相同。如果使用完全備份的方式,只需要利用上次的完全備份就可以恢復所有資料;如果使用完全備份+增量備份的方式,則需要利用上次的完全備份+上次完全備份後的所有增量備份才能恢復所有資料;如果使用完全備份+差異備份的方式,則只需要利用上次的完全備份+最近的乙個差異備份就可以恢復所有資料。
2.支援多種恢復方式
可以恢復某個目錄、檔案到指定的位置,恢復時自動恢復資料的原始結構。
可以恢復所有資料到指定位置,恢復時自動恢復資料的原始結構。
可以儲存恢復檔案或目錄的許可權、屬主、訪問時間等屬性。
可以恢復某個時間點的備份到指定位置,恢復時自動恢復資料的原始結構。
3.支援多種檔案系統下的備份與恢復
bacula支援的檔案系統有:ext3、ext2、reiserfs、xfs、jfs、smbfs、 iso9660和ntfs等。
4.支援各種備份介質
支援把備份寫到磁碟
支援把備份寫到磁帶
支援把備份寫到磁碟陣列
支援把備份寫到光碟
5.支援多種作業系統
linux(rhel/suse/centos)
unix
mac
windows (windows 98、 windows me、 windows nt、windows xp、windows 2000和 windows 2003)
6.強大的內部功能
支援定時備份,無需人工干預
支援終端命令控制,更加靈活
支援正規表示式,可以對備份檔案進行更嚴格的匹配
支援md5和sha1兩種簽名校驗
支援壓縮備份,備份效率更高,傳輸更快
支援報表自動繪製功能,可以自動生成備份報表和恢復報表
四、bacula的工作原理
1.bacula基本組成
乙個完整的bacula備份系統,由下面5個部分組成。
director daemon:以下簡稱director,負責監聽所有的備份、恢復、驗證、存檔事務,以及定製備份和恢復檔案計畫等,並將整個系統執行狀況記錄在乙個資料庫中。支援director daemon的資料庫有mysql、postgresql 和sqlite,推薦使用mysql。director的配置檔案為bacula-dir.conf。
storage daemon:以下簡稱sd,在備份資料時,用來指定備份和恢復資料的儲存介質(儲存介質可以是本地磁碟,光纖磁碟陣列、磁帶和***等),主要負責將資料備份到儲存介質上。而在資料恢復時,負責將資料從儲存介質中傳送出去。sd的配置檔案為bacula-sd.conf。
file daemon:以下簡稱fd,是乙個安裝在需要備份資料的機器上的守護程序,在備份資料時,它負責把檔案傳出;在恢復資料時,它負責接收資料並執行恢復操作。fd的配置檔案為bacula-fd.conf。
console:是乙個管理控制台,使用者可以通過這個控制台連線到director daemon進行管理備份與恢復操作,有三種管理方式:基於文字的控制台介面、 gnome的介面和wxwidgets的圖形介面。console 端的配置檔案是bconsole.conf。
monitor:乙個程序監控端,負責監控director daemon、storage daemon和file daemon的守護程序。bacula備份系統的組成如圖1所示。
圖1 bacula備份系統的組成
從圖1中可以看出,bacula的備份恢復流程如下:
首選,通過console連線到director端,備份恢復操作開始。
接著,director端從自己的資料庫中調出記錄資訊,對儲存端sd與客戶端fd的任務進行協調。
然後,客戶端fd負責驗證director的操作許可,如果驗證通過,則允許連線儲存端sd。
最後,客戶端fd根據director發出的請求去連線sd,將fd端的資料備份到存sd指定的儲存介質上,或者將sd端儲存介質中的資料傳回到客戶端fd指定的位置上,完成備份恢復過程。
需要注意的是,在bacula的整個備份恢復系統中,客戶端fd和sd要保證網路連線暢通,為了保證備份以及恢復資料的速度和效率,最好讓客戶端fd和sd處在乙個網段中。
2.bacula各個組成部分的關聯性
在baclua的5個組成部分中,3個主要配置檔案是相互關聯的,修改任何乙個配置檔案,另外兩個檔案都要進行相應的改動。為了使讀者對這3個配置檔案有更清晰的認識,圖2列出了這3個檔案之間的相互關係。
圖2 bacula配置檔案之間的關係
未完待續!
開源網路備份軟體bacula 安裝bacula)
一 bacula的幾種網路備份拓撲 前面文章介紹了bacula有5個組成部分,在實際的應用中,沒有必要將5個部分分別放在不同的伺服器上,它們之間的某些部分是可以合併的,常見的bacula部署結構有如下幾種 1 director與sd以及console在一台機器上,而客戶端fd在另外一台機器上,當然客...
開源網路備份軟體bacula 功能特點與原理)
一 bacula是什麼 bacula是一款開源的跨平台網路備份工具,它提供了基於企業級的客戶端 伺服器的備份恢復解決方案,通過它,系統管理人員可以對資料進行備份 恢復,以及完整性驗證等操作,同時,它還提供了許多高階儲存管理功能,使系統管理人員能夠很容易發現並恢復丟失的或已經損壞的檔案。bacula既...
centos7 建立bacula備份軟體
重要命令 用於查錯 bacula dir v f bacula dir.conf bacula fd.exe t bacula fd.conf 安裝lnmp一鍵包 注意 php要5.6以上,所有選7就好。資料庫也選新點版本 tar zxvf lnmp.cd lnmp.install.sh yum i...