在备份软件中,数据索引是备份软件有效管理、恢复、检索数据的基础,随着备份数据量和文件数增大,数据备份时会产生巨大的索引。在传统集中式索引方式中,索引数据库存放在备份管理服务器上,每条索引信息的读写都要通过该管理服务器,这就使得备份管理服务器很容易成为整个备份系统的瓶颈,系统的性能及扩充能力会受到极大限制。
另外,每次数据备份、归档完以后, 为了保证索引数据的可靠性,还需要单独对索引进行备份,当索引越来越大时,备份索引的时间比一次正常的备份、归档任务还长,极大影响生产系统的运行。当集中式索引一旦整体破坏或丢失,重建非常耗时往往需要很长时间。
Simpana采用集中管理的分布式索引技术(二级索引技术),有效的改进了集中索引的缺陷,Simpana索引分为数据对象索引,数据内容索引和数据分类索引。其中数据对象索引记录了备份、归档对象(文件、邮件、VMs和数据库等)属性,索引记录多、数据量大。数据内容索引主要用于对备份、归档数据进行内容索引,是法规遵从的基础;数据分类索引主要用于对数据文件分类,提高数据备份和归档效率。
一级索引(汇总索引)由Comm Server管理维护、保存、并定时备份到备份介质中,一级索引跟踪每个介质上的备份任务,相关字段包括:时间,计算机名,任务类型,磁带编号等;该索引是二级索引的汇总索引,存放在MS SQL数据库中。
二级索引(详细索引)由Media Agent管理维护、保存在一个关系式数据库,包含了每个备份任务的详细信息,二级索引会在MA磁盘上存储、缓存来提高性能,为了保证数据可靠性,这些索引会和相关的备份数据同时备份到磁带上。
一级索引基本上是每个备份任务有一条记录,数量不会很大;在二级索引中,即使一个备份任务,都有可能有成千上万条的记录;例如,备份一个Windows操作系统盘,就有可能有4万多条记录,对应4万多个文件。
分布式(二级索引)架构也非常适合多分枝站点备份,每个分支站点介质服务上保留本地的二级索引,备份管理服务器只提供一级索引和集中任务管理。
二级索引由本地介质服务器维护并周期备份,减少索引数据在广域网上传输,减少网络带宽资源。
备份和恢复对索引操作
用户通过Simpana创建备份任务和备份策略后,当备份周期触发备份时,管理服务器CS将执行备份任务,首先创建一级索引的任务记录,发命令让iDA扫描业务服务器上的备份数据,生成备份文件列表,并产生二级索引的主要字段。
接着根据备份文件列表,启动数据备份,同时计算每个文件的备份位置,由Media Server修改二级索引,将二级索引写到备份介质中,再次修改相关汇总索引记录。
在进行数据恢复时,CommServer先根据一级索引记录,找到存放二级索引的磁带或备份介质,并且计算出索引存放位置,将二级索引数据恢复到介质服务器的索引缓存中。
然后从介质服务器上的二级索引中,将备份数据列表传送给管理服务器,供用户浏览和选择,用户可以选择要恢复的数据或备份集,根据用户选择的恢复数据,恢复出对应时间点的备份数据。
数据索引的维护
一级索引在CV系统中,默认就是1个周期备份任务;该任务是每天定时或用户手动启动,将CommServer服务器上的元数据(包括一级索引、重删数据库,重删数据库将在后续文章介绍)自动备份到磁盘和磁带上。
当元数据或一级索引数据损坏,Simpana提供相应GUI工具来恢复,整个恢复流程先从备份的近线磁盘上恢复;如果磁盘上备份的元数据也损坏了,那么就必须从离线磁带备份副本上恢复到磁盘上,再恢复到Simpana CommServer中。
二级索引在Simpana备份数据的时候,就和备份数据一起写入该备份任务的备份数据集合中进行保护,当磁盘索引损坏的时候,Simpana能够根据一级索引的记录,找到该任务二级索引的存放位置,自动的把它恢复到介质服务器的磁盘中。