基于重复数据删除的虚拟桌面存储优化技术
DOIT云计算 12年06月08日 11:00 【转载】 作者:It商业新闻网 责任编辑:周晓丽
导读:近年来,云计算已成为分布式计算领域中的研究热点,它是指运行在数据中心软硬件上的应用通过Internet为用户按需提供服务;并将数据中心内的软硬件资源统称为云,云计算自身并不是一种新技术,而是一种新服务模式。
由于文件级别的重复数据删除技术对虚拟机磁盘镜像的数据缩减效果很不明显,我们来研究块级别的重复数据删除技术,它相比于字节级别的数据缩减技术往往具有较小的开销和更好的扩展性,如图5所示,通过比较定长块大小的静态分块(SC)策略和变长块大小的基于内容划分(CDC)策略两种重复数据删除技术的数据缩减效果,发现随着(平均)分块大小的递增,重复数据删除的效果越差;相比于CDC策略,SC策略能获得更高的数据缩减率,为了平衡重复数据删除技术对存储系统I/O吞吐量的影响,我们需要考虑重复数据删除技术的效率,定义重复数据删除效率为减少的数据量与消重过程的时间开销之比,当然这是在同一实验平台上进行比较,如图6所示,通过比较两种重复数据删除技术的消重效率,发现CDC的消重效率只有sc消重效率的1/6左右,SC的最优分块大小为4KB,而CDC的最优分块大小为2 KB,通过上述分析,我们发现SC策略较CDC策略更适合于虚拟机磁盘镜像的重复数据删除过程,具有更高的数据缩减率和重复数据删除效率。
图5块级重复数据删除技术消重效果
图6块级重复数据删除技术消重效率
为了研究重复数据删除技术对虚拟桌面存储空间的优化效果,我们利用基于静态分块(SC)的重复数据删除技术对7个相似Windows XP虚拟机磁盘镜像进行了消重,实验结果如图7所示,随着相似虚拟机磁盘镜像数目的增加,重复数据删除技术能够获得越高的数据缩减率,并且能将7个虚拟机磁盘镜像的存储空间需求降低85%,随着相似虚拟机磁盘镜像数目的增加数据冗余度也随之改变,如图8所示,DT代表左边的重复数据删除吞吐量,DR代表右边的数据缩减率;由于重复数据删除技术能够避免很多不必要的数据写操作,使得虚拟机磁盘镜像的写吞吐量随着冗余度的增(减)而升(降)。
图7静态分块消重优化虚拟桌面存储
图8数据冗余度与重复数据删除吞吐量的关系
通过测试虚拟机的启动时间,我们来评估优化策略对虚拟桌面存储系统的性能影响,受服务器配置性能影响,我们只启动前面连续存放了的7台Windows XP虚拟机中的前3台相似的虚拟机VM1,VM2和VM3,如图9所示,对比没有重复数据删除技术支持且无任何优化的虚拟桌面存储系统(Naive),重复数据删除技术(Dedupe)在节省存储空间的同时影响了存储系统性能,使得虚拟机的平均启动时间增加了1倍;通过设置1 GB本地磁盘缓存(LDC)的优化,基于重复数据删除技术的虚拟桌面存储系统能够将虚拟机的启动时间减少30%,特别是对虚拟机VM1启动速度的提升;而通过加入SSD存放重复引用次数大于等于7的数据块来优化存储池I/O性能,即使不采用本地磁盘缓存,基于重复数据删除的虚拟桌面存储系统能够提升28%的性能;如果将两种优化策略结合(Opt-Dedupe)来优化基于重复数据删除技术的虚拟桌面存储系统,总的性能提升可达到35%。
图9虚拟桌面存储系统性能对比
4结论与展望
虚拟桌面技术已成为一种重要的云计算应用,针对虚拟桌面存储中具有大量数据冗余的特性,本文基于重复数据删除来缩减虚拟桌面基础架构的存储空间需求;为了改进重复数据删除技术自身的I/O性能瓶颈,我们通过服务器本地的磁盘缓存以及基于闪存的固态硬盘在共享存储池内存储重复引用次数较高的数据块以优化虚拟机的性能,通过实验测试我们总结出:静态分块策略较基于内容分块的策略更适合虚拟桌面存储进行重复数据删除,其最优的分块大小为4 KB,可以缩减85%的存储空间容量;通过服务器本地磁盘缓存和基于闪存的固态硬盘进行I/O优化,虚拟机的启动速度能够获得35%的提升,下一步的研究工作我们将考虑在多个服务器环境下如何高效地进行重复数据删除,以及如何设计数据块索引来提升I/O吞吐量。