2008年(8065)
分类: 服务器与存储
2008-05-19 16:02:37
Data Domain的储存容量最佳化技术(COS,Capacity Optimized Storage)透过压缩的原理,藉由拆解与比对数据内容,可大幅缩减备份媒体所需的容量。
COS会将数据切割为Segment(数据区段),透过Data Domain专利的算法分析各Segment数据的特征值,并与已有数据的特征值比对,只储存新增或更动的数据,从而大幅降低数据对储存空间的需求。
COS的原理
COS 是一项针对硬盘的备份储存解决方案,其关键在于Data Domain所谓的「整体压缩(Global Compression)」技术。整体压缩的原理与传统的无失真数据压缩技术相似,都是针对数据中的重复部分,透过特定的算法去除数据中因重复而造成的冗余,用较少的容量来表示与原始信息等价的讯息内容。
一般的数据压缩在消除冗余重复数据的作用方面都是离散的,去除冗余数据的效果只及于该次压缩的数据。举例来说,若对某硬盘中的数据每日均以压缩方式进行备份,虽然每次压缩都能去除数据中的冗余部分,但考虑到一般环境下储存系统的数据异动量并不大,所以两次压缩的数据内容之间仍会有许多重复之处。
而整体压缩的特殊之处在于其压缩效果可扩及「整体」,不像传统压缩技术只针对该次压缩的数据进行演算。其运作步骤如下:
(1)分解数据,求出特征值
先把数据分解成4~16kB大小的Segment,对每个Segment以特殊的算法求出其特征值。
(2)分析、比对数据特征值
透过特征值的比对即可判定哪些Segment的数据为重复,哪些没有重复,重复的Segment将会被去除,剩余Segment则成为基本元素。另外并生成一个索引以记载原先各Segment数据的组成结构。
(3)将数据分解成基本元素
去除重复的Segment,留下来的Segment即成储存的基本元素。透过记录数据结构的索引以及基本元素,系统即可将压缩后的数据还原为原始数据。
前述步骤的原则与一般压缩差不多,整体压缩的关键之处是在于第2次以后的压缩。第1次压缩后的数据会以特定方式存放于硬盘上,当执行第2次以后的压缩时,系统除了会比对后续压缩所得出的特征值外,还会与已储存在硬盘中前几次压缩所得到的数据作特征值比对,并只留下与已有数据不同的新数据。为提高压缩效果,系统会在弹性调整Segment大小(平均8kB),以求得出最好的特征值比对效果。
由于一般企业作业环境中的数据异动量不高,每次执行备份时其实都储存了许多重复的数据。而整体压缩只会储存有变动的数据,若以未压缩的原始数据量为基准,在以整体压缩执行多次压缩时,执行越多次后的压缩率就会越高。
与其它节省容量技术比较
COS的最大特色就是在于节省储存空间,厂商宣称最高可达到20:1以上的压缩率,目前虽然也有其它方式可以节省储存容量,如一般的压缩或增量备份等,但这些方式都没办法达到COS的压缩效率。
>>COS vs.一般压缩
COS 使用的是整体压缩,而一般压缩则是属于区域(local)压缩技术。两者间最大不同之处在于,整体压缩在比对、判定冗余数据时,会把过去所有以整体压缩处理过的数据再提取出来与新增数据作比对,而一般压缩则不处理过去的数据,只针对本次压缩的数据进行压缩运算,因此两者间在压缩率方面的差异很大。一般的不失真压缩技术平均只能达到2:1的压缩率,而整体压缩则能达到7:1或更高的压缩率。
>>COS vs. 增量备份
传统上以第1次完全备份(Full Backup)+后续增量备份(incremental Backup)的方式,是最节省储存空间的一种备份方式。在第1次的完全备份执行过后,后续的增量备份都只会备份异动或是新增的数据,理论上也能达到降低储存容量的效果。
但上述的关键在于增量备份是一种以档案(file)或区块(block)为基础的作业,其判定数据是否异动的基准是档案属性中的保存位 (Archive bit)值,或是区块中特定位值,备份的单位是档案或是区块。增量备份虽然只会备份异动部分的档案或区块,但从「低于」档案或区块的层级来检视数据,可以发现在每次增量备份所备份的数据中,或是多次增量备份的数据之间,仍然存在有许多重复的位,但增量备份只能以整个档案或区块为单位来运作,而不能去除这些重复的部分,无形间就耗损了不少储存空间在这些可被视作冗余的数据上。
COS就不会有这种问题,它会对备份数据进行低于区块(sub -block level)层级的检视,其整体压缩算法会以4~16kB为单位,动态的调整拆解数据进行分析的Segment大小,以得到最好的冗余判定效果。因此不管是单次备份或多次备份间的冗余数据,都能被COS所剔除,从而节省更多的空间。在一般的作业环境下,由于数据的异动量有限,多次备份间彼此重复的冗余资料其实相当多,因此以整体压缩作越多次备份后,得到的压缩率就会越高。
COS的实际运作
COS技术是源自于普林斯顿大学计算机科学学院教授李凯(Kai Li)关于数据压缩算法的论文(李凯也是Data Domain的3位创办人之一),目前商业化的COS产品均为软、硬件合一的应用程序(Appliance),基本上就是一台磁盘阵列控制器,内含 8~16台硬盘,由DD OS(Data Domain OS)负责数据I/O控制与整体压缩处理。其安装相当简单,只要把这台磁盘阵列控制器装上机架,并以以太网络接上备份,再于备份软件中将Data Domain的COS机器设为备份储存媒体即可。
运作时COS机器从备份服务器接收备份软件所传过来的数据,经DD OS以整体压缩处理后,再放到机器内含的硬盘。整体压缩与原始数据的格式无关,备份服务器端所看到的数据仍是原来的状态,对备份软件来说,Data Domain的COS机器只是1台大容量的磁盘而已。需要还原数据时则由备份软件发出指令,DD OS收到指令后会从硬盘中将指定的数据取出,组回原来的格式与结构,再送回备份服务器,所有的压缩与解压缩作业都是由后端的DD OS负责,与前端的备份软件无关。