计算机论文发表-基于KVM的桌面虚拟化架构的应用研究
摘 要: 本篇计算机论文发表在服务器虚拟化技术的基础上,提出了一种基于KVM服务器虚拟化技术的桌面虚拟化架构,论文详细探讨了该桌面虚拟化架构系统的设计与实现过程,并重点研究了KVM所依赖的硬件辅助虚拟化技术的实现原理。该架构可作为桌面管理解决方案,在企业中推广应用。
关键字 虚拟化技术,桌面虚拟化架构,KVM
一、桌面虚拟化的理论基础
近年来随着IT 技术的飞速发展,PC的采购成本已大大降低,但在 IT 架构管理上,传统的 PC 技术却没有发生任何大的变革。虚拟化技术的诞生,为改进IT管理架构带来了全新的理念。虚拟化技术在桌面管理、服务器方面的应用非常广泛,以桌面虚拟化架构为例,已经成为了中小型企业主流的IT管理方式。
1.1 服务器虚拟化技术
服务器虚拟化能够在一台计算机上运行多个虚拟机,每个客户机上运行自己独立的操作系统和应用软件,它可以对这些虚拟机进行有效隔离,对资源进行按需分配,从而保证每个虚拟机的安全性和性能。
随着服务器虚拟化技术的发展,已经形成从硬件到软件一整套的解决方案。基于X86架构的硬件技术主要是由Intel和AMD提供的Virtualization Technology(VT)和AMD-V虚拟化技术,该技术对处理器进行了扩展,从而实现了处理器的虚拟化。软件方面主要有Vmware公司的VSphere和Vmware Workstation、Microsoft公司的Hyper-V和Virtual PC以及Linux系统下的Xen和KVM等。前两个软件是已经商业化的系统,Xen也开始了商业化运作,KVM是免费的开源系统并在迅速发展当中,是目前唯一进入Linux核心的虚拟化技术。
1.2 基于 KVM 的虚拟化技术
KVM(Kernel-based Virtual Machine)是一款基于GPL授权方式的开源虚拟机软件。它采用的是基于Intel VT技术的硬件虚拟化方法,同时结合QEMU来提供设备虚拟化,其架构如图 1-2所示。从其架构上来看,有说法认为KVM 是寄宿虚拟化模型,那是因为Linux 在设计之初并没有针对虚拟化方面的支持,所以KVM是以内核模块的形式而存在的。但是,随着越来越多的虚拟化功能被加入到Linux内核中来,也有说法认为 Linux 已经是一个 Hypervisor,因此KVM是原生虚拟化模型。KVM 项目的发起人和维护人倾向于认为KVM是原生虚拟化模型。
KVM虚拟化技术具有较强的灵活性,能较好地将不同的操作系统和特殊硬件设备加以利用,从而降低不同系统间维护的复杂度。KVM支持的客户机操作系统种类较多,常见的基于X86架构的Windows、Linux、Unix操作系统绝大部分都可以稳定地运行。
图 1-2 KVM 架构图
本篇计算机论文发表指出:KVM在 Linux 系统中使用底层硬件的虚拟化支持来提供完整的原生虚拟化,只要底层硬件虚拟化支持,它就能够支持大量的客户机操作系统。基于KVM的硬件辅助虚拟化技术的实现原理解释如下:
1.2.1 CPU 虚拟化
当新虚拟机在KVM上启动时,它就被看成为宿主机操作系统的一个进程,因此宿主机操作系统就可以像其他进程一样调度这个新客户机操作系统。但与传统的 Linux 进程不一样的是虚拟机此时被KVM标识为处于客户模式,该模式独立于内核和用户模式。Intel VT-x技术为这种客户模式引入了两种虚拟机功能扩展指令(Virtual Machine eXtensions instructions, VMX)操作模式,即VMX根操作和VMX非根操作,统称为VMX操作模式。
KVM运行在根模式,而虚拟机运行在非根模式。在VMX操作模式中,包括了开启/关闭 VMX 的过程,以及VMX开启情况下,KVM和虚拟机软件的交互操作,其操作步骤如下:
a)KVM首先执行VMXON指令进入到VMX操作模式,CPU此时处于VMX根操作模式下,KVM软件开始执行。
b) KVM执行VM LAUNCH或VM RESUME指令产生虚拟机进入(VM Entry),虚拟机软件开始执行,CPU此时进入到非根模式。
c) 当虚拟机执行特权指令时,或者当虚拟机运行时发生中断或异常时,虚拟机退出(VM Exit)被触发而陷入到KVM,CPU切换到根模式。KVM根据VM Exit的原因会做出相应的处理,然后转到步骤b继续运行虚拟机。
d)如果 KVM 决定退出,则执行VMXOFF关闭VMX操作模式。
1.2.2 内存虚拟化
每个客户机操作系统都是通过/dev/kvm 设备映射的,它们拥有各自的虚拟地址空间,该空间再次映射到宿主机内核的物理地址空间。KVM 内存虚拟化的扩展页表 (Extended Page Tables, EPT)技术的实现原理。在原有的CR3页表地址映射的基础上,EPT 引入了EPT页表来实现另一次映射。这样,客户机虚拟地址(Guest Virtual Adress, GVA)—〉客户机物理地址(Guest Physical Adress, GPA)—〉宿主机物理地址(Host Physical Adress, HPA)两次地址转换都由CPU硬件自动完成。
KVM运行在Linux系统内核当中,属于瘦虚拟化方案,KVM本身体积很小,其支持硬件取决于Linux系统本身对硬件的支持。目前主流的硬件设备均有对应的inux驱动,这也就决定了KVM可以在最广泛的硬件系统之上运行。同时KVM具有优良的系统性能和稳定性,系统更新十分便捷。
二、桌面虚拟化架构
2.1 桌面虚拟化架构组成
桌面虚拟化是将用户的桌面环境与其使用的终端设备解耦合。服务器上存放的是每个用户的桌面环境,用户可以使用不同的具有足够处理能力和显示功能的终端设备,如 PC、瘦客户机、移动终端、云终端等,这些终端设备除了与虚拟桌面系统连接外并不承担其他任务或者承担的很少,它们通过远程显示协议访问该桌面环境,每个用户都有一个在服务器管理程序上运行的桌面系统虚拟机,每次登录时都能获得一个干净的、个性化的全新桌面。
2.2 桌面显示协议
桌面显示协议是影响虚拟桌面用户体验的关键,在 VDI 架构中需要利用虚拟桌面通讯协议来连接用户云终端和虚拟桌面,将用户云终端的录入信息打包、压缩、加 密后传输送至虚拟机进行运算,运算结果通过打包、压缩、加密、传输、解析再呈现给用户。当前主流的显示协议包括PCoIP、RDP、SPICE、ICA等,并被不同的厂商所支持。
传输带宽要求的高低直接影响了远程服务访问的流畅性。ICA 采用具有极高的处 理性能和数据压缩比的压缩算法,极大地降低了对网络带宽的需求。图像展示体验反映了虚拟桌面视图的图像数据的组织形式和传输顺序。其中 PCoIP 采用了分层渐进的方式在用户端显示桌面图像,即首先传送给用户一个完整但又比较模糊的图像,进而在此基础上进行逐步精化,因此具有更好的视觉体验。
双向音频支持需要协议能够同时传输上下行的用户音频数据(例如语音聊天),而当前的PCoIP对于用户侧语音上传的支持尚存缺陷。视频播放也是检测传输协议的重要指标之一,因为虚拟桌面视图内容以图片方式进行传输,所以视频播放时的每一帧画面在解码后都将转为图片从而导致数据量的剧增。为了避免网络拥塞,ICA采用压缩协议缩减数据规模但是这样会造成画面质量的损失,而SPICE则能够自适应地感知用户端设备的处理能力,进而将视频解码工作放在用户端进行。
用户外设支持是考量显示协议是否具备有效支持服务器端与各类用户端外设实现交互的能力,RDP和 ICA对外设的支持都比较齐备,而PCoIP和SPICE在现阶段只是实现了对USB设备的支持。传输安全性是各个协议都很关注的问题,早期的RDP不支持传输加密,但在新的版本中有了改进。
三、 桌面虚拟化架构的应用场景
由于计算发生在数据中心,所有桌面的管理和配置都在数据中心进行,管理员可以在数据中心对所有桌面和应用进行统一配置和管理,例如系统升级、应用软件安装等等,从而避免了传统上由于终端分布造成的管理困难和成本高昂。桌面虚拟化架构具有灵活多变的组织形式,尤其对于中心机房、培训中心、考试中心等大规模的、多变需求的应用场景(频繁更换操作系统)。
3.1 统一集中办公
大部分企业在日常工作中,其内部IT系统如CRM、ERP等应用系统多为WEB界面,WEB方式本身即是一种“瘦客户端”的设计理念,即任何网络浏览器在任何位置都可以访问本应用。但是WEB方式功能上有较大的局限性,相当部分的 ERP 软件是需要安装客户端软件并登录的。无论是B/S架构还是C/S架构,一台传统的PC机都是必不可少的。
部署VDI方案,可以帮助拥有数百台、数千工位且位于同一地点办公的大型企业解决桌面系统管理问题。数百个坐席可完成完全标准化的部署,无须配置PC机,无须关心数据存储安全,全部采用瘦客户端方式远程连接到位于数据中心的虚拟桌面服务器上。借助VDI还可以实现非固定坐席的工作场景,进一步对IT架构进行规范化管理。
3.2 网络培训
在典型的网络教学环境中,教师除了授课之外,还需要为每一个参加的学生准备相应的操作环境用于上机操作。在日常管理中,最大的困难在于为数十台或上百台学生机部署上机环境。同时,因为使用的频率和密度较高,学生机还经常出现硬件故障,导致多个学生只能合用一台计算机的情况。
使用VDI解决方案,可将传统网络教学环境下的学生机转换为瘦客户端,其所有软件环境全部部署在后端数据中心虚拟桌面服务器上。当教师需要初始化学生机之时,只需在操作界面上简单的点击几下鼠标,即可快速地为上百个学生初始化实验环境。通过VDI系统,生成一个桌面环境仅需五秒钟。而借助应用程序模板技术,更可以批量为学生机部署每次授课的实验环境,大大简化教师在授课前的备课工作量,让教师更加专心地投入到教学内容的准备上。
四、结束语
本篇计算机论文发表探讨了基于KVM的虚拟化技术架构,重点研究KVM所依赖的硬件辅助虚拟化技术的实现原理,包括CPU虚拟化技术和EPT内存虚拟化技术。随后又探讨了基于服务器虚拟化技术的桌面虚拟化架构并分析比较了影响虚拟桌面用户体验的主流桌面显示协议。作为桌面管理的全新解决方案,VDI架构具有灵活多变的组织形式,尤其适用于企业培训中心、考试中心等大规模的、需求多变的应用场景。
参 考 文 献
[1] 邓秀春,王超云. 基于虚拟化技术的数据中心构建[R], 科技创新导报, 29, 2010
[2] 英特尔开源软件技术中心, 复旦大学并行处理研究所. 系统虚拟化:原理与实现[M], 北京, 清华大学出版社, 2009: 109-110
[3] 李勇, 郭玉东, 王晓睿. 基于 EPT 的内存虚拟化研究与实现[J], 计算机工程与设计, 2010,31(18): 4101
[4] 赵睿, 茅亮. 桌面虚拟化技术在营业系统中的应用[J], 邮电设计技术, 2010(8) :27
[5] 崔泽永, 赵会群. 基于 KVM 的虚拟化研究及应用[J], 计算机技术与发展, 2011, 21(6) :109
[6] 董向军, 张恩刚, 张沛. 桌面虚拟化技术研究[J], 中国信息界, 2010(4) :51
[7] 高清华. 基于 Intel VT 技术的虚拟化系统性能测试研究[D], 浙江大学, 2008: 37-39
[8] 周斌, 张莹. 虚拟化技术性能分析与比较[J], 现代计算机(专业版), 2009(5) :128
[9] 张彬彬, 汪小林, 杨亮. 修改客户操作系统优化 KVM 虚拟机的 I/O 性能[J], 计算机学报, 2010, 33(12) :2313
王涛(1976-),男(汉族),山东青岛人,青岛卷烟厂高级工程师,工程硕士,研究方向:系统管理,信息安全。
更多计算机论文发表立刻咨询锦锐论文网:
qq:2604244082张老师
电话:010-52898037
手机:18810183632