主流服务器虚拟化技术,虚拟化是什么

阅读(106)发布于 2024-04-28

云计算服务器虚拟化的核心技术有哪些 云计算服务器虚拟化的核心技术,CPU虚拟化:CPU虚拟化把物理CPU抽象成虚拟CPU,任意时刻一个物理CPU只能运行一个虚拟CPU的指令。由此可见虚拟化技术成为各个企业和研究机构的重要课题。

配图

云计算服务器虚拟化的核心技术,CPU虚拟化:CPU虚拟化把物理CPU抽象成虚拟CPU,任意时刻一个物理CPU只能运行一个虚拟CPU的指令。

内存虚拟化:内存虚拟化技术把物理机的真实物理内存统一管理,包装成多个虚拟的物理内存分别供若干个虚拟机使用,蚂牢使得每个虚拟机拥有各自独立的内存空间。

设备与I/O虚拟化:设备与I/O虚拟化技术对物理机的真实设备进行统一管理,包装成多个虚拟设备给若干个虚拟机使用,响应每个虚拟机的设备访问请求歌轿攀和I/O请求。

网络虚拟化:网络虚拟化是将多个硬件或软件网络资源及相关的网络功能集成到一个可用软件中统一管控的过程,并且对于网络应用而言,该网络环境的实现方式是透明的。

实时迁移技术:实时迁移技术是在虚拟机运行过程中,将整个虚拟机的运行状态完整快速地从原来所在的宿主机硬件平台迁移到新的宿主机硬件平台上,并且整个迁移过程是平滑的,用户几乎不会察爷蚊觉到任何差异。

【感兴趣的话点击此处,免费了解一下】

亿万克作为中国战略性新兴产业领军品牌,拥有中国第一、世界前二的行业领先技术,致力于新型数据中心建设,构筑云端安全数字底座,为客户提供集产品研发、生产、部署、运维于一体的服务器及IT系统解决方案业务,所有产品和技术完全拥有自主知识产权,应用领域涵盖云计算、数据中心、边缘计算、人工智能、金融、电信、教育、能源等,为客户提供全方位安全自主可控技术服务保障。

摘要:随着计算机技术的发展,服务器虚拟化技术已经被越来越多的企业所采用,使用这种技术可以大大提高服务器的使用效率。文章中主要介绍了两种虚拟化软件Vmware和Xen的结构特点,并分析了它们之间的区别。

关键词:服务器虚拟化VmwareXen

虚拟化将主宰未来的企业,在现在的国内,企业数据中心都是根据需求随时添加服务器设备,这些设备基本上都是分散的,不同品牌、不同配置甚至不同架构,最致命的是,在其上运行的应用并不能够充分利用服务器所有的资源,占用到15%―20%的服务器资源是一个普遍现象,而使用虚拟化技术可以减少服务器数量的增加,简化服务器管理,同时明显提高服务器利用率、网络灵活性和可靠性。将多种应用整合到少量企业级服务器上即可实现这一目标。通过整合及虚拟化,数百台服务器可以减少至数十台。10%甚至更低的服务器利用率将提高到60%或更高,IT基础设施的灵活性、可靠性和效率也将得到改进。由此可见虚拟化技术成为各个企业和研究机构的重要课题。下面简单介绍一下两种虚拟化软件及其区别。

一、VMware

VMware是业界著名的虚拟机产品,它有VMwareWorkstation、VMwareGSXServer、VMwareESXServer等系列产品。VMware的VMM可以有两种结构形式,即Standalone和Hosted。Standalone的结构形式是指,VMM作为一层直接运行在硬件平台上的软件层,在它上面可以创建和管理多个客户虚拟系统。这种结构的VMM有点像一个操作系统,它包含硬件平台的驱动,受到硬件平台种类的限制。它适合于服务器的应用环境,其典型的产品是VMwareESXServer。

