2.4 文件级数据的保护
非结构化数据是云时代中非常重要的一种数据存在形态,它们通常以文件的形式存储在各种文件服务器里。随着云计算和大数据的发展,文件服务器的使用范围也越来越广,而存放于文件服务器中的数据无论是数量还是容量都在不断变大,这对数据保护带来了巨大挑战。文件服务器的备份标准协议NDMP是在20世纪90年代末由NetApp率先发明的,后来被很多企业级文件存储厂商广泛使用和优化,然而在最近的十年里这个协议就再也没有更新了。由于这个协议本身存在诸多限制和不够灵活,因此对云数据文件服务器的数据保护带来了巨大挑战。
文件级数据保护需要适应目前文件服务器的主流协议,包括SMB文件共享、NFS文件共享、Windows文件服务器和Linux文件服务器。VBR的文件备份通过无代理的方式从这些对象中将文件备份出来,存放在VBR备份存储库中,当需要恢复的时候,VBR提供多种灵活的恢复方式。
VBR的文件备份流程如图2-14所示。
1)当备份作业开始时,VBR会分配一个文件代理给对应的文件服务器来处理文件数据。
2)文件代理开始枚举文件服务器中的所有文件和文件夹,并且为所有的对象创建对应的CRC文件夹树。
3)文件代理将计算出来的文件夹的哈希值传输至缓存存储库。
4)缓存存储库存储接收到的哈希文件夹树。每当缓存存储库接收到一个新的哈希文件夹树结构时,它会将其与在上次备份会话中创建的哈希文件夹树进行比较,一旦发现不同,缓存存储库会通知文件代理开始读取这些变化的数据。
5)文件代理会从文件服务器中读取这些新的数据。
6)文件代理会重新打包并传输这些数据到备份存储库。
7)VBR对备份下来的共享文件数据进行归档,存放第二份拷贝。
1. 缓存存储库
缓存存储库(Cache Repository)技术是一种非常特别的技术,它用于降低在文件共享上因为备份产生的访问压力,同时提升增量备份的速度。这个缓存存储库中存放了文件夹级别的哈希值。如果文件夹的哈希值发生了变化,缓存存储库能够快速准确地定位到哈希值改变的文件夹,从而从中快速获取到变化的文件。对于每一个添加到VBR中的共享文件,都会有一个唯一的缓存存储库与之一一对应。
注意:因为缓存存储库并不用于常规备份数据的存放,因此缓存存储库必须是简单备份存储库,不能是横向扩展的备份存储库或者是重删设备。
缓存存储库的位置离原始共享文件越近越好,用于缓存存储库的磁盘的速度也是越快越好,因为增量数据的查询速度完全取决于存放于缓存存储库中的文件夹哈希值的比对结果。
2. 文件代理
文件代理(File Proxy)用于捕捉变化的文件,文件代理会从缓存存储库中获知哪些文件夹发生了变化,这时候,文件代理会访问这些变化的文件夹,从中找出变化的文件,并处理这些变化的文件,将它们备份至备份存储库。
文件代理对于每个共享文件来说,并不是固定的,它只会在备份作业发生时被分配给备份作业。通过这种方式,备份作业开始时,可以利用多个文件代理进行并行处理,备份作业智能地分配被改变的文件夹至文件代理,由文件代理快速定位并找到改变的文件,将其处理后存储到备份存储库。
在处理共享文件时,为了能够更好地处理文件锁问题,保证NAS文件一致性,VBR支持SMB v3版本的VSS快照以及存储级别快照。