访问手机版  

招聘|合作 登陆|注册

网络工程师培训

当前位置:网络工程师 > 技术课程 > 虚拟化 > 热点关注 > 云计算虚拟化

云计算的的主流虚拟技术架构有哪些呢?

时间:2018-07-12

云计算和虚拟化,两个看起来没什么关系的技术其实有着很大的联系。云计算的=离不开底层的虚拟化技术支持。所以云计算也是需要虚拟化技术的,虽然虚拟化技术很多,但是云计算目前只有为数不多的虚拟化技术是最成熟而且应用最广泛的。都是哪些呢?
这四种就是VMWARE的ESX、微软的Hyper-V、开源的XEN和KVM。那云计算平台到底应该选用哪种虚拟化技术呢?我们就来看看这些虚拟化技术特点。
ESX的虚拟化架构
ESX是VMware的企业级虚拟化产品,2001年开始发布ESX 1.0,到2011年2月发布ESX 4.1 Update 1。
ESX服务器启动时,首先启动Linux Kernel,通过这个操作系统加载虚拟化组件,最重要的是ESX的Hypervisor组件,称之为VMkernel,VMkernel会从LinuxKernel完全接管对硬件的控制权,而该Linux Kernel作为VMkernel的首个虚拟机,用于承载ESX的serviceConsole,实现本地的一些管理功能。
虚拟机对于CPU和内存资源是通过VMkernel直接访问,最大程度地减少了开销,CPU的直接访问得益于CPU硬件辅助虚拟化(Intel VT-x和AMD AMD-V,第一代虚拟化技术),内存的直接访问得益于MMU(内存管理单元,属于CPU中的一项特征)硬件辅助虚拟化(Intel EPT和AMD RVI/NPT,第二代虚拟化技术)。
ESX的物理驱动是内置在Hypervisor中,所有设备驱动均是由VMware预植入的。因此,ESX对硬件有严格的兼容性列表,不在列表中的硬件,ESX将拒绝在其上面安装。
Hyper-V的虚拟化架构
Hyper-V是微软新一代的服务器虚拟化技术,首个版本于2008年7月发布,目前最新版本是2011年4月发布R2 SP1版,Hyper-V有两种发布版本:一是独立版,如Hyper-V Server 2008,以命令行界面实现操作控制,是一个免费的版本;二是内嵌版,如Windows Server 2008,Hyper-V作为一个可选开启的角色。
对于一台没有开启Hyper-V角色的Windows Server 2008来说,这个操作系统将直接操作硬件设备,一旦在其中开启了Hyper-V角色,系统会要求重新启动服务器。其实Hypervisor仅实现了CPU的调度和内存的分配,而父分区控制着I/O设备,它通过物理驱动直接访问网卡、存储等。
Hyper-V的Hypervisor是一个非常精简的软件层,不包含任何物理驱动,物理服务器的设备驱动均是驻留在父分区的Windows Server 2008中,驱动程序的安装和加载方式与传统Windows系统没有任何区别。因此,只要是Windows支持的硬件,也都能被Hyper-V所兼容。
XEN的虚拟化架构
XEN最初是剑桥大学Xensource的一个开源研究项目,2003年9月发布了首个版本XEN 1.0,2007年Xensource被Citrix公司收购,开源XEN转由www.xen.org继续推进,该组织成员包括个人和公司(如Citrix、Oracle等)。目前该组织在2011年3月发布了最新版本XEN 4.1。
相对于ESX和Hyper-V来说,XEN支持更广泛的CPU架构,前两者只支持CISC的X86/X86_64 CPU架构,XEN除此之外还支持RISC CPU架构,如IA64、ARM等。
XEN支持两种类型的虚拟机,一类是半虚拟化(PV,Paravirtualization),另一类是全虚拟化(XEN称其为HVM,Hardware Virtual Machine)。半虚拟化需要特定内核的操作系统,全虚拟化支持原生的操作系统,特别是针对Windows这类操作系统,XEN的全虚拟化要求CPU具备硬件辅助虚拟化。
XEN的Hypervisor层非常薄,少于15万行的代码量,不包含任何物理设备驱动,这一点与Hyper-V是非常类似的,物理设备的驱动均是驻留在Dom 0中,可以重用现有的Linux设备驱动程序。因此,XEN对硬件兼容性也是非常广泛的,Linux支持的,它就支持。
KVM的虚拟化架构
KVM的全称是Kernel-based Virtual Machine,字面意思是基于内核虚拟机。KVM本身仍是一个开源项目,由RedHat、IBM等厂商支持。KVM作为Linux内核中的一个模块,与Linux内核一起发布,至2011年1月的最新版本是kvm-kmod 2.6.37。
与XEN类似,KVM支持广泛的CPU架构,除了X86/X86_64 CPU架构之外,还将会支持大型机(S/390)、小型机(PowerPC、IA64)及ARM等。
KVM充分利用了CPU的硬件辅助虚拟化能力,并重用了Linux内核的诸多功能,使得KVM本身是非常瘦小的。KVM本身并不是Hypervisor,它仅是Linux内核中的一个可装载模块,其功能是将Linux内核转换成一个裸金属的Hypervisor。这相对于其它裸金属架构来说,它是非常特别的,有些类似于宿主架构,业界甚至有人称其是半裸金属架构。
通过KVM模块的加载将Linux内核转变成Hypervisor,KVM在Linux内核的用户(User)模式和内核(Kernel)模式基础上增加了客户(Guest)模式。Linux本身运行于内核模式,主机进程运行于用户模式,虚拟机则运行于客户模式,使得转变后的Linux内核可以将主机进程和虚拟机进行统一的管理和调度。
这就是云计算目前最为成熟而且应用最为广泛的四种虚拟化技术。但是实际上在选择虚拟化技术的时候,不应该知识局限在某一种虚拟化技术,毕竟现在从架构来看,很多的虚拟化技术没有明显的性能差距稳定性也越来越好,都有着各自的优势。在选择的时候,应该根据自己公司的特点,选择和自己最有利的虚拟化技术。
 上一个教程:返回列表