磁带库上备份存储了我们很多重要的数据,而且有时候,我们的数据还需要在不同的数据库之间传递,这样磁带库数据备份之间的传递就显得格外重要。这已经是数据中心面临的严峻问题。
随着客户应用系统需求的不断增加,需要备份的数据不断的增多,数据安全性要求也不断提高,作为数据备份所用的磁带库的容量也不断的增加,有时还有可能增加第二个磁带库数据备份,甚至更多的磁带库。基于资源共享的目的,不同存储系统之间的数据在特定时间需要进行数据交换和共享。
有的用户在进行系统方案设计时提议多个磁带库数据备份系统采用相同磁带库和磁带,相同的数据存储格式,希望通过磁带离线的方式来实现数据的交换或共享问题。这个想法乍一听好象很有道理,有一定的可行性,但只要详细分析一下磁带库在业务系统中的具体应用流程,就会发现要想实现这个想法将面临很多问题。
多个磁带库数据备份能否通过离线磁带来进行数据的交换或共享问题,实际上就是不同磁带库中的数据之间的能否兼容的问题,按照数据库存储系统的结构和应用,兼容主要在以下三个方面:
第一, 磁带库数据备份物理设备的兼容
即两个磁带库数据备份使用相同的磁带和磁带机。只有磁带和磁带机兼容,磁带才能被磁带机正常的装载,磁带才能MOUNT进磁带机里。
第二,数据迁移或备份软件系统兼容
大型磁带库系统会采用分步式的迁移或备份软件来进行数据库迁移和备份。分布式备份软件都有一个数据库,这个数据库中记录着每一盘磁带的VOLUME、FORMAT信息、文件名称、文件大小,写入时间、源文件路径等相关的元数据信息。在进行文件恢复或回迁时,迁移或备份软件会按照数据库中记录的文件的元数据信息,将文件恢复到源路径下。如果数据库中没有文件的元数据信息,即使磁带中有数据,备份软件也不可能正常的对文件进行备份和恢复。另外,为保证数据库中的记录信息和磁带中数据的同步和一致性,备份软件会默认为每一个初次放入带库的磁带是一个空白带,没有任何数据,因此在第一次写入数据前都会进行一个Relable的操作,相当于硬盘的格式化。当然可以手动地向数据库中引入文件的元数据库,但这只是在理论上可行,在实际的操作中会遇到相当大的困难。
注:在概念上一定要把迁移或备份的执行者ACTOR与备份请求的发起者initiator 区分开来,迁移或备份软件是数据迁移和备份操作的执行者,负责从源存储池(在线盘阵/磁带库)读取文件,写入到目的存储池(磁带库/在线盘阵);发起者(initiator)只是按照制定的迁移或备份策略,向执行者发送请求,由执行者来完成数据的迁移和恢复操作。在实际的应用中,有时执行者并不是一个单独的软件,而是由操作系统来担任的。
第三,应用软件系统的兼容
针对不同应用和系统要求,磁带库数据备份在存储系统中所起的作用也不相同。对于银行和电讯等行业,存储系统中的磁带库是整个的备份设备,负责备份数据库中的数据,每次需要备份的数据文件在几M到几十个G之间。由于备份一般采用全备份或差异性备份等方式,备份的数据文件之间有一定的关系。本次对数据文件进行备份后,可能几天之前备份的数据文件就不需要,或不重要了。
从存储系统的运行情况来看,磁带库数据备份中的文件只是作为在线盘阵中的文件的冗余备份,所有文件会同时存在于在线盘阵和磁带库中,也就是说在在整个系统中每个需要进行备份的文件都是双份的。在正常的情况下,磁带库数据备份中的数据文件不参与应用,只有当在线盘阵中数据发生损坏或丢失时,才手动或自动会恢复到在线盘阵中,保证存储系统的正常运行。
对于数据库系统备份,数据文件路径等相关信息都通过备份软件进行设置,并保存在备份软件中,磁带中记录的只是数据文件本身,并不需要记录与数据文件相关的元数据,或只记录很少的元数据。在进行数据恢复时,备份软件会将磁带中的数据文件恢复到一个单一的、特定的路径下,或手工指定一个恢复路径,数据库系统就可以对恢复后的文件进行读写。
针对这种应用方式,只要两个磁带库数据备份系统,采用相同的备份软件,就可以读取另一种磁带库,两个磁带库就可以通过互换磁带的方式进行数据共享。也就是说两个磁带库之的数据可以兼容。