Hosted结构的VMM作为操作系统的一个应用程序运行,它可以利用操作系统自身的内存管理、CPU调动、硬件驱动和资源管理。VMwareWorkstation使用的是Hosted的结构,是设计来让一些应用程序,比方软件的研发或测试程序来执行,同时Server版本的目标则针对数据库以测试软件更新、简化应用程序的提供,或使用虚拟的设备等功能。ESXServer可以藉由不使用操作系统来大量增加效能。相反的,ESX使用自己设计的操作系统核心,可以直接在计算机上执行。这个方法可以同时支持更多的虚拟服务器,但ESX核心支持的硬件并不多。

由于VMware的目标平台是x86平台,因此,它也同样面临着x86平台不完全支持虚拟化的问题。VMware的解决方法是其专利技术,在需要VMM参与的地方,动态重写部分虚拟系统的指令,使其可以trap到VMM。

此外,VMware还有VirtualCenter。VMotion应用在IBMBladeCenter刀片服务器上,使之具备更好的弹性和可用性,结合刀片服务器的模块化和可扩展性,可以增加内存和I/O能力的扩展比例,混合刀片间的工作负载均衡。VirtualCenter采用集中式管理,可以监控系统的可用性及性能,并可以自动告警,SDK与现有管理工具整合,通过稳定的访问控制保证系统安全。VMotion技术使用户在保持连续的服务可用性的同时,还可以将实时运行企业用户关键业务的虚拟机,从一台物理主机转移到另一台物理主机,并动态获得每台物理服务器资源的极佳利用率、零宕机维护、快速重新配置,以及持续的工作负载整合能力。

二、Xen

XenVMM(VirtualMachineMonitor)是由剑桥大学计算机实验室开发的一个开源项目,它能够让我们创建更多的虚拟机,每一个虚拟机都是运行在同一个操作系统上的实例。

这些客户OS可以是修补过的Linux内核2.4或2.6,也可以是修补过的NetBSD/FreeBSD内核。用户应用程序就运行在这些客户OS上,并不需要修改任何代码。但是,随着将来的处理器能支持虚拟化,内核也就不需要打补丁了。比如说,Intel的VT和AMD的Pacifica处理器都将包括这种支持。

在Xen中,一个“系统管理程序”运行在0环,客户OS运行在1环,应用程序运行在3环。这种关系对于x64/64有一点不同,就是客户内核和应用程序都运行在3环上。

Xen自身被称为“系统管理程序”,是因为它比客户OS的系统管理代码运行所需的特权级还高。

当系统引导的时候,Xen被装载到0环的内存中。它在1环上启动修补过的内核,这被称作是domain0(注:domain是指一个运行中的虚拟机,在其上有一个guestOS在执行)。从这个domain开始,你可以创建更多的domain,也可以销毁它们,还可以进行domain的迁移、设置参数等等。你创建的那些domain也运行在1环它们的内核中。用户应用程序运行在3环。

目前,修补过的Linux内核2.4和2.6可以作为domain0。据Xen开发者所说,将来domain0仅支持2.6的内核补丁。构造domain0的大部分工作是在xen/arch/x86/domain_build.c中的construct_dom0()方法中实现的。

物理设备驱动程序只能运行在特权级,也就是domain0上。Xen依靠Linux或其它修补过的OS内核对它所有的设备提供虚拟化支持。这样的好处就是Xen的开发者不必再去开发设备驱动程序。

在一个有标签TLB的处理器上使用Xen能够大大提高性能。标签TLB能够把ASID(AddressSpaceIdentifier)放在TLB入口处。有了这个特性,当处理器在系统管理程序和客户OS之间切换时就不需要刷新TLB了,这大大减少了系统开销。

三、两者主要区别

