随着计算机硬件、网络和体系结构的飞速发展,虚拟化技术已经渗透到各个领域,并呈现出新的趋势,从服务器虚拟化到存储虚拟化,甚至是应用虚拟化,虚拟化技术已经成为新的研究热点。
与此同时,虚拟化技术在管理、应用和安全等方面也面临新的挑战。在刀片服务器、数据中心等虚拟环境下,对服务的不间断保障能力有很高需求,而传统虚拟机在动态迁移期间,对虚拟机持续访问I/O等设备保障能力不够。因此,需要研究更有效的技术用于保障虚拟机在动态迁移期间能持续访问I/O设备。
针对上述问题,本文提出设备代理模型,用于保障动态迁移期间虚拟机持续访问I/O设备。该模型主要包括三个模块,设备代理模块、远程设备访问模块和设备动态交换模块。设备代理模块是用来处理动态迁移期间的I/O操作和维护虚拟设备状态;远程设备访问模块是为了让虚拟机能采用类似本地模式从远程访问I/O设备,而不再依赖于网络文件系统进行访问;设备动态交换模块则是为了虚拟机重新动态地定向至物理设备,以提高虚拟机设备的可用性。
在基于设备代理模型的虚拟机动态迁移期间,设备代理模型在处理待决I/O操作时存在状态不一致性,本文采用SMT和QBM一致性维护算法解决这个问题。SMT算法主要处理长度相同的待决I/O操作,而QBM主要处理长度不相同的待决I/O操作。在设计SMT一致性维护算法时,为了提高其执行效率,引进特征值和哈希搜索。经过SMT算法匹配处理,剩下待处理的待决I/O操作都与要匹配的待决I/O操作长度不同。QBM算法采用整体移动方式执行精确匹配剩下的待决I/O操作。
基于以上研究基础,本文设计出基于Xen设备代理模型体系结构。根据基于Xen设备代理模型的体系结构分别实现了设备代理模块、远程设备访问模块和设备动态交换模块。最后,本文对设备代理模型的相关性能进行了评测,评测结果表明在动态迁移期间,设备代理模型保证了I/O服务的不间断和持续性。
本课题得到国家863计划“基于虚拟机技术的商业高端刀片服务器系统”和“支持多计算域的虚拟个人计算机系统”课题,以及NFS重点项目“基于虚拟机架构的可信计算环境与可信软件设计”的资助。