柯翔敏,戴意瑜(华侨大学网络与教育技术中心,福建厦门361021)
服务器虚拟化技术应用研究
柯翔敏,戴意瑜
(华侨大学网络与教育技术中心,福建厦门361021)
摘要:实验数据中心服务器虚拟化迁移是当前热点,也是难点。在用的系统要迁移到虚拟化平台,并且保证迁移后仍然能够正常使用,数据不丢失,系统服务不中断等要求,在实际操作中存在一定的困难。迁移方案必须经过反复验证,事先必须准备详细的迁移方案,并且要有迁移失败的回退方案,保障一旦迁移失败在用的系统依然能够继续使用,才能保证迁移的顺利完成。本文主要描述服务器虚拟化技术应用比较。
关键词:服务器;虚拟化;应用
当今虚拟化技术给计算机领域特别是计算机网络方面带来了全新的实现方式,引发了一场技术变革。虚拟化已经成为一种趋势,2013年ESG就中国市场虚拟化的普及情况进行了调查,274家负责企业IT管理或制定企业IT策略的人士参加了该调研,其中企业级用户(雇员数量在500人以上)占受访企业的半数以上,75%的企业已经部署或即将部署虚拟化软件。
随着信息化的发展,服务器数量激增,位置分散,服务器品牌较多,不同品牌服务器之间差异较大,无法实现同样的安装和管理;服务器操作系统依据需要而不同,版本较多,且需要安装的应用软件不尽相同,给日常管理带来相当多的工作量;服务器升级,打补丁包等日常维护工作需要中断服务,影响教学和科研;部分服务器购置年限较久,硬件故障率较高,带来严重的安全隐患,急需解决。这些问题已让单位面临了无形的压力,必须有套完整有效的实验数据中心解决方案,让实验数据中心的服务器更加有效,安全的运行。
虚拟化实现方式带来了改变,虚拟化软件通过在服务器与上层应用之间形成虚拟化层,实现上层应用与硬件的解关联;原来的操作系统OS和应用程序APP以虚拟机的形式运行在虚拟化层之上;一台物理服务器上可以运行多台虚拟机。
(1)提高了资源利用率。“一个服务器、一个操作系统、一个应用的部署模式”,CPU的利用率长期处于10%-25%,大量计算资源闲置。通过虚拟机的方式部署,可以将CPU的利用率提高至70%以上。提升了资源的利用率。
(2)提高IT业务部署效率。虚拟化前,上线一项应用需要经过多个环节,特别是招标、采购、安装、配置等费时环节,一项业务由启动到上线可能需要数个月时间。虚拟化后,只需在资源池中分配相应的计算资源,就可以将业务不熟启动,时间缩短到几天,甚至几个小时。
(3)提高业务高可用性。当服务器故障时,能够自动选择空闲服务器,无需独占专门的备用服务器资源,减少灾备方案中的冗余投资,并且无专业集群软件的投入成本和应用复杂度。
(4)提升资源调度能力。存在持续性突发业务负载的场合,无需在虚拟机上安装代理程序,减轻虚拟机部署的复杂度。综合考虑虚拟机CPU、内存、业务、I/O吞吐量等负载因素以及虚拟机对物理主机胡亲和性,动态调整业务负载的分布,提升系统可用性。̓̓
(5)提高管理水平。用户数据中心经过多年发展,涵盖了不同品牌、性能的服务器、网络、存储等设备,而这些设备分别管理起来是十分费费力的。通过虚拟化技术、能够屏蔽这些硬件的差异化,为用户呈现出一个统一的管理界面,简化管理工作,提高管理水平。
3.1VMwareESX
ESX/ESXi是VMware的企业级虚拟化产品,2001年开始发布ESX1.0,到2013年4月发布ESXi5.1Update1。ESXi体系架构的核心是VMkernel。VMkernel是由VMware开发的基于POSIX协议的操作系统,它提供了很多在其它操作系统中也能找到的功能,比如创建和管理进程、信号(Signal)、文件系统和多线程等,但它是为运行多个虚拟机而“度身定做”的,它的核心功能是为所承载的虚拟机调度所有的硬件资源,但不同类型的硬件会有些区别。
虚拟机对于CPU和内存资源是通过VMkernel直接访问,最大程度地减少了开销,CPU的直接访问得益于CPU硬件辅助虚拟化(如IntelVT-x和AMDAMD-V,第一代虚拟化技术),内存的直接访问得益于MMU(内存管理单元,属于CPU中的一项特征)硬件辅助虚拟化(如IntelEPT和AMDRVI/NPT,第二代虚拟化技术)。
3.2微软Hyper-V
Hyper-V是微软新一代的服务器虚拟化技术,Hyper-V有两种发布版本:(1)独立版:以命令行界面实现操作控制,是一个免费的版本,如Hyper-VServer2008;(2)内嵌版:作为WindowsServer操作系统的一个组件发布,将WindowsServer作为父操作系统,使用WindowsServer的驱动模块及授权条款。
Hyper-V的Hypervisor是一个非常精简的软件层,不包含任何物理驱动,物理服务器的设备驱动均是驻留在父分区的WindowsServer中,驱动程序的安装和加载方式与传统Windows系统没有任何区别。因此,只要是Windows支持的硬件,也都能被Hyper-V所兼容。
3.3Xen
Xen是半虚拟化(Para-Virtualization)技术的典型代表。管理VM负责管理整个硬件平台上的所有输入输出设备驱动,也就是说,半虚拟化中的Hypervisor不对I/O设备作模拟,而仅仅对CPU和内存做模拟,这就是“Para-Virtualization”被翻译成“半虚拟化”的原因。半虚拟化还有一个比较普遍的叫法:操作系统辅助虚拟化(OSAssistedVirtualization),这是因为GuestVM自身不带设备驱动,需要向“管理VM”寻求帮助。
相对于VMwareESX/ESXi和微软Hyper-V来说,Xen支持更广泛的CPU架构,前两者只支持CISC的X86/X86_64CPU架构,Xen除此之外还支持RISCCPU架构,如IA64、ARM等。Xen的Hypervisor是服务器经过BIOS启动之后载入的首个程序,然后启动一个具有特定权限的虚拟机(即Dom0)。Dom0的操作系统可以是Linux或Unix,它实现对Hypervisor控制和管理功能。在所承载的虚拟机中,Dom0是唯一可以直接访问物理硬件(如存储和网卡)的虚拟机,它通过本身加载的物理驱动,为其它虚拟机(即DomU)提供访问存储和网卡的桥梁。
半虚拟化架构的最大缺点是需要特定内核的操作系统,Windows操作系统由于其封闭性,不能被Xen的半虚拟化所支持。为了解决这个问题,Xen也支持全虚拟化(FullVirtualization),Xen称其为HVM(HardwareVirtualMachine)。Xen的全虚拟化要求CPU具备硬件辅助虚拟化,它修改的QEMU(QuickEmulator)仿真所有硬件,包括BIOS、IDE控制器、VGA显示卡、USB控制器和网卡等。为了提升I/O性能,全虚拟化特别针对磁盘和网卡采用半虚拟化设备来代替仿真设备,这些设备驱动称之为PVonHVM。为了使PVonHVM有最佳性能,CPU应具备MMU硬件辅助虚拟化。
3.4KVM
KVM是基于硬件辅助虚拟化技术(Intel的VT-x或者AMD-V)的虚拟化解决方案,GuestOS能够不经过修改直接在KVM的虚拟机中运行,每一台虚拟机能够享有独立的虚拟硬件资源,如网卡、磁盘、图形适配器等。
3.5四种虚拟化软件架构对比
VMware虚拟化系统架构是一个封闭的技术架构,其第一代虚拟化方法基于二进制代码动态翻译技术,后来,又将半虚拟化和硬件辅助虚拟化技术融入了ESX。所以,ESX系统复杂度很高,而且,作为与底层硬件进行交互操作的一层软件,VMware投入了巨资开发专用设备驱动,以支持商用服务器所使用的各种网络和存储硬件。每当市场推出新的硬件设备时,VMware必须编写VMware专用驱动以支持新设备。
Xen和微软的Hyper-V都采用了半虚拟化架构,GuestOS清楚地知道它们是基于虚拟硬件运行的,通过GuestOS与虚拟化系统软件的协作简化了Hypervisor的开发,同时改善了全虚拟化技术的性能问题。但是半虚拟化技术最大的问题在于虚拟机操作系统的兼容性问题,纯碎的半虚拟化技术只能支持有限的开源Linux操作系统,无法支持闭源的Windows操作系统。
KVM是主流虚拟化系统软件中出现较晚的一个,只支持带有IntelVT或AMD-V技术的CPU,而不支持传统的硬件以及通过修改内核而运行于传统硬件上的GuestOS。
本文简单介绍了服务器面临的问题、服务器虚拟化技术带来的变革以及对当前主流虚拟化技术进行分析和对比。采用网络技术和虚拟化技术,对于把实验数据中心分散的服务器进行资源虚拟化和集中化管理,构建安全、稳定、高效的实验数据中心服务器平台,探索新型管理机制和提高管理效率具有重要的意义。
参考文献:
[1]刘红艳.GPU虚拟化在虚拟化桌面系统中的应用[D].西安电子科技大学,2013.
[2]路尧.基于Xen完全虚拟化的半虚拟化驱动技术研究与实现[D].北京邮电大学,2011.
[3]赵烽帆,李刚,周利霞.基于VMwareESX软件的高可用性虚拟化服务器系统建设应用[J].震灾防御技术,2014(03).
[4]汪蔓.VMware服务器虚拟化技术研究[J].电脑知识与技术.2014(24).
[5]武博文.浅谈虚拟化技术及服务器虚拟化[J].天津职业院校联合学报.2012(11)
[6]寇曼曼,高冠龙,徐丹.思科UCS在数据中心虚拟化建设中的应用[J].中国新通信,2014(23).
[7]刘锋.企业存储虚拟化与服务器虚拟化探析[J].软件导刊.2011(04).
项目:华侨大学2012年实验教学改革与建设课题(66661233Y)
作者简介:柯翔敏(1987-),男,福建泉州人,硕士,研究方向:计算机应用,网络安全。