“块”是IT存储中十分常见的概念,而所谓的块存储就是事先在存储空间中画好整齐的格子(格式化),然后以一个格子为最小单位进行存取,即每次存取至少涉及一个格子的空间。基于这样的存储方式,便衍生出了诸如读写、复制、传输等相关技术。
不过,在云计算时代,曾经无限风光的“块”技术却遭遇了不少的尴尬。
首先是有限带宽下的数据传输问题
在一切向“云”看的当下,一个企业如果想转向云计算,那或多或少会需要改变企业网络带宽。大部分企业选择的云计算都是最简单的带有数据保护机制的云存储解决方案就要面临一个问题,即企业现有的带宽是否能支持上云所需的庞大的数据流。
这里将块块级与字节级复制进行对比:假设某系统下的一个文件中发生了一次大小为512B(例如将某一个A改成了B)更改,这时如果是数据块级复制的话,即使在一些数据处理方式下,其灾备系统仍需要传输至少64KB的网络包到灾备机上以完成数据保护,而如果是字节级复制的话,灾备系统则只需要传输512B字节的网络包到灾备机上以完成数据保护,如果是海量数据的传输的,字节级的复制技术的这一优势将会更加明显,因此,在带宽已经成为稀缺资源的云计算时代,字节级数据捕获与复制技术显然更加符合“云”的要求。
其次是,数据的删除问题
云端环境下,对于云端的选型能力较弱,所以只能进行源端的数据重删,无法做到目标段数据的删除。固定块的大小可能为8KB或64KB,区别在于块越小,被判定为冗余的概率越大。这也就意味着消除的冗余更多,存储的数据更少。如果文件发生变化,而重复数据删除产品依然利用上次检查到的固定块,那就可能无法监测冗余部分。
有了冗余就涉及到了数据删除问题,但块级删除技术仍然无法给出令人满意的答案。块级删除技术需要利用主索引匹配数据块和该数据块的指针,从而“重新组装”数据块。块级重复数据删除所需的索引较多,因此,在数据重复确定时所需要耗费的计算时间也就更多,备份功能也因此在重复数据删除过程中受到更大的影响。
最后,我们再来了解一下基于块的CDP技术:
CDP(Continuous Data Protection,持续数据保护)实现的关键技术是对数据变化的记录和保存,以便实现任意时间点的快速恢复。数据基于数据块的CDP功能直接运行在物理的存储设备或逻辑的卷管理器上,甚至是数据传输层上。当数据块写入生产数据的存储设备时,CDP系统可以捕获数据的拷贝并将其存放在备份服务器中,当灾难发生后,简单地选择需要恢复到的时间点即可实现数据的快速恢复。
基于块的CDP主要包括两个技术:COW(copy-on-write)和ROW(redirect-on-write)。COW技术具有如下两个缺点:明显的写延迟以及无法实现系统级别的全景恢复,仅能恢复由于误操作导致的局部数据污染。而结合了快照备份数据的ROW技术虽然可以实现系统级别的全量恢复,但由于备份数据量的增加,数据版本之间形成相互依赖的链条,使得数据管理越来越复杂,数据块在存储层进行异步的传输过程中,很难保证数据库的一致性,进而影响数据的可恢复性和恢复效率。虽然有企业希望采用独立硬件的方式解决上述问题,但这样做需要额外的服务器和网络硬件,每台代理服务器上的虚拟机的数量受到严格的限制,所以成本和性能往往也难以接受。
当然,“块”技术在银行、保险等行业依然被广泛应用,但随着新技术、新需求的不断出现,任何一种技术都不可能停下迭代的脚步,比如分布式块存储和OpenStack等开源项目之间的联系正在进一步加深,未来,块存储、块复制等技术将在企业私有云平台上做更好的集成和运维。
|