图二:磁盘设备备份管理结构图
从图一和图二可以看出,磁盘设备和磁带设备的备份结构是有很大差异的,磁带备份明显要复杂一些。因此很多在磁带备份中出现的问题,在磁盘备份上并不容易出现。从这个角度来说,使用虚拟带库,将真是的磁盘设备虚拟为磁带设备使用,并不是一个明智的选择 NBU备份的物理结构
对于磁带设备的备份来说,它是非常简单的,仅仅有文件目录即可,所以谈不上什么物理结构。此节只是针对磁带设备的备份物理结构
首先大家都明白,文件是一定要备份在磁带上面的,所以这些数据文件都是物理结构中的最小单位。 一个磁带可以保存一个至多个数据文件,所以它是物理结构中的次小单位。在这里需要说明的是,在NBU的定义里,数据文件总共有四种类型,分别是:普通备份数据文件(0)、catalog备份数据文件(1)、存储迁移器备份数据(2)以及存储迁移器为microsoft exchange或者windows 2000备份的数据文件(3)。我们平时接触的仅仅是0和1两种。NBU控制下的磁带仅仅能够存放某种特定类型的数据文件,而不能够同时保存两种不同类型。
为了保存用户日益增加的数据保护内容,同时能够自动透明的进行日常的备份工作,NBU引入了卷池的概念。卷池就是很多磁带的集合,这些磁带一起工作,为保存某一种特定类型备份内容共同工作,可以看作是一个大磁带。它是NBU备份结构中的最大单位。如图所示:
图三:NBU备份的物理结构
磁带设备的备份与恢复
NBU有很多用户,抱怨NBU的设备无法自由的重复使用。其实这只是一个误区,如果用户能够理解NBU备份,恢复的原理。那么理解NBU的命令,自动玩转NBU,并不是一件很困难的事情。现在就分两部分来讲述NBU的备份和恢复,重点在磁带的恢复使用。 备份:
在磁带备份中,NBU为了管理磁带的使用,会在catalog数据库中添加一些标记位来记录磁带的使用信息。当磁带里新写入一个镜象的时候,assign标记位会记录该时间,Vimages标记(记录磁带上有多少没有过期的数据文件)会自动加1;当该数据文件过期以后,NBU会自动在把Vimages的值减一。如果该磁带写满,其对应的Full标记会自动置一。
需要注意到是,在磁带备份中,即使一盘磁带中仅剩一个镜象没有过期,它也不能被重复使用。这是因为磁带是顺序读写设备,NBU无法估计其剩余容量以及如何合理使用它。因此,在定制备份任务的时候,一定不要将保存时间差异很大的数据文件保存到相同的磁带中去,这将大大降低磁带的利用率。 恢复:
作为顺序读写设备,磁带的恢复会比磁盘恢复花费更多的时间,这是因为恢复前,NBU需要查询出恢复所需要的数据文件所在的介质服务器、机械手和磁带机、磁带位置,然后在它们空闲的时候,将数据所在磁带放入磁带机,再找到对应的位置后,才能开始恢复。
如果在试图恢复的时候,数据文件所属的机械手或者磁带机或者磁带正在干别的事情,系统将不得不等待这些任务完成之后才能开始恢复文件(如果给恢复作业更高的优先级可以插队,但是默认情况下优先级是相同的),这就会带来更大的时延。这也是为什么备份作业都会选择在人下班以后的时间开始工作,这样可以避免多个任务抢占磁带系统资源。 磁带设备的重复利用
通过上述讲解,大家也许可以明白,为什么自己的磁带机总是无法被重复使用。其实想要释放一个磁带是比较简单的,用户只要能够将某盘磁带里面的所有数据文件过期,就可以将它释放出来重新使用。具体的步骤是:
1. 过期磁带中的所有数据文件,就相当于将磁带的Vimages标记置零; # ./netbackup/bin/admincmd/bpexpdate -m
2. 将该磁带释放出来(即使不做这步,在一定的间隔后,NBU会自动执行该命令): # ./netbackup/bin/admincmd/bpmedia -unfreeze -m
3. 如果该磁带保存的是普通数据文件(0),那么它就应该可以被重复使用了,但是如果其上保存的是其他数据文件(1,2,3),那么它还需要被定制删除:# ./volmgr/bin/vmquery -deassignbyid
其中,pool_number可以通过# ./volmgr/bin/vmquery -m
(注),在某些网上的说法中,可以利用vmquery –m
如果磁盘的空间已经占满,那么也不需要过期掉该磁盘的所有文件,只需要在catalog中找到某些不再需要的记录并使它们过期,NBU会自动的将对应的数据文件删除,磁盘空间就有空余了。因为这些过程都非常简单和容易理解,所以就不过多阐述了
NBU6.0网络备份大全之数据库管理
【IT168 专稿】在NBU的使用和维护中,数据库起到了至关重要的作用:在NBU6.0以后,使用了EMM数据库作为catalog数据库的重要组成部分,就是使用了内嵌sybase的数据库来管理磁带、磁带机、机械手以及介质管理器的相关信息,它是NBU备份系统能够运行的基础所在。因此,学习NBU中数据库的管理和监控,对于保证NBU系统正常运行,以及出错调试,是非常有帮助的。
图一:EMM数据库在NBU系统中的结构
NBU中数据库目录:
在NBU中,数据库的默认存放地址是/usr/openv/db,其中存放了数据库文件,以及管理数据库命令集合及其所需的库文件等等,如图二所示:
图二:NBU数据库所在目录及其相应的子目录
NBU数据库简介:
NBU里面有两个数据库,一个是EMM数据库,存放在NBDB数据库文件中(区别大小写);另外一个是BMR(裸机恢复,Bare Metal Restore)数据库,存放在BMRDB数据库文件中。后者需要特殊的license才能被安装和使用,故在此只讲述NBDB数据库的使用,BMRDB的使用方法与此是非常相似的。
在管理NBU数据库的时候,首先需要知道该NBU使用到了的文件有哪些,可以通过如下方法得到: # ./nbdb_admin -list
图三:NBU使用到的数据库文件
由图三可知,NBU使用的数据库文件是在/usr/openv/db/data/目录下的文件和NBU全局定义目录/usr/openv/var/global/下的两个文件组成的。其中在全局定义目录的是两个配置文件(图四),
server.conf文件描述了启动NBU数据库服务器的具体参数,可以手动修改,其中最为重要的是写明了数据库服务器名称是NB_test;databases.conf中记录了在数据库服务器上需要启动的数据库名称,在这里是NBDB数据库,不在databases.conf中定义的数据库将不会随着NBU的起停而起停。
图四:NBU数据库全局参数配置文件

