论文部分内容阅读
虚拟机是搭建“基础架构即服务”云平台的基础,随着云计算的快速发展,虚拟机数据后端存储成为重要研究课题。分布式块存储系统是典型的虚拟机数据存储系统,一般采用无中心节点的全对称架构,只提供数据强一致性保证,而分布式系统一致性和可用性不能兼顾的,因此系统可用性不高。系统中加入元数据服务器可以提供多种数据一致性策略,但会有单点故障、扩展性差和元数据同步开销等缺点。虚拟机是独占虚拟块设备的,因此存储系统中的每个数据都只有唯一的虚拟机修改。 针对虚拟机的数据访问特性,在无中心节点的分布式块存储系统中设计了虚拟元数据服务器。通过在系统与虚拟机客户端连接的节点保存虚拟块设备的元数据,使节点具备元数据服务器的功能并用来组织数据访问,在系统中虚拟了多个虚拟元数据服务器。在虚拟块设备的元数据中记录了数据副本版本信息和访问开销,使得系统能够异步的修改数据的副本,并能够根据节点负载和网络状态动态调整访问的数据副本。数据副本数据和版本同时存储方法保证了元数据的安全性,解决了单点故障问题,数据一致性后台检测与恢复技术保证了系统数据一致性,同时虚拟块设备的独占性也消除了元数据同步开销并大大降低了设计的复杂性。从而设计在继承了全对称架构优点的同时为系统提供了多种数据一致性策略,提高了系统可用性。 在开源“牧羊犬”平台实现了虚拟元数据服务器的设计,为系统添加了数据弱一致性策略。通过原生“牧羊犬”系统、改进的强一致性实现和虚拟元数据服务器实现的对比测试,虚拟元数据服务器设计在数据顺序读写测试中写性能提高了约30%而读性能不受影响。在随机读写数据测试中写性能至少有50%的提高,同时读性能提高了约16%,达到了虚拟元数据服务器设计的预期性能要求。