一、实例演示bacula的完全备份功能 1.创建卷组 执行如下命令,连接到bacula控制端,执行备份恢复操作: [root@baculaserveropt]#/opt/bacula/sbin/bconsole ConnectingtoDirector192.168.12.188:9101 1000OK:f10-6
一、实例演示bacula的完全备份功能
1.创建卷组
执行如下命令,连接到bacula控制端,执行备份恢复操作:
[root@baculaserver opt]#/opt/bacula/sbin/bconsole Connecting to Director 192.168.12.188:9101 1000 OK: f10-64-build-dir Version: 3.0.2 (18 July 2009) Enter a period to cancel a command *label Automatically selected Storage: dbsd Enter new Volume name: cicro4 #卷组名称,可随意指定,指定完毕后会在 #bacula-dir.conf文件的指定位置生成一个cicro4文件 Defined Pools: 1: dbpool 2: Scratch Select the Pool (1-2): 1 #指定卷组的放置位置,即为SD名称。 #Dbpool在bacula-dir.conf中定义 Connecting to Storage daemon dbsd at 192.168.12.188:9103 ... #由于指定SD在 #192.168.12.188主机上,因此将卷cicro4创建到了此主机上 Sending label command for Volume "cicro4" Slot 0 ... 3000 OK label. VolBytes=191 DVD=0 Volume="cicro4" Device="dbdev" (/cicro/backup2) Catalog record for Volume "cicro4", Slot 0 successfully created. Requesting to mount dbdev ... 3906 File device "dbdev" (/cicro/backup2) is always mounted.
2.利用run命令执行备份操作
下面继续在bacula控制端执行备份操作:
*run A job name must be specified. The defined Job resources are: 1: Client1 #这里的Client1 是在bacula-dir.conf中定义的一个Job执行任务 2: Client #这里的Client 也是在bacula-dir.conf中定义的一个Job执行任务 3: BackupCatalog 4: RestoreFiles Select Job resource (1-2): 1 Run Backup job JobName: Client1 Level: Incremental Client: dbfd FileSet: dbfs Pool: dbpool (From Job resource) Storage: dbsd (From Job resource) When: 2009-08-21 13:40:13 Priority: 10 OK to run? (yes/mod/no): yes Job queued. JobId=67
到此为止,可以开始执行备份,在bacula-dir.conf文件中定义的Client1是一个增量备份,因此这个备份只是个增量操作。由于这是第一个备份,因此默认Client1会做一个完全备,第二次备份时,才执行增量备份。
3.查看备份状态
在bacula控制端利用“status”可以查看bacula的各种状态,这里查看备份时Director端的一个状态信息。
*status Status available for: 1: Director 2: Storage 3: Client 4: All Select daemon type for status (1-4): 1 f10-64-build-dir Version: 3.0.2 (18 July 2009) x86_64-unknown-linux-gnu redhat Daemon started 21-Aug-09 13:22, 0 Jobs run since started. Heap: heap=241,664 smbytes=82,242 max_bytes=82,498 bufs=245 max_bufs=250 Scheduled Jobs: Level Type Pri Scheduled Name Volume =============================================================================== Incremental Backup 10 21-Aug-09 23:05 Client1 cicro4 Running Jobs: Console connected at 21-Aug-09 13:37 JobId Level Name Status ====================================================================== 67 Full Client1.2009-08-21_13.40.16_07 is running 由此可知,备份正在进行,备份完成再次查看备份信息,输出如下: *status Status available for: 1: Director 2: Storage 3: Client 4: All Select daemon type for status (1-4): 1 由于这里bacula将备份的存储端(SD)和控制端(DIR)设置在一台服务器上,因此可以通过选项1“Director”来查看SD的状态,如果SD端和DIR端不在一台服务器上,要查看选项2,即“Storage”。这里选择选项1r后输出内容如下: f10-64-build-dir Version: 3.0.2 (18 July 2009) x86_64-unknown-linux-gnu redhat Daemon started 21-Aug-09 13:22, 1 Job run since started. Heap: heap=241,664 smbytes=73,891 max_bytes=84,825 bufs=212 max_bufs=250 Scheduled Jobs: Level Type Pri Scheduled Name Volume =============================================================================== Incremental Backup 10 21-Aug-09 23:05 Client1 cicro4 Running Jobs: Console connected at 21-Aug-09 13:42 No Jobs running. Terminated Jobs: JobId Level Files Bytes Status Finished Name ==================================================================== 58 Incr 2 46.85 M OK 19-Aug-09 16:51 Client1 59 Incr 2 3.908 M OK 19-Aug-09 16:51 Client1 60 Incr 2 8.377 K OK 19-Aug-09 16:52 Client1 61 Incr 1 0 OK 19-Aug-09 16:53 Client1 62 Incr 2 8.344 K OK 19-Aug-09 16:53 Client1 63 Incr 2 8.377 K OK 19-Aug-09 16:54 Client1 64 3 77.44 K OK 19-Aug-09 16:57 RestoreFiles 65 1 0 OK 19-Aug-09 16:58 RestoreFiles 66 2 38.77 K OK 19-Aug-09 16:59 RestoreFiles 67 Full 25 145.5 M OK 21-Aug-09 13:41 Client1
这里可以看到,JobId为67的备份是一个完全备份,备份数据的文件数为25个,备份压缩后的大小为145.5MB,备份完成在“21-Aug-09 13:41”,最后的Client1是备份资源的名称。
二、实例演示bacula的增量备份功能
在上面的操作中,设定的备份资源Job本身就是一个增量备份,下面执行的备份操作与上面完全相同,不同的是,这里是第二次备份,bacula会按照设定执行增量备份,操作如下代码清单如下所示。
执行增量备份
* run Automatically selected Catalog: MyCatalog Using Catalog "MyCatalog" A job name must be specified. The defined Job resources are: 1: Client1 2: Client 3: BackupCatalog 4: RestoreFiles Select Job resource (1-2): 1 Run Backup job JobName: Client1 Level: Incremental Client: dbfd FileSet: dbfs Pool: dbpool (From Job resource) Storage: dbsd (From Job resource) When: 2009-08-21 14:20:24 Priority: 10 OK to run? (yes/mod/no): yes Job queued. JobId=68 *status Status available for: 1: Director 2: Storage 3: Client 4: All Select daemon type for status (1-4): 1 f10-64-build-dir Version: 3.0.2 (18 July 2009) x86_64-unknown-linux-gnu redhat Daemon started 21-Aug-09 13:22, 2 Jobs run since started. Heap: heap=241,664 smbytes=84,576 max_bytes=97,749 bufs=218 max_bufs=252 Scheduled Jobs: Level Type Pri Scheduled Name Volume =============================================================================== Incremental Backup 10 21-Aug-09 23:05 Client1 cicro4 Running Jobs: Console connected at 21-Aug-09 14:19 No Jobs running. Terminated Jobs: JobId Level Files Bytes Status Finished Name ==================================================================== 59 Incr 2 3.908 M OK 19-Aug-09 16:51 Client1 60 Incr 2 8.377 K OK 19-Aug-09 16:52 Client1 61 Incr 1 0 OK 19-Aug-09 16:53 Client1 62 Incr 2 8.344 K OK 19-Aug-09 16:53 Client1 63 Incr 2 8.377 K OK 19-Aug-09 16:54 Client1 64 3 77.44 K OK 19-Aug-09 16:57 RestoreFiles 65 1 0 OK 19-Aug-09 16:58 RestoreFiles 66 2 38.77 K OK 19-Aug-09 16:59 RestoreFiles 67 Full 25 145.5 M OK 21-Aug-09 13:41 Client1 68 Incr 2 3.908 M OK 21-Aug-09 14:20 Client1
从最后的备份列表可以看出,系统进行了增量备份,“3.908 M”就是上次备份与这次备份之间的数据增加量。而JobId =68这个备份的Level级别为Incr也说明了此次备份为增量备份。
三、实例演示bacula的差异备份功能
差异备份与增量备份的原理,前面已经介绍过了,这里只给出具体的操作步骤。
1.开始执行备份
*run Automatically selected Catalog: MyCatalog Using Catalog "MyCatalog" A job name must be specified. The defined Job resources are: 1: Client1 2: Client 3: BackupCatalog 4: RestoreFiles Select Job resource (1-4): 2 #这里有两个Job任务可选,名为Client1的为增量 #备份操作,名为Client的为差异备份操作 Run Backup job JobName: Client Level: Differential Client: dbfd FileSet: dbfs Pool: dbpool (From Job resource) Storage: dbsd (From Job resource) When: 2009-08-21 14:31:04 Priority: 10 OK to run? (yes/mod/no): yes Job queued. JobId=69 You have messages. 至此,开始执行差异备份,如果备份的数据量较大,可能需要一段时间才能完成备份。下面可以用“status”指令查看备份的状态。 2.查看备份状态 *status Status available for: 1: Director 2: Storage 3: Client 4: All Select daemon type for status (1-4): 1 f10-64-build-dir Version: 3.0.2 (18 July 2009) x86_64-unknown-linux-gnu redhat Daemon started 21-Aug-09 14:30, 0 Jobs run since started. Heap: heap=253,952 smbytes=67,810 max_bytes=68,066 bufs=267 max_bufs=272 Scheduled Jobs: Level Type Pri Scheduled Name Volume =========================================================================== Incremental Backup 10 21-Aug-09 23:05 Client1 cicro4 Incremental Backup 10 21-Aug-09 23:05 Client cicro4 Incremental Backup 10 21-Aug-09 23:05 BackupCatalog cicro4 Running Jobs: Console connected at 21-Aug-09 14:30 JobId Level Name Status ====================================================================== 69 Full Client.2009-08-21_14.31.10_03 is running Terminated Jobs: JobId Level Files Bytes Status Finished Name ==================================================================== 59 Incr 2 3.908 M OK 19-Aug-09 16:51 Client1 60 Incr 2 8.377 K OK 19-Aug-09 16:52 Client1 61 Incr 1 0 OK 19-Aug-09 16:53 Client1 62 Incr 2 8.344 K OK 19-Aug-09 16:53 Client1 63 Incr 2 8.377 K OK 19-Aug-09 16:54 Client1 64 3 77.44 K OK 19-Aug-09 16:57 RestoreFiles 65 1 0 OK 19-Aug-09 16:58 RestoreFiles 66 2 38.77 K OK 19-Aug-09 16:59 RestoreFiles 67 Full 25 145.5 M OK 21-Aug-09 13:41 Client1 68 Incr 2 3.908 M OK 21-Aug-09 14:20 Client1 从上面可以看到,备份还没有完成,备份状态为running。 等待几分钟,再次查看备份状态如下: * status Status available for: 1: Director 2: Storage 3: Client 4: All Select daemon type for status (1-4): 1 f10-64-build-dir Version: 3.0.2 (18 July 2009) x86_64-unknown-linux-gnu redhat Daemon started 21-Aug-09 14:30, 1 Job run since started. Heap: heap=253,952 smbytes=65,680 max_bytes=78,853 bufs=240 max_bufs=274 Scheduled Jobs: Level Type Pri Scheduled Name Volume ========================================================================== Incremental Backup 10 21-Aug-09 23:05 Client1 cicro4 Incremental Backup 10 21-Aug-09 23:05 Client cicro4 Incremental Backup 10 21-Aug-09 23:05 BackupCatalog cicro4 Running Jobs: Console connected at 21-Aug-09 14:30 No Jobs running. Terminated Jobs: JobId Level Files Bytes Status Finished Name ==================================================================== 60 Incr 2 8.377 K OK 19-Aug-09 16:52 Client1 61 Incr 1 0 OK 19-Aug-09 16:53 Client1 62 Incr 2 8.344 K OK 19-Aug-09 16:53 Client1 63 Incr 2 8.377 K OK 19-Aug-09 16:54 Client1 64 3 77.44 K OK 19-Aug-09 16:57 RestoreFiles 65 1 0 OK 19-Aug-09 16:58 RestoreFiles 66 2 38.77 K OK 19-Aug-09 16:59 RestoreFiles 67 Full 25 145.5 M OK 21-Aug-09 13:41 Client1 68 Incr 2 3.908 M OK 21-Aug-09 14:20 Client1 69 Full 26 149.4 M OK 21-Aug-09 14:32 Client 从这里可以看到,JobId为69的备份已经完成,并且是一个完全备份,备份文件大小为149.4MB,而完成此差异备份的Job任务名称是Client。 3.继续执行备份操作 在执行下面的操作前,首先在客户端FD需要备份的文件夹下(根据前面的配置可知,应该是/cws3)增加一个大小为3.8MB左右的文件。 * run A job name must be specified. The defined Job resources are: 1: Client1 2: Client 3: BackupCatalog 4: RestoreFiles Select Job resource (1-4): 2 Run Backup job JobName: Client Level: Differential Client: dbfd FileSet: dbfs Pool: dbpool (From Job resource) Storage: dbsd (From Job resource) When: 2009-08-21 14:34:25 Priority: 10 OK to run? (yes/mod/no): yes Job queued. JobId=70 *status Status available for: 1: Director 2: Storage 3: Client 4: All Select daemon type for status (1-4): 1 f10-64-build-dir Version: 3.0.2 (18 July 2009) x86_64-unknown-linux-gnu redhat Daemon started 21-Aug-09 14:30, 2 Jobs run since started. Heap: heap=253,952 smbytes=67,989 max_bytes=81,162 bufs=240 max_bufs=274 Scheduled Jobs: Level Type Pri Scheduled Name Volume =========================================================================== Incremental Backup 10 21-Aug-09 23:05 Client1 cicro4 Incremental Backup 10 21-Aug-09 23:05 Client cicro4 Incremental Backup 10 21-Aug-09 23:05 BackupCatalog cicro4 Running Jobs: Console connected at 21-Aug-09 14:30 No Jobs running. Terminated Jobs: JobId Level Files Bytes Status Finished Name ==================================================================== 61 Incr 1 0 OK 19-Aug-09 16:53 Client1 62 Incr 2 8.344 K OK 19-Aug-09 16:53 Client1 63 Incr 2 8.377 K OK 19-Aug-09 16:54 Client1 64 3 77.44 K OK 19-Aug-09 16:57 RestoreFiles 65 1 0 OK 19-Aug-09 16:58 RestoreFiles 66 2 38.77 K OK 19-Aug-09 16:59 RestoreFiles 67 Full 25 145.5 M OK 21-Aug-09 13:41 Client1 68 Incr 2 3.908 M OK 21-Aug-09 14:20 Client1 69 Full 26 149.4 M OK 21-Aug-09 14:32 Client 70 Diff 2 3.908 M OK 21-Aug-09 14:34 Client
从JobId为70的备份信息可以看出,此备份为差异增量备份,此次进行差异备份的数据量大小刚好为3.908 MB,与前面增加的文件大小基本相同。
为了证明是前面执行的是差异增量备份,在FD端需要备份的文件夹下再次增加一个大小为3.8MB左右的一个文件,继续执行以下备份操作:
*run A job name must be specified. The defined Job resources are: 1: Client1 2: Client 3: BackupCatalog 4: RestoreFiles Select Job resource (1-4): 2 Run Backup job JobName: Client Level: Differential Client: dbfd FileSet: dbfs Pool: dbpool (From Job resource) Storage: dbsd (From Job resource) When: 2009-08-21 14:34:59 Priority: 10 OK to run? (yes/mod/no): yes Job queued. JobId=71 *status Status available for: 1: Director 2: Storage 3: Client 4: All Select daemon type for status (1-4): 1 f10-64-build-dir Version: 3.0.2 (18 July 2009) x86_64-unknown-linux-gnu redhat Daemon started 21-Aug-09 14:30, 3 Jobs run since started. Heap: heap=253,952 smbytes=69,087 max_bytes=82,260 bufs=240 max_bufs=274 Scheduled Jobs: Level Type Pri Scheduled Name Volume =========================================================================== Incremental Backup 10 21-Aug-09 23:05 Client1 cicro4 Incremental Backup 10 21-Aug-09 23:05 Client cicro4 Incremental Backup 10 21-Aug-09 23:05 BackupCatalog cicro4 Running Jobs: Console connected at 21-Aug-09 14:30 No Jobs running. Terminated Jobs: JobId Level Files Bytes Status Finished Name ==================================================================== 62 Incr 2 8.344 K OK 19-Aug-09 16:53 Client1 63 Incr 2 8.377 K OK 19-Aug-09 16:54 Client1 64 3 77.44 K OK 19-Aug-09 16:57 RestoreFiles 65 1 0 OK 19-Aug-09 16:58 RestoreFiles 66 2 38.77 K OK 19-Aug-09 16:59 RestoreFiles 67 Full 25 145.5 M OK 21-Aug-09 13:41 Client1 68 Incr 2 3.908 M OK 21-Aug-09 14:20 Client1 69 Full 26 149.4 M OK 21-Aug-09 14:32 Client 70 Diff 2 3.908 M OK 21-Aug-09 14:34 Client 71 Diff 3 7.817 M OK 21-Aug-09 14:35 Client
由JobId为71的备份可以看出,此次备份的大小为7.817 M,刚好是上次差异增量备份的大小与此次增加文件的大小之和,由此证明确实为差异备份。
第三次在FD端需要备份的文件夹下增加一个大小为3.8M左右的一个文件,继续执行备份操作:
*run A job name must be specified. The defined Job resources are: 1: Client1 2: Client 3: BackupCatalog 4: RestoreFiles Select Job resource (1-4): 2 Run Backup job JobName: Client Level: Differential Client: dbfd FileSet: dbfs Pool: dbpool (From Job resource) Storage: dbsd (From Job resource) When: 2009-08-21 14:35:32 Priority: 10 OK to run? (yes/mod/no): yes Job queued. JobId=72 *status Status available for: 1: Director 2: Storage 3: Client 4: All Select daemon type for status (1-4): 1 f10-64-build-dir Version: 3.0.2 (18 July 2009) x86_64-unknown-linux-gnu redhat Daemon started 21-Aug-09 14:30, 4 Jobs run since started. Heap: heap=253,952 smbytes=69,087 max_bytes=82,260 bufs=240 max_bufs=274 Scheduled Jobs: Level Type Pri Scheduled Name Volume =========================================================================== Incremental Backup 10 21-Aug-09 23:05 Client1 cicro4 Incremental Backup 10 21-Aug-09 23:05 Client cicro4 Incremental Backup 10 21-Aug-09 23:05 BackupCatalog cicro4 Running Jobs: Console connected at 21-Aug-09 14:30 No Jobs running. Terminated Jobs: JobId Level Files Bytes Status Finished Name ==================================================================== 63 Incr 2 8.377 K OK 19-Aug-09 16:54 Client1 64 3 77.44 K OK 19-Aug-09 16:57 RestoreFiles 65 1 0 OK 19-Aug-09 16:58 RestoreFiles 66 2 38.77 K OK 19-Aug-09 16:59 RestoreFiles 67 Full 25 145.5 M OK 21-Aug-09 13:41 Client1 68 Incr 2 3.908 M OK 21-Aug-09 14:20 Client1 69 Full 26 149.4 M OK 21-Aug-09 14:32 Client 70 Diff 2 3.908 M OK 21-Aug-09 14:34 Client 71 Diff 3 7.817 M OK 21-Aug-09 14:35 Client 72 Diff 4 11.72 M OK 21-Aug-09 14:35 Client
第三次执行备份,从JobId为72的备份可以很清楚地看出差异备份与增量备份的差别。