目前Xen和VMware是市场上主流的两大虚拟化产品。现在我就来谈谈这两大产品背后的架构有什么区别,以及这一技术在未来会如何发展。VMwareESX服务器的架构是建立在直接执行(直接在硬件上上运行用户级的虚拟机编码)和二进制译码(对特权级别编码进行动态编译)的基础上的。从根本上说,它把一个完整的X86平台导出到虚拟机上,ESX服务器可以使大多数能在X86上执行的操作系统都能在虚拟机上运行,而不需要进行任何修改。Xen的架构中使用了一种叫Para虚拟化技术(ParaVirtualization),对虚拟出来的客户操作系统(GuestOS)进行修改,使它知道它是在虚拟环境下运行。

那么这两种方式有什么不同呢?最大的不同就是对输入/输出(I/O)设备的处理。虚拟机I/O端口和每个物理I/O端口设备之间如何路由在很大程度上影响虚拟平台架构的性能、便携性、可持续性和稳定性。Xen采用的是分离驱动模式,真实驱动存在于一个中间层,这个中间层叫服务虚拟机,其他虚拟机上的特殊驱动通过这个服务虚拟机进行通讯。这种方法能提供很好的性能,但是对于闭源和传统操作系统支持有限。在ESX中,虚拟机的虚拟设备驱动与ESX内核里的物理设备驱动直接相互连接。ESX虚拟机可以为其虚拟设备使用现成的(off-the-shelf)驱动。这不仅能提供高性能,还能提供更广泛的操作系统支持。然而在这个模型里,新的设备驱动必须要导入到ESX内核中。为了解决I/O虚拟化的平衡问题和复杂化问题,戴尔与英特尔、AMD这样的合作伙伴以及外设硬件供应商们一起,在芯片组和I/O设备中引入了虚拟化支持。企业级虚拟化解决方案的另外一个重要部分就是其管理。戴尔OpenManage这样的产品附送VMwareVirtualCenter、P2V和VMImporter,提供了整套工具,能有效进行部署、监控、操作自动化,以及对虚拟IT数据中心进行管理。Novell和RedHat都在它们的操作系统中整合了对Xen平台的管理,方法是运用像YaST和Anaconda这样的安装和配置工具以及VirtualMachineManager这样的管理工具。

四、虚拟化技术的未来

资讯科技及通讯业研究权威Gartner估计,由现在至2010年间,虚拟化将会是资讯基建及营运领域中最重要的技术,并会彻底改变资讯科技部门管理、采购、部署、规划,以及其所提供服务的收费模式。虚拟化目前不再只着重技术,而是更加着重企业内的流程改变及文化变迁。虚拟化可让服务以另一种模式提供。每个经虚拟化的层面都可作独立的管理,或甚至由他人所掌管,例子包括串流式应用或员工所拥有的个人计算机一样。这一切均要求企业文化作出重大改变。

参考文献:

[1]郭庭廷,吴玮.揭开虚拟化神秘面纱[J].机械工业信息与网络,2007,(03).

[2]成凯.透视虚拟化技术[J].软件世界,2007,(11).

[3]伍班权.虚拟化技术及其发展[J].办公自动化,2007,(12).

[4]杨晓伟.基于Xen的X86虚拟机性能调优[J].计算机工程,2006,(24).

[5]刘志平.基于VMware虚拟网络的构建[J].内蒙古大学学报(自然科学版),2007,(01).

[6]赵祖荫.基于VMware软件的虚拟计算机的构建方法[J].微型电脑应用,2004,(06).

虚拟化(Virtualization)技术最早出现在20世纪60年代的IBM大型机系统,在70年代的System370系列中逐渐流行起来。这些机器通过一种叫虚拟机监控器(VirtualMachineMonitor,VMM)的程序在物理硬件之上生成许多可以运行独立操作系统软件的虚拟机(VirtualMachine)实例。

