论文部分内容阅读
虚拟机管理器VMM(Virtual Machine Monitor)提供了一个硬件抽象层,将物理资源映射到上层多个客户操作系统中。当前,基于虚拟化的服务部署,已经成为一种趋势。在这个背景下,对虚拟机存储系统的研究就有着重要意义。在虚拟化的应用中,位于不同虚拟机上的应用并发产生I/O负载,这种模式对存储系统的并发性能、可靠性和性能隔离等提出了更高的要求。同时,为了支持容灾备份等需求,要求VMM能够提供虚拟机的时间点快照功能,而这一功能的核心问题就是存储系统的快照支持。为了适应虚拟化对存储系统的需求,本文从存储系统的性能、可靠性、资源调度公平性和可封装性等方面展开研究工作。
本文提出以SSD(Solid Storage Disk)代替硬盘作为虚拟化的存储介质以提高并发I/O的性能。SSD有超出磁盘阵列数十倍的并发读性能,但在并发写性能和可靠性方面却明显逊色于磁盘阵列。为此,本文提出了pUBI(partition based UBI)和hUBI(hybrid-mapping UBI)两种基于日志结构的SSD写性能优化算法。其中,pUBI基于分组方式实现分级映射,组内划分数据区和日志区。日志机制极大的降低了随机写入带来的额外拷贝和擦除开销。hUBI在block内划分数据区和日志区,将映射关系记录在OOB(Out-Of-Band)区域,节省了SSD存储空间消耗,同时也降低了数据merge的等待时间。
对实际应用系统的监测表明,当前SSD所采用的NAND flash介质发生随机位反转错误的概率远远高于磁盘阵列,传统的一维ECC校验机制已经不能满足虚拟化存储子系统的可靠性需求。本文提出并实现了一种三级容错校验机制,使随机位反转错误对上层应用屏蔽。本文通过概率计算的方法验证了这一架构对SSD可靠性的提升。
为了解决了XenLinux中默认的调度算法CFQ(Completed Fair Queue)存在的公平性调度问题,本文提出并实现了一种按照权重分配存储系统服务资源的公平性调度算法STBFQ-DRR(Serviee Time Based Fair Queue-Deficit RoundRobin).本算法采用存储系统服务时间作为衡量标准,并采用服务时间补偿机制保证了调度的公平性。文中通过理论证明和实验的方法,验证了STBFQ-DRR算法有效的保证了存储子系统的服务能力在虚拟机之间进行公平的分配和调度。
为了对Xen虚拟机提供快照支持,本文实现了一种新的存储系统快照机制-Esnap。Esnap对LVM(Logical Volume Manager)快照机制做了如下几点改进:首先,提出并实现了一种新的快照卷类型——依赖快照,依赖快照利用多个快照卷间的数据依赖关系减少了源卷写入时的拷贝开销;其次,设计了一种基于Cache机制的元数据管理方法来支持更大容量的快照卷;最后,为了防止快照卷空间溢出造成整个依赖快链上的快照卷全部失效,提出了一种内核自动扩容方法,提高了系统的可靠性。