當(dāng)前位置:首頁文章首頁 IT學(xué)院 IT技術(shù)

利用bacula完成數(shù)據(jù)的備份恢復(fù)

作者:  來源:  發(fā)布時間:2012-2-16 8:52:38  點擊:

一、bacula概述

1.bacula的組件
  bacula,被譽為開源軟件中最好的備份還原軟件,它提供了企業(yè)級的客戶機/服務(wù)器的備份解決方案,能夠通過網(wǎng)絡(luò)來管理文件的備份,恢復(fù)和核實工作.既有Windows版本的,也有Linux,Unix的.
一個完整的bacula備份系統(tǒng),由以下五個主要部分或服務(wù)組成:
Directory:  管理所有備份,恢復(fù),驗證,和存檔事務(wù),定制備份和恢復(fù)文件的計劃.
Storge:     指定進行存儲和恢復(fù)文件屬性和數(shù)據(jù)的物理備份媒介.
File:       安裝在被備份機器上的程序,將被directory調(diào)用時候,它提供關(guān)于自己的操作系統(tǒng)、文件屬性、數(shù)據(jù)等資料.
Console:    管理控制臺,與directory進行通訊.
Catalog: 負(fù)責(zé)維護所有備份文件的索引和數(shù)據(jù)庫.Catalog服務(wù)允許系統(tǒng)管理員或用戶能夠快速地找到并恢復(fù)任何需要的檔案。catalog服務(wù)是Bacula和簡單的tar,bru備份命令的主要區(qū)別,因為catalog維護所有Volume使用情況的記錄,所有任務(wù)的運行情況,和所有檔案的保存情況,允許有效的恢復(fù)和Volume管理。 Bacula目前支持的三個數(shù)據(jù)庫(postgresql、mysql、sqlite),在安裝Bacula時,必須選擇其中之一。
Monitor:   監(jiān)控directory、file、storage的守護進程
 


bacula各個組成部分的關(guān)聯(lián)性
 
2. 部署結(jié)構(gòu)
主機名          ip地址          應(yīng)用角色               OS  
baculaserver    192.168.32.30   Director、SD、Console  rhel5.5
baculaclient    192.168.32.31   FD                     rhel5.5
 
二、安裝
1.bacula服務(wù)器端安裝和初始化
1.1. bacula軟件安裝
[root@baculaserver ~]# tar -zxf bacula-5.0.1.tar.gz
[root@baculaserver ~]# cd bacula-5.0.1
[root@baculaserver bacula-5.0.1]# ./configure --prefix=/usr/local/bacula --with-mysql 
#指定安裝路徑和所用數(shù)據(jù)庫
[root@baculaserver bacula-5.0.1]# make && make install
 
1.2 MySQL數(shù)據(jù)庫初始化
[root@baculaserver ~]# cd /usr/local/bacula/etc
[root@baculaserver etc]# ./grant_mysql_privileges
[root@baculaserver etc]# ./create_mysql_database
[root@baculaserver etc]# ./make_mysql_tables
#在執(zhí)行上面三行mysql初始化時,默認(rèn)由數(shù)據(jù)庫管理員root執(zhí)行,因此可能需要輸入root密碼或設(shè)置root密碼為空。
 
2.bacula客戶端安裝
[root@baculaclient ~]# tar -zxf bacula-5.0.1.tar.gz
[root@baculaclient ~]# cd bacula-5.0.1
[root@baculaclient bacula-5.0.1]# ./configure --prefix=/usr/local/bacula --enable-client-only 
#指定安裝路徑,和只安裝客戶端組件
[root@baculaclient bacula-5.0.1]# make && make install
 
三、bacula的配置
1. bacula的console端配置(bconsole.conf)
[root@baculaserver etc]# vim bconsole.conf
# Bacula User Agent (or Console) Configuration File
#
Director {
  Name = 2012-02-15-dir     #主控臺名稱,自定義,要求與bacula-dir.conf中定義相同
  DIRport = 9101            #控制臺服務(wù)器端口
  address = 192.168.32.30   #控制臺服務(wù)器IP,不要用localhost
  Password = "xgjYPXCfgFT6ZS/9tQQTtfrFZ90CFFfIcj+qDKm8FpO0"  #控制臺密碼
}
 
2. bacula的Director端配置(bacula-dir.conf)
2.1 bacula-dir.conf的組成
bacula-dir.conf是Director端的配置文件,也是bacula的核心配置文件,該文件由以下10個邏輯端組成:
Director:定義全局設(shè)置
Catalog:定義后臺數(shù)據(jù)庫
Jobdefs:定義默認(rèn)執(zhí)行任務(wù)
Job:自定義一個備份或恢復(fù)任務(wù)
Fileset:定義備份哪些數(shù)據(jù),不備份哪些數(shù)據(jù)
Schedule:定義備份時間策略
Pool:定義供Job使用的池屬性
Client:定義要備份的客戶端
Storage:定義數(shù)據(jù)的存儲方式
Messages:定義發(fā)送日志報告和日志的記錄
 
