论文部分内容阅读
随着云计算的不断发展虚拟化块设备也已成为数据中心为虚拟机提供块存储的主流方式。相比于直接使用本地存储设备的方式,基于网络的虚拟化块设备在可访问性、可拓展性、可管理性等方面具有显著的优势。与此同时,固态硬盘的出现和发展,使得虚拟机能够以此极大地提升数据访问的性能,并使得具有低时延要求的应用由此获益。然而,由于固态硬盘相比于机械硬盘高昂得多的单位容量价格,对于大型数据中心而言,构建完全基于固态硬盘的存储系统在经济上仍然是不明智的。为了既提升存储性能同时节约成本,基于混合存储设备的系统成为理想的存储方案。尽管目前已有许多关于该领域的研究,由于云环境本身的复杂性,如何基于混合存储设备有效地构建云规模的虚拟化块存储系统仍亟需进一步研究。首先,虚拟化环境下的负载通常集中于非结构化的虚拟机磁盘镜像,这使得文件系统并非最佳选择。其次,虚拟机的高可访问性要求使得非在线的数据放置策略不再可行。此外,先前研究所采用的不具有可拓展性的数据迁移策略的负面影响将在云环境中被放大。为了应对这些问题,本文基于对象存储架构,设计并实现了分层的混合块存储系统:。利用对象存储数据散列存储的特点,将数据分块在和层之间根据实时负载进行动态的迁移,以达到有效利用混合存储设备的目的。本文设计的数据放置算法使得存储对象数据的设备能够适应于数据的负载特征。为了降低数据迁移所带来的影响,基于对象存储的特点,本文提出了并行的数据迁移策略。通过将数据迁移的压力分散于整个存储设备集群,该策略同时极大地提升了系统的可拓展性。此外,受益于对象存储中数据直接访问的特点,十分适应于非结构化的虚拟磁盘镜像文件的存储。在系统实现方面,本文修改了和的源代码,并将大部分的复杂性对进行了屏蔽,从而尽可能减少对现有虚拟化环境的影响。在测试方面,本文同时使用了块级别和文件系统级别的负载对的有效性进行测试。此外,本文还对迁移策略的有效性进行了测试和验证。测试结果显示,能够有效地判断数据的合理位置,动态地调整数据位置,从而达到高效利用混合存储设备的目的。作为首个基于对象存储架构的混合块存储系统,本文将对该领域今后的研究起到启示和推动的作用。