随着近年计算机技术的进步,无论是服务器市场、桌面市场,还是嵌入式市场,处理器的频率和核心数目都出现了巨大的进步,从而带来了处理能力的迅速增长,使得虚拟化技术再次迅速发展起来,并从最初的的裸机虚拟化技术开始,演化出主机虚拟化、混合虚拟化等更复杂的虚拟化模型,并在此基础山发展出了当下最热门的云虚拟化技术,极大地降低了IT成本,增强了系统的安全性,可靠性和扩展性。

在计算机领域,虚拟化是一个广义的概念。简而言之,虚拟化是指对计算机资源的抽象。虚拟机最初被Popek和Goldberg定义为物理机器的一个或多个隔离的有效复制[16]。J.E.Smith和RaviNair给出了一个更具体化的定义:虚拟机是通过在物理平台上添加的软件给出的一个或多个不同的平台。一个虚拟机可以有一个操作系统和指令集,或者两者都有,可以不同于底下的真实的硬件。

虚拟化技术的本质在于对计算机系统软硬件资源的划分和抽象。计算机系统的高度复杂性是通过各种层次的抽象来控制,每一层都通过层与层之间的接口对底层进行抽象,隐藏底层具体实现而向上层提供较简单的接口。

计算机系统包括五个抽象层:硬件抽象层,指令集架构层,操作系统层,库函数层和应用程序层。相应地,虚拟化可以在每个抽象层来实现。无论是在哪个抽象层实现,其本质都是一样的,那就是它使用某些手段来管理分配底层资源,并将底层资源反映给上层。操作系统上传统的进程模型就利用了虚拟化的思想,操作系统通过对物理内存的划分和抽象,给每个进程呈现出远超出物理内存空间的4G空间,并且使得每个进程实现了有效的隔离,从而一个进程的崩溃不会影响到其它进程的正常运行。

虚拟化平台是操作系统层虚拟化的实现。在系统虚拟化中,虚拟机(VM)是在一个硬件平台上模拟一个或者多个独立的和实际底层硬件相同的执行环境。每个虚拟的执行环境里面可以运行不同的操作系统,即客户机操作系统(GuestOS)。GuestOS通过虚拟机监控器提供的抽象层来实现对物理资源的访问和操作。目前存在各种各样的虚拟机,但基本上所有虚拟机都基于"计算机硬件+虚拟机监视器(VMM)+客户机操作系统(GuestOS)"的模型。

虚拟机监控器是计算机硬件和GuestOS之间的一个抽象层,它运行在最高特权级,负责将底层硬件资源加以抽象,提供给上层运行的多个虚拟机使用,并且为上层的虚拟机提供多个隔离的执行环境,使得每个虚拟机都以为自己在独占整个计算机资源。虚拟机监控器可以将运行在不同物理机器上的操作系统和应用程序合并到同一台物理机器上运行,减少了管理成本和能源损耗,并且便于系统的迁移。

根据虚拟机监视器在虚拟化平台中的位置,可以将其分为以下3种模型:

虚拟机监视器采用的虚拟化技术分为以下4种:

嵌入式系统是虚拟化技术的新方向和重要分支。

嵌入式处理器的迅速发展使得嵌入式系统在更多方面得到了广泛的应用。而嵌入式设备应用的普及导致其对软硬件的需求也越来越高。硬件体现在不断增强的计算能力和多种多样的外部设备,软件体现在愈加复杂的新功能特性。这些问题导致嵌入式开发变得复杂和软件维护成本的增加。原来的SMP和AMP等多核操作系统方案无法满足安全隔离、硬件资源分配和复用等日益复杂的要求。因此,服务器和桌面系统上的虚拟化技术被引入了嵌入式操作系统领域,并借助于硬件辅助虚拟化技术,解决了虚拟化技术带来的便利性与嵌入式系统得实时性要求之间的矛盾,使得以LinuxKVM、Xen等嵌入式虚拟化平台得到了迅速发展。

虚拟化平台在硬件和操作系统之间引入了一个新的抽象层次,称为虚拟机监控器(VirtualMachineMonitor,简称VMM),由它接管所有的硬件,并管理运行其上的所有虚拟机(VirtualMachine,简称VM),而每个虚拟机中可以运行各自的操作系统。

