针对文件支持的 Xen 存储虚拟化研究
虚拟化技术源于大型机,1972 年,IBM 在其$360 大型机上首次实现虚拟
机模型,它允许多个系统运行在一台机器上,提高了服务器的利用效率,距今
已经有近 40 年的历史了。互联网发展起来以后,新兴的虚拟机应用不断出现,
使虚拟化技术成为当前比较热的—个研究领域,出现了许多比较成熟的各种虚
拟机或模拟器技术和产品,如 Xen、Vmware 和 Qemu,而存储虚拟化则是
实现它们的一个很重要方面。
这里的存储虚拟化特指虚拟机中的虚拟存储设备,它与传统意义上存储设
备所要实现的目标是一致的,需要简化存储管理系统,提高存储利用率和性能,
增强存储数据安全性。本文着重研究了单机上基于文件的 Xen 磁盘虚拟化原理,
分析利用异步 I/O 技术提升虚拟机对虚拟磁盘的读写速度,同时从理论和实验
两方面说明了使用 Raw 格式和 Qcow 格式虚拟磁盘文件做为虚拟存储设备在
性能和功能上的差异。
1 相关背景
1.1 Xen
Xen 是剑桥大学开发的一款开源 X86 虚拟机管理器,其上可以同时运行
100 多个不同的操作系统,它采用了准虚拟化(Para-virtualization)的方法,
通过少量修改虚拟机中的内核,让其主动与虚拟机监视器(VMM,Virtual
Machine Monitor)协同工作来达到很高的性能。实验表明,Xen 中虚拟机的
性能和真实的机器性能相差在 3%左右回。从 Xen3.0 版本开始,Xen 加入了
对 Intel VT 和 AMD paci+ca 技术的支持,大大提升了 VMM 对虚拟机的掌控
能力,实现了全虚拟化(Full—virtualization),可以运行不加修改的操作系统,
同时也考虑到了如何有效减小虚拟机的开销。
在 Xen 中,Domain 指一个运行中的虚拟机,在引导时最初创建的
Domain 称为 Domain 0,它被允许使用控制接口来操控应用级的管理软件,
可以创建和终止其他 Domain,控制它们相关的调度参数、物理存储分配以及
对给定的存储设备或网络设备的访问。
1.2 存储虚拟化
新存储实体对原存储实体的存储资源和存储管理进行变化和转换的过程称
为存储虚拟化,存储资源包括存储的读写方式、连接方式、存储的规格或结构