论文部分内容阅读
随着云计算技术的发展和对云计算技术应用的不断增长,云计算系统的规模也随之增长,从而造成了云计算系统分布于多个数据中心的情况。云存储子系统是云计算系统的重要组成部分,用于向虚拟机实例提供持久化的块级别存储服务。然而,当云计算系统中出现虚拟机实例与云存储子系统处在不同数据中心的情况时,由于跨数据中心间的网络带宽性能较差,将影响块级别云存储子系统的性能和虚拟机实例的稳定运行。因此,跨数据中心情况下的块级别云存储子系统性能下降问题成为一个亟待解决的课题。本文对云计算相关技术进行深入分析,并比较国内外现有网络缓存技术,设计并实现了适用于多节点的块级别网络缓存系统MN-cache。此缓存系统针对云计算系统中多虚拟机实例共享使用同一块级别网络存储卷,且虚拟机实例与块级别云存储子系统位于不同数据中心的情况。本文的主要研究工作如下:(1)设计并实现了MN-cache缓存系统,将缓存系统分为元数据服务器端及缓存客户端。元数据服务器端对所有缓存查询相关元数据进行处理并提供缓存命中查询服务。缓存客户端利用Linux Device Mapper机制实现缓存功能和缓存映射机制。元数据服务器端与缓存客户端间的数据通信包括缓存查询相关元数据的同步以及缓存命中情况的查询,所有数据通信均通过udp网络协议实现。(2)提出MN-cache缓存系统在Open Stack云计算系统中的应用方案。通过本地及远端缓存磁盘相较于Cinder块级别逻辑卷的性能优势以及数据中心内部局域网络的带宽优势,提升块级云存储服务Cinder的I/O性能。本文详细介绍了应用方案的系统架构,并设计了MN-cache缓存系统应用的实现策略。(3)对MN-cache缓存系统进行性能分析。本文根据缓存读写操作过程中各阶段的时间消耗构成情况进行性能分析,并对各阶段的时间消耗进行分类讨论。性能分析结论为:缓存系统的性能瓶颈为元数据服务器端与缓存客户端间的数据通信消耗,可增加缓存块大小以减少数据通信量。(4)对MN-cache缓存系统进行实验评估以验证性能分析结论,并对比未使用缓存和使用缓存两种情况下的实验数据。实验结果表明:对于读操作,缓存系统对网络存储设备的I/O性能有很大提升;对于写直达操作,缓存系统对网络存储设备的I/O性能有轻微损害;对于写回操作,在写回本地缓存磁盘时能够优化网络存储设备的I/O性能,而在写回远端缓存磁盘时将对网络存储设备的I/O性能有较大损害。