2.2 bacula-dir.conf配置
[root@baculaserver etc]# vim bacula-dir.conf
Director {                            #控制臺的全局配置
  Name = 2012-02-15-dir               #定義控制臺名稱,要與sd、fa的Director相同
  DIRport = 9101                      # Director的服務(wù)端口
  QueryFile = "/usr/local/bacula/etc/query.sql"
  WorkingDirectory = "/usr/local/bacula/var/bacula/working"
  PidDirectory = "/var/run"
  Maximum Concurrent Jobs = 1        #一次能處理的最大并發(fā)數(shù)
  Password = "xgjYPXCfgFT6ZS/9tQQTtfrFZ90CFFfIcj+qDKm8FpO0"       #控制臺密碼,要與bconsole.conf中Director密碼相同
  Messages = Daemon                  #日志輸出方式,“Daemon”在下面Messages邏輯段中定義
}
 
#JobDefs {                           #JobDefs類似一個模板,并不是真正創(chuàng)建一個任務(wù),只為Job提供一個默認(rèn)的配置,當(dāng)前Job明確定義的任何值,將會覆蓋沖突的JobDefs值.
#  Name = "DefaultJob"          
#  Type = Backup                
#  Level = Incremental          
#  Client = 2012-02-15-fd       
#  FileSet = "Full Set"         
#  Schedule = "WeeklyCycle"     
#  Storage = File
#  Messages = Standard
#  Pool = File
#  Priority = 10
#  Write Bootstrap = "/usr/local/bacula/var/bacula/working/%c.bsr"
#}
 
 
Job {                           #備份任務(wù),注意注釋標(biāo)號,可按照該標(biāo)號與后面各邏輯端定義相對應(yīng)
  Name = webjob                 #備份job的名字,這個可以隨便起,在后面的備份操作的時候可以看到
  Type= backup                  #可用類型有backup,restore,verify,admin
  Client= 2012-02-15-fd         #1.要備份的客戶端,“2012-02-15-fd”在后面的Client邏輯段定義
  FileSet = dbfs            #2.要備份的客戶端數(shù)據(jù),“dbfs”在后面的FileSet邏輯段定義
  schedule = dbscd              #3.備份任務(wù)的執(zhí)行時間策略,“dbscd”在后面的Schedule邏輯段定義
  Storage = dbsd            #4.備份數(shù)據(jù)的存儲介質(zhì)和路徑,“dbsd”在后面的Storage邏輯段定義
  Messages = Daemon         
  Pool = dbpool             #5.pool屬性,“dbpool”在后面的Pool邏輯段定義
  Level = Incremental         #備份類型,可用的值是FULL(完全備份),incremental(增量備份),differential(差異備份),如第一次沒做完全備份,則先進行完全備份后再執(zhí)行Incremental
  Priority = 10                #優(yōu)先級
  Write Bootstrap = "/usr/local/bacula/var/bacula/working/%c.bsr"   #指定備份的引導(dǎo)信息路徑
}
 
#Job {                        #定義一個Catalog備份任務(wù),確保控制端備份數(shù)據(jù)庫的安全
#  Name = "BackupCatalog"        
#  JobDefs = "DefaultJob"
#  Level = Full
#  FileSet="Catalog"
#  Schedule = "WeeklyCycleAfterBackup"
#  # This creates an ASCII copy of the catalog
#  # Arguments to make_catalog_backup.pl are:
#  #  make_catalog_backup.pl <catalog-name>
#  RunBeforeJob = "/usr/local/bacula/etc/make_catalog_backup.pl MyCatalog"
#  # This deletes the copy of the catalog
#  RunAfterJob  = "/usr/local/bacula/etc/delete_catalog_backup"
#  Write Bootstrap = "/usr/local/bacula/var/bacula/working/%n.bsr"
#  Priority = 11                   # run after main backup
#}
 
Job {                         #定義一個還原任務(wù)
  Name = "Restoreweb"           
  Type = Restore
  Client=2012-02-15-fd                
  FileSet="dbfs"                 
  Storage = dbsd                     
  Pool = dbpool
  Messages = Standard
  Where = /home/bacula      #指定默認(rèn)恢復(fù)數(shù)據(jù)到這個路徑,注意:還原客戶端數(shù)據(jù)時,默認(rèn)會將數(shù)據(jù)存放在客戶端/home/bacula下。

首頁 上一頁 [1] [2] [3] [4] [5]  下一頁 尾頁

相關(guān)文章

文章評論

軟件按字母排列: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z