虚拟化的优点在于实现了资源的重用,使得一个物理平台上面可以同时运行多个不同的操作系统。通过利用系统虚拟化技术,可以在嵌入式设备中同时运行实时操作系统和通用操作系统,分别发挥各自的优势——实时操作系统处理实时任务,通用操作系统提供丰富的应用程序,它们彼此分工协作,发挥各自的优势,同时满足各种不同的需求。

但与此同时,虚拟化平台技术也引入了新问题。不少嵌入式系统对实时性能都有比较高的要求,而虚拟机与虚拟机监控器间的切换导致处理器操作模式的切换和上下文的切换,会增加系统的响应时间,从而增加实时系统的时间不确定性,影响了实时系统的性能。虚拟机对运行于其上的应用程序的隔离又增加了虚拟机监控器的精确调度的难度,目前的虚拟机监控器也只能基于虚拟机的优先级或者时间片分配而进行粗粒度的调度。此外,现存的虚拟化平台技术主要基于X86等通用计算机平台,对ARM、MIPS等嵌入式处理器支持不够,在功能性和稳定性上都有所缺失。

综上所述,虚拟化可以解决嵌入式系统目前面临的不少问题,带来很多方便,但由于现存虚拟化解决方案(如KVM和XEN)在设计之初并没有考虑嵌入式系统的特殊需求,从导致功能性、实时性、稳定性都有所缺失。

虚拟化(是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等以抽象、转换后呈现出来,打破实体结构间不可分割的障碍,使用户可以比原本组态更好的方式去应用上述资源,且不受现有的架设方式、地域或物理组态所限制。

目前X86平台是现有绝大多数服务器虚拟化技术所选用的平台。目前基于X86平台的服务器虚拟化技术主要有5大类,分别为硬件仿真、全虚拟化、半虚拟化、硬件辅助虚拟化以及操作系统级虚拟化,虚拟化行业在现代信息科技底层广泛运用。

虚拟化的核心优质在于提升IT资源使用效率,降低成本。

通过虚拟化技术将现有服务器物力资源转化成一个拥有巨大计算及存储资源池,应用系统运行时可以动态调用这个“池”中的所有资源。

根据评测数据显示使用虚拟化技术可以使服务器资源的利用率从5%~10%提高到60%~80%,提高资源利用效率节约成本。

云计算产业推动服务器虚拟化市场快速发展

服务器虚拟化领域可分为传统的服务器虚拟化和与云计算相关的服务器虚拟化两大板块。过去几年,传统服务器虚拟化市场增长缓慢,一方面由于虚拟化在拥有较高IT预算的企业机构中的采用保持稳定;另一方面企业正在增加使用“物理化”手段,即在不使用虚拟化软件的情况下运行服务器。

近年来得益于企业云计算业务的加速布局,与云计算相关的服务器虚拟化领域得到了快速发展。

据CCW数据显示,2016年中国服务器虚拟化市场规模大约为21.9亿元,结合国内云计算市场规模速度预测,2018年中国服务器虚拟化市场规模为37.5亿元,同比增长32.2%,2019年服务器虚拟化市场规模达到48.0亿元左右,同比增长28.1%。

Vmware霸主地位难以撼动

从2018年中国服务器虚拟化市场份额来看,VMware其霸主的地位依旧无法动摇,旗下服务器虚拟化产品vSphere是市场上最先进的虚拟化管理程序,具有许多独特的功能和特性。

据CCW的数据显示,2018年VMware占据中国服务器虚拟化市场份额的40.9%,紧随其后的是新华三,占据19.4%市场份额,华为和微软位列第三和第四,市占率分别为16.8%和8.9%。

以上就是关于主流服务器虚拟化技术的解答,如果对你有帮助,不妨关注本站,本站将为你整理更多内容。