【现学现忘Docker理论】— 7.虚拟化技术分类(二)

【现学现忘Docker理论】— 7.虚拟化技术分类(二),第1张

在虚拟化环境下,物理服务器的CPU、内存、硬盘和网卡等硬件资源被虚拟化并受Hypervisor的调度,多个 *** 作系统在Hypervisor的协调下可以共享这些虚拟化后的硬件资源,同时每个 *** 作系统又可以保存彼此的独立性。

根据Hypervisor所处层次的不同和Guest OS对硬件资源的不同使用方式,Hypervisor虚拟化被分为两种类型:裸金属架构(“裸机”虚拟化)和寄居架构(基于 *** 作系统的虚拟化,宿主型虚拟化)。

Hypervisor虚拟化层安装在传统的 *** 作系统中,虚拟化软件以应用程序进程形式运行在Windows和Linux等主机 *** 作系统中。典型的宿主型Hypervisor有VMware Workstation和VirtualBox。在Hypervisor虚拟化环境下,部署在物理服务器上的系统称为Host OS,而部署在Hypervisor上的虚拟机 *** 作系统称为Guest OS。

Hypervisor的安装:在物理服务器上安装Linux *** 作系统然后在 *** 作系统上安装Hypervisor,然后部署虚拟机(Guest OS)后通过Hypervisor来共享资源。

寄居架构如下图:

宿主 *** 作系统自身上运行这一些应用程序,然后还有虚拟机程序,这就是我们之前认识的传统虚拟机。

Hypervisor虚拟化层,在虚拟化环境中无须完整的Host OS,直接将Hypervisor部署在裸机上,并将裸机服务器的硬件资源虚拟化,也可以将Hypervisor理解为仅对硬件资源进行虚拟和调度的薄 *** 作系统,其并不提供常规Host OS的功能。常见的裸金属架构有IBM的PowerVM、VMware的ESX Sevrer、Citrix的XenServer、Microsoft的Hyper-V以及开源的KVM等虚拟化软件。

裸金属架构虚拟化图如下:

1 什么是服务器虚拟化服务器虚拟化是指在单个物理服务器上运行多个相互独立的 *** 作系统的一种技术。通过虚拟化软件将单个物理服务器划分为多个虚拟机。每个虚拟机都能共享物理主机上的物理资源,包括CPU、内存、磁盘和网络资源等。作为一种主流应用技术,越来越多的组织机构都已经或者正在实施服务器虚拟化,它可以帮助节省投资、增加资源利用率,对现有基础设施无需重大变更就可以提高IT响应速度和灵活性。
2 服务器虚拟化技术的优势
① 提高服务器利用率:大部分服务器的利用率仅为全部性能的三分之一甚至更少,通过将多个工作负荷整合至一台服务器上,可以实现更高的资源利用率。
② 提高业务持续性:业务持续性对系统可靠性提出了更高要求,服务器虚拟化技术强大的容错、灾备、快速恢复特性,可以提高系统可靠性,从而维持业务持续性。
③ 动态资源调配:服务器虚拟化可以实时自动平衡工作负载。通过实时迁移功能,资源调配工具可以将运行中的虚拟机在线迁移至拥有更多资源的其他服务器上,或者灵活调整其他虚拟机,从而匹配工作负载,实现业务和资源最优化。
3 利用服务器虚拟化的几种情况
31 优化已退出业务应用但仍需保持在线的系统
随着业务不断发展,一些系统已不再适用,新系统取而代之,一般的做法是数据迁移至新系统,旧系统下线,但也有一些情况并不迁移数据,旧系统维持在线作为历史查阅之用。对于这样的情况,由于对服务能力要求的大幅降低,继续保持旧系统运行会造成一定的资源浪费,此时便可以将其虚拟化,整合多个业务到一个物理服务器中集中运行,从而降低综合运维成本。
32 迁移运维困难的旧系统
一个应用系统也许会持续使用多年,硬件设备随时间推移逐渐老化,由于厂商服务及备件问题,后期运维成本逐渐增大以致无法维持,而随着硬件技术的发展和 *** 作系统更新,新的服务器却可能因兼容性而无法使用,为解决这一矛盾,利用虚拟化软件的兼容性,将新服务器虚拟化之后,模拟原运行环境,部署旧系统和应用,使之得以延续生命周期。
33 利用计算能力强的新硬件,整合多个旧系统
每个系统对服务器性能都有一定要求,而随着技术的发展,新硬件的计算能力大幅提高,远超出旧系统的需求,如果在更新服务器时,同时利用虚拟化将多个旧系统装入一个物理服务器中,通过合理调配虚拟机资源,可以保证在节省空间、节约电力,节约投资的同时又满足多系统并存对资源的需求。
34 软件开发和测试环境
通过服务器虚拟化,可以以较低的成本,快速创建和复制特定类型的软硬件环境,用于软件开发和测试。同时虚拟机的快照和快速恢复特性也非常适合于此类环境的工作要求。
35 提高服务的安全性
通过服务器虚拟化,将相同类型的一组服务,根据不同的服务对象或业务需要,部署同一物理主机的在不同的虚拟机中,使服务之间相互隔离,互不影响,从而提高服务的可靠性和安全性。
4 服务器虚拟化的常用软件
41 Microsoft Hpyer-V
Hyper-V是微软伴随Windows Server 2008推出的服务器虚拟化解决方案,采用了全新的64位微内核管理程序架构,让Hyper-V在性能和安全性上都有较大提高。利用新的虚拟服务程序/虚拟服务客户端(VSP/VSC)架构使磁盘、网络等核心资源的访问利用得到改善。Hyper-V支持不同类型的(例如Windows、Linux及其他 *** 作系统)32位和64位 *** 作系统,具有非常好的硬件兼容性,但Hyper-V要求处理器必须支持AMD-V或者Intel VT技术。
42 VMware ESX server
ESX server是当前服务器市场上最成熟,最流行的虚拟服务器产品。是适用于任何系统环境的高效灵活的企业级虚拟主机平台,对比其他虚拟软件产品,ESX的最大优点是可以极大减少宿主系统所占用资源,其内核直接运行在硬件之上,系统稳定性和性能都有很大的提高。其大型机级别的架构提供了空前的性能和资源控制特性,适合各种要求严格的应用程序的需要。同样VMware ESX Server需要处理器支持硬件辅助虚拟化技术才可以更加有效地运行。
43 Citrix XenServer
XenServer作为一种开放的、功能强大的服务器虚拟化系统,能够为任何服务器和数据中心虚拟化项目提供所有关键特性,强大的可扩展性支持任何规模的企业,满足Windows和Linux系列的 *** 作系统以及复杂的存储需求。XenServer基于开源的Xen系统管理程序,直接运行在服务器硬件上,作为准虚拟化技术的代表,其响应能力基本接近未经虚拟化处理的物理服务器,可以以较低的部署成本实现最佳的性能和可扩展性。
5 服务器虚拟化之后的常见问题
51 单点故障风险
虚拟化最大的优势就是服务器整合,节省运营成本,但这对用户来说也意味着要将所有的鸡蛋放在一个篮子里,增加了风险。过去在多台物理服务器上运行不同的工作负载,当其中一台服务器宕机时,不至于所有工作负载都停止运行。而在虚拟化环境里,一旦物理服务器故障宕机,就意味着所有该服务器承载的工作负载(虚拟机)都会陷入瘫痪,若不能及时恢复将给企业带来灾难性的后果。因此应设立额外的冗余物理服务器,当某一物理服务器出现故障,通过虚拟化软件的在线迁移工具将其对应的工作负载及时动态迁移到别的物理服务器上,虽然增加了虚拟化成本,但可以有效避免全部虚拟服务器崩溃的风险。
52 潜在安全风险
和很多技术方案一样,服务器虚拟化由于系统架构固有特点决定了在安全方面存在一定的潜在风险。当不同的工作负载在虚拟机上运行的时候,作为宿主的物理主机的安全变得更为重要。如果一个未经授权的用户获取了宿主 *** 作系统的访问权限,便有可能复制敏感数据或破获整个虚拟机系统。同时也可以关闭虚拟机或进行宿主机层面的重新配置,从而造成严重的服务中断。对于访问者而言虚拟服务器和物理服务器没有区别,同样面临被人恶意攻击的风险,一旦一台有漏洞的虚拟机被攻陷,安全威胁就可以透过网络扩散到其它虚拟机,从未威胁整个虚拟机管理系统。物理服务器作为虚拟服务器的根本,保护其稳定安全,是安全防范工作的重中之重。虚拟机环境下,病毒和恶意软件的影响很可能是同一台物理服务器上的所有虚拟工作负载,而不仅仅是一个单独的虚拟机,会给系统资源造成相当大的负荷。另外关于病毒防护,一般做法是将每个独立虚拟机单独安装病毒防护软件,这样将导致总体消耗的系统资源非常巨大,如果能采用专门应用于虚拟化平台的安全防护软件效果可能会更好。
53 I/O瓶颈和数据备份
相对于计算能力,存储性能增长的速度明显要慢得多。对于虚拟化而言,I/O瓶颈和缓慢的存储性能成为一大难题。高密度的虚拟化产生大量I/O流导致物理硬盘的频繁 *** 作,极大增加了磁盘工作负载,并且缓存对性能的提升效果也越来越有限。服务器虚拟化环境下,如果仍然使用传统备份方法来保护数据将是得不偿失的,在一台物理服务器上同时进行多个虚拟机数据备份时,备份任务将对服务器硬件资源进行激烈争夺,同时虚拟机的工作负载迁移工具会使得备份问题变得更加复杂。因此每台虚拟服务器,都必需实施相应的备份策略,对配置文件、虚拟机文件及其中的重要数据都要进行备份。预留一定的服务器资源用于备份任务,安排合理完善的备份计划,合理利用虚拟机快照工具有助于改善这一状况。
6 结语
近几年,服务器虚拟化已被广大用户所接受,它将固定不变的硬件设备转化为可以动态管理的“资源池”,从而提高资源的利用率,简化管理,提高系统可用性,节约投资,降低综合运维成本,增强IT对业务的变化的适应力,所有这些对用户都是真实的利益所在。任何一种技术都会有优势和劣势,但是随着技术的不断进步,相信虚拟化应用过程中出现的各种不足和问题都会得以改进和解决。
参考文献:
[1]郝勇、许秀文、杨铭,浅谈服务器虚拟化[J]中国管理信息化,2011(04)
[2]韩寓,服务器虚拟化技术研究与分析[J]电脑知识与技术,2011(07)

虚拟化技术简介
什么是虚拟化
虚拟化(Virtualization)技术最早出现在 20 世纪 60 年代的 IBM 大型机系统,在70年代的 System 370 系列中逐渐流行起来,这些机器通过一种叫虚拟机监控器(Virtual Machine Monitor,VMM)的程序在物理硬件之上生成许多可以运行独立 *** 作系统软件的虚拟机(Virtual Machine)实例。随着近年多核系统、集群、网格甚至云计算的广泛部署,虚拟化技术在商业应用上的优势日益体现,不仅降低了 IT 成本,而且还增强了系统安全性和可靠性,虚拟化的概念也逐渐深入到人们日常的工作与生活中。
虚拟化是一个广义的术语,对于不同的人来说可能意味着不同的东西,这要取决他们所处的环境。在计算机科学领域中,虚拟化代表着对计算资源的抽象,而不仅仅局限于虚拟机的概念。例如对物理内存的抽象,产生了虚拟内存技术,使得应用程序认为其自身拥有连续可用的地址空间(Address Space),而实际上,应用程序的代码和数据可能是被分隔成多个碎片页或段),甚至被交换到磁盘、闪存等外部存储器上,即使物理内存不足,应用程序也能顺利执行。
虚拟化技术的分类
虚拟化技术主要分为以下几个大类 [1]:
平台虚拟化(Platform Virtualization),针对计算机和 *** 作系统的虚拟化。
资源虚拟化(Resource Virtualization),针对特定的系统资源的虚拟化,比如内存、存储、网络资源等。
应用程序虚拟化(Application Virtualization),包括仿真、模拟、解释技术等。
我们通常所说的虚拟化主要是指平台虚拟化技术,通过使用控制程序(Control Program,也被称为 Virtual Machine Monitor 或 Hypervisor),隐藏特定计算平台的实际物理特性,为用户提供抽象的、统一的、模拟的计算环境(称为虚拟机)。虚拟机中运行的 *** 作系统被称为客户机 *** 作系统(Guest OS),运行虚拟机监控器的 *** 作系统被称为主机 *** 作系统(Host OS),当然某些虚拟机监控器可以脱离 *** 作系统直接运行在硬件之上(如 VMWARE 的 ESX 产品)。运行虚拟机的真实系统我们称之为主机系统。
平台虚拟化技术又可以细分为如下几个子类:
全虚拟化(Full Virtualization)
全虚拟化是指虚拟机模拟了完整的底层硬件,包括处理器、物理内存、时钟、外设等,使得为原始硬件设计的 *** 作系统或其它系统软件完全不做任何修改就可以在虚拟机中运行。 *** 作系统与真实硬件之间的交互可以看成是通过一个预先规定的硬件接口进行的。全虚拟化 VMM 以完整模拟硬件的方式提供全部接口(同时还必须模拟特权指令的执行过程)。举例而言,x86 体系结构中,对于 *** 作系统切换进程页表的 *** 作,真实硬件通过提供一个特权 CR3 寄存器来实现该接口, *** 作系统只需执行 "mov pgtable,%%cr3" 汇编指令即可。全虚拟化 VMM 必须完整地模拟该接口执行的全过程。如果硬件不提供虚拟化的特殊支持,那么这个模拟过程将会十分复杂:一般而言,VMM 必须运行在最高优先级来完全控制主机系统,而 Guest OS 需要降级运行,从而不能执行特权 *** 作。当 Guest OS 执行前面的特权汇编指令时,主机系统产生异常(General Protection Exception),执行控制权重新从 Guest OS 转到 VMM 手中。VMM 事先分配一个变量作为影子 CR3 寄存器给 Guest OS,将 pgtable 代表的客户机物理地址(Guest Physical Address)填入影子 CR3 寄存器,然后 VMM 还需要 pgtable 翻译成主机物理地址(Host Physical Address)并填入物理 CR3 寄存器,最后返回到 Guest OS中。随后 VMM 还将处理复杂的 Guest OS 缺页异常(Page Fault)。比较著名的全虚拟化 VMM 有 Microsoft Virtual PC、VMware Workstation、Sun Virtual Box、Parallels Desktop for Mac 和 QEMU。
超虚拟化(Paravirtualization)
这是一种修改 Guest OS 部分访问特权状态的代码以便直接与 VMM 交互的技术。在超虚拟化虚拟机中,部分硬件接口以软件的形式提供给客户机 *** 作系统,这可以通过 Hypercall(VMM 提供给 Guest OS 的直接调用,与系统调用类似)的方式来提供。例如,Guest OS 把切换页表的代码修改为调用 Hypercall 来直接完成修改影子 CR3 寄存器和翻译地址的工作。由于不需要产生额外的异常和模拟部分硬件执行流程,超虚拟化可以大幅度提高性能,比较著名的 VMM 有 Denali、Xen。
硬件辅助虚拟化(Hardware-Assisted Virtualization)
硬件辅助虚拟化是指借助硬件(主要是主机处理器)的支持来实现高效的全虚拟化。例如有了 Intel-VT 技术的支持,Guest OS 和 VMM 的执行环境自动地完全隔离开来,Guest OS 有自己的“全套寄存器”,可以直接运行在最高级别。因此在上面的例子中,Guest OS 能够执行修改页表的汇编指令。Intel-VT 和 AMD-V 是目前 x86 体系结构上可用的两种硬件辅助虚拟化技术。
部分虚拟化(Partial Virtualization)
VMM 只模拟部分底层硬件,因此客户机 *** 作系统不做修改是无法在虚拟机中运行的,其它程序可能也需要进行修改。在历史上,部分虚拟化是通往全虚拟化道路上的重要里程碑,最早出现在第一代的分时系统 CTSS 和 IBM M44/44X 实验性的分页系统中。
*** 作系统级虚拟化(Operating System Level Virtualization)
在传统 *** 作系统中,所有用户的进程本质上是在同一个 *** 作系统的实例中运行,因此内核或应用程序的缺陷可能影响到其它进程。 *** 作系统级虚拟化是一种在服务器 *** 作系统中使用的轻量级的虚拟化技术,内核通过创建多个虚拟的 *** 作系统实例(内核和库)来隔离不同的进程,不同实例中的进程完全不了解对方的存在。比较著名的有 Solaris Container [2],FreeBSD Jail 和 OpenVZ 等。
这种分类并不是绝对的,一个优秀的虚拟化软件往往融合了多项技术。例如 VMware Workstation 是一个著名的全虚拟化的 VMM,但是它使用了一种被称为动态二进制翻译的技术把对特权状态的访问转换成对影子状态的 *** 作,从而避免了低效的 Trap-And-Emulate 的处理方式,这与超虚拟化相似,只不过超虚拟化是静态地修改程序代码。对于超虚拟化而言,如果能利用硬件特性,那么虚拟机的管理将会大大简化,同时还能保持较高的性能。
本文讨论的虚拟化技术只针对 x86 平台(含 AMD 64),并假定虚拟机中运行的 Guest OS 也是为 x86 平台设计的。
--------------------------------------------------------------------------------
回页首
纯软件虚拟化技术的原理及面临的挑战
虚拟机监控器应当具备的条件
1974 年,Popek 和 Goldberg 在《Formal Requirements for Virtualizable Third Generation Architectures》[3] 论文中提出了一组称为虚拟化准则的充分条件,满足这些条件的控制程序可以被称为虚拟机监控器(Virtual Machine Monitor,简称 VMM):
资源控制。控制程序必须能够管理所有的系统资源。
等价性。在控制程序管理下运行的程序(包括 *** 作系统),除时序和资源可用性之外的行为应该与没有控制程序时的完全一致,且预先编写的特权指令可以自由地执行。
效率性。绝大多数的客户机指令应该由主机硬件直接执行而无需控制程序的参与。
尽管基于简化的假设,但上述条件仍为评判一个计算机体系结构是否能够有效支持虚拟化提供了一个便利方法,也为设计可虚拟化计算机架构给出了指导原则。
原理简介
我们知道,传统的 x86 体系结构缺乏必要的硬件支持,任何虚拟机监控器都无法直接满足上述条件,所以不是一个可虚拟化架构,但是我们可以使用纯软件实现的方式构造虚拟机监控器。
虚拟机是对真实计算环境的抽象和模拟,VMM 需要为每个虚拟机分配一套数据结构来管理它们状态,包括虚拟处理器的全套寄存器,物理内存的使用情况,虚拟设备的状态等等。VMM 调度虚拟机时,将其部分状态恢复到主机系统中。并非所有的状态都需要恢复,例如主机 CR3 寄存器中存放的是 VMM 设置的页表物理地址,而不是 Guest OS 设置的值。主机处理器直接运行 Guest OS 的机器指令,由于 Guest OS运行在低特权级别,当访问主机系统的特权状态(如写 GDT 寄存器)时,权限不足导致主机处理器产生异常,将运行权自动交还给 VMM。此外,外部中断的到来也会导致 VMM 的运行。VMM 可能需要先将 该虚拟机的当前状态写回到状态数据结构中,分析虚拟机被挂起的原因,然后代表 Guest OS 执行相应的特权 *** 作。最简单的情况,如Guest OS 对 CR3 寄存器的修改,只需要更新虚拟机的状态数据结构即可。一般而言,大部分情况下,VMM 需要经过复杂的流程才能完成原本简单的 *** 作。最后 VMM 将运行权还给 Guest OS,Guest OS 从上次被中断的地方继续执行,或处理 VMM “塞”入的虚拟中断和异常。这种经典的虚拟机运行方式被称为 Trap-And-Emulate,虚拟机对于 Guest OS 完全透明,Guest OS 不需要任何修改,但是 VMM 的设计会比较复杂,系统整体性能受到明显的损害。
面临的挑战
在设计纯软件 VMM 的时候,需要解决如下挑战 [4]:
确保 VMM 控制所有的系统资源。
x86 处理器有 4 个特权级别,Ring 0 ~ Ring 3,只有运行在 Ring 0 ~ 2 级时,处理器才可以访问特权资源或执行特权指令;运行在 Ring 0 级时,处理器可以访问所有的特权状态。x86 平台上的 *** 作系统一般只使用 Ring 0 和 Ring 3 这两个级别, *** 作系统运行在 Ring 0 级,用户进程运行在 Ring 3 级。为了满足上面的第一个充分条件-资源控制,VMM 自己必须运行在 Ring 0 级,同时为了避免 Guest OS 控制系统资源,Guest OS 不得不降低自身的运行级别,运行在 Ring 1 或 Ring 3 级(Ring 2 不使用)。
特权级压缩(Ring Compression)。
VMM 使用分页或段限制的方式保护物理内存的访问,但是 64 位模式下段限制不起作用,而分页又不区分 Ring 0, 1, 2。为了统一和简化 VMM的设计,Guest OS 只能和 Guest 进程一样运行在 Ring 3 级。VMM 必须监视 Guest OS 对 GDT、IDT 等特权资源的设置,防止 Guest OS 运行在 Ring 0级,同时又要保护降级后的 Guest OS 不受 Guest 进程的主动攻击或无意破坏。
特权级别名(Ring Alias)。
特权级别名是指 Guest OS 在虚拟机中运行的级别并不是它所期望的。VMM 必须保证 Guest OS 不能获知正在虚拟机中运行这一事实,否则可能打破等价性条件。例如,x86 处理器的特权级别存放在 CS 代码段寄存器内,Guest OS 可以使用非特权 push 指令将 CS 寄存器压栈,然后 pop 出来检查该值。又如,Guest OS 在低特权级别时读取特权寄存器 GDT、LDT、IDT 和 TR,并不发生异常,从而可能发现这些值与自己期望的不一样。为了解决这个挑战,VMM 可以使用动态二进制翻译的技术,例如预先把 “push %%cs” 指令替换,在栈上存放一个影子 CS 寄存器值;又如,可以把读取 GDT 寄存器的 *** 作“sgdt dest”改为“movl fake_gdt, dest”。
地址空间压缩(Address Space Compression)。
地址空间压缩是指 VMM 必须在Guest OS 的地址空间中保留一部分供其使用。例如,中断描述表寄存器(IDT Register)中存放的是中断描述表的线性地址,如果 Guest OS 运行过程中来了外部中断或触发处理器异常,必须保证运行权马上转移到 VMM 中,因此 VMM 需要将 Guest OS 的一部分线性地址空间映射成自己的中断描述表的主机物理地址。VMM 可以完全运行在 Guest OS 的地址空间中,也可以拥有独立的地址空间,后者的话,VMM 只占用 Guest OS 很少的地址空间,用于存放中断描述表和全局描述符表(GDT)等重要的特权状态。无论如何哪种情况,VMM 应该防止 Guest OS 直接读取和修改这部分地址空间。
处理 Guest OS 的缺页异常。
内存是一种非常重要的系统资源,VMM 必须全权管理,Guest OS 理解的物理地址只是客户机物理地址(Guest Physical Address),并不是最终的主机物理地址(Host Physical Address)。当 Guest OS 发生缺页异常时,VMM 需要知道缺页异常的原因,是 Guest 进程试图访问没有权限的地址,或是客户机线性地址(Guest Linear Address)尚未翻译成 Guest Physical Address,还是客户机物理地址尚未翻译成主机物理地址。一种可行的解决方法是 VMM 为 Guest OS 的每个进程的页表构造一个影子页表,维护 Guest Linear Address 到 Host Physical Address 的映射,主机 CR3 寄存器存放这个影子页表的物理内存地址。VMM 同时维护一个 Guest OS 全局的 Guest Physical Address 到 Host Physical Address 的映射表。发生缺页异常的地址总是Guest Linear Address,VMM 先去 Guest OS 中的页表检查原因,如果页表项已经建立,即对应的Guest Physical Address 存在,说明尚未建立到 Host Physical Address的映射,那么 VMM 分配一页物理内存,将影子页表和映射表更新;否则,VMM 返回到 Guest OS,由 Guest OS 自己处理该异常。
处理 Guest OS 中的系统调用。
系统调用是 *** 作系统提供给用户的服务例程,使用非常频繁。最新的 *** 作系统一般使用 SYSENTER/SYSEXIT 指令对来实现快速系统调用。SYSENTER 指令通过IA32_SYSENTER_CS,IA32_SYSENTER_EIP 和 IA32_SYSENTER_ESP 这 3 个 MSR(Model Specific Register)寄存器直接转到 Ring 0级;而 SYSEXIT 指令不在 Ring 0 级执行的话将触发异常。因此,如果 VMM 只能采取 Trap-And-Emulate 的方式处理这 2 条指令的话,整体性能将会受到极大损害。
转发虚拟的中断和异常。
所有的外部中断和主机处理器的异常直接由 VMM 接管,VMM 构造必需的虚拟中断和异常,然后转发给 Guest OS。VMM 需要模拟硬件和 *** 作系统对中断和异常的完整处理流程,例如 VMM 先要在 Guest OS 当前的内核栈上压入一些信息,然后找到 Guest OS 相应处理例程的地址,并跳转过去。VMM 必须对不同的 Guest OS 的内部工作流程比较清楚,这增加了 VMM 的实现难度。同时,Guest OS 可能频繁地屏蔽中断和启用中断,这两个 *** 作访问特权寄存器 EFLAGS,必须由 VMM 模拟完成,性能因此会受到损害。 Guest OS 重新启用中断时,VMM 需要及时地获知这一情况,并将积累的虚拟中断转发。
Guest OS 频繁访问特权资源。
Guest OS对特权资源的每次访问都会触发处理器异常,然后由 VMM 模拟执行,如果访问过于频繁,则系统整体性能将会受到极大损害。比如对中断的屏蔽和启用,cli(Clear Interrupts)指令在 Pentium 4 处理器上需要花费 60 个时钟周期(cycle)。又如,处理器本地高级可编程中断处理器(Local APIC)上有一个 *** 作系统可修改的任务优先级寄存器(Task-Priority Register),IO-APIC 将外部中断转发到 TPR 值最低的处理器上(期望该处理器正在执行低优先级的线程),从而优化中断的处理。TPR 是一个特权寄存器,某些 *** 作系统会频繁设置(Linux Kernel只在初始化阶段为每个处理器的 TPR 设置相同的值)。
软件 VMM 所遇到的以上挑战从本质上来说是因为 Guest OS 无法运行在它所期望的最高特权级,传统的 Trap-And-Emulate 处理方式虽然以透明的方式基本解决上述挑战,但是带来极大的设计复杂性和性能下降。当前比较先进的虚拟化软件结合使用二进制翻译和超虚拟化的技术,核心思想是动态或静态地改变 Guest OS 对特权状态访问的 *** 作,尽量减少产生不必要的硬件异常,同时简化 VMM 的设计。
--------------------------------------------------------------------------------
回页首
Intel-VT 硬件辅助虚拟化技术详解
2005 年冬天,英特尔带来了业内首个面向台式机的硬件辅助虚拟化技术 Intel-VT 及相关的处理器产品,从而拉开了 IA 架构虚拟化技术应用的新时代大幕。支持虚拟化技术的处理器带有特别优化过的指令集来自动控制虚拟化过程,从而极大简化 VMM 的设计,VMM 的性能也能得到很大提高。其中 IA-32 处理器的虚拟化技术称为 VT-x,安腾处理器的虚拟化技术称为 VT-i。AMD 公司也推出了自己的虚拟化解决方案,称为 AMD-V。尽管 Intel-VT 和 AMD-V 并不完全相同,但是基本思想和数据结构却是相似的,本文只讨论 Intel-VT-x 技术。
新增的两种 *** 作模式
VT-x 为 IA 32 处理器增加了两种 *** 作模式:VMX root operation 和 VMX non-root operation。VMM 自己运行在 VMX root operation 模式,VMX non-root operation 模式则由 Guest OS 使用。两种 *** 作模式都支持 Ring 0 ~ Ring 3 这 4 个特权级,因此 VMM 和 Guest OS 都可以自由选择它们所期望的运行级别。
这两种 *** 作模式可以互相转换。运行在 VMX root operation 模式下的 VMM 通过显式调用 VMLAUNCH 或 VMRESUME 指令切换到 VMX non-root operation 模式,硬件自动加载 Guest OS的上下文,于是 Guest OS 获得运行,这种转换称为 VM entry。Guest OS 运行过程中遇到需要 VMM 处理的事件,例如外部中断或缺页异常,或者主动调用 VMCALL 指令调用 VMM 的服务的时候(与系统调用类似),硬件自动挂起 Guest OS,切换到 VMX root operation 模式,恢复 VMM 的运行,这种转换称为 VM exit。VMX root operation 模式下软件的行为与在没有 VT-x 技术的处理器上的行为基本一致;而VMX non-root operation 模式则有很大不同,最主要的区别是此时运行某些指令或遇到某些事件时,发生 VM exit。
虚拟机控制块
VMM 和 Guest OS 共享底层的处理器资源,因此硬件需要一个物理内存区域来自动保存或恢复彼此执行的上下文。这个区域称为虚拟机控制块(VMCS),包括客户机状态区(Guest State Area),主机状态区(Host State Area)和执行控制区。VM entry 时,硬件自动从客户机状态区加载 Guest OS 的上下文。并不需要保存 VMM 的上下文,原因与中断处理程序类似,因为 VMM 如果开始运行,就不会受到 Guest OS的干扰,只有 VMM 将工作彻底处理完毕才可能自行切换到 Guest OS。而 VMM 的下次运行必然是处理一个新的事件,因此每次 VMM entry 时, VMM 都从一个通用事件处理函数开始执行;VM exit 时,硬件自动将 Guest OS 的上下文保存在客户机状态区,从主机状态区中加载 VMM 的通用事件处理函数的地址,VMM 开始执行。而执行控制区存放的则是可以 *** 控 VM entry 和 exit 的标志位,例如标记哪些事件可以导致 VM exit,VM entry 时准备自动给 Guest OS “塞”入哪种中断等等。
客户机状态区和主机状态区都应该包含部分物理寄存器的信息,例如控制寄存器 CR0,CR3,CR4;ESP 和 EIP(如果处理器支持 64 位扩展,则为 RSP,RIP);CS,SS,DS,ES,FS,GS 等段寄存器及其描述项;TR,GDTR,IDTR 寄存器;IA32_SYSENTER_CS,IA32_SYSENTER_ESP,IA32_SYSENTER_EIP 和 IA32_PERF_GLOBAL_CTRL 等 MSR 寄存器。客户机状态区并不包括通用寄存器的内容,VMM 自行决定是否在 VM exit 的时候保存它们,从而提高了系统性能。客户机状态区还包括非物理寄存器的内容,比如一个 32 位的 Active State 值表明 Guest OS 执行时处理器所处的活跃状态,如果正常执行指令就是处于 Active 状态,如果触发了三重故障(Triple Fault)或其它严重错误就处于 Shutdown 状态,等等。
前文已经提过,执行控制区用于存放可以 *** 控 VM entry 和 VM exit 的标志位,包括:
External-interrupt exiting:用于设置是否外部中断可以触发 VM exit,而不论 Guest OS 是否屏蔽了中断。
Interrupt-window exiting:如果设置,当 Guest OS 解除中断屏蔽时,触发 VM exit。
Use TPR shadow:通过 CR8 访问 Task Priority Register(TPR)的时候,使用 VMCS 中的影子 TPR,可以避免触发 VM exit。同时执行控制区还有一个 TPR 阈值的设置,只有当 Guest OS 设置的 TR 值小于该阈值时,才触发 VM exit。
CR masks and shadows:每个控制寄存器的每一位都有对应的掩码,控制 Guest OS 是否可以直接写相应的位,或是触发 VM exit。同时 VMCS 中包括影子控制寄存器,Guest OS 读取控制寄存器时,硬件将影子控制寄存器的值返回给 Guest OS。
VMCS 还包括一组位图以提供更好的适应性:
Exception bitmap:选择哪些异常可以触发 VM exit,
I/O bitmap:对哪些 16 位的 I/O 端口的访问触发 VM exit。
MSR bitmaps:与控制寄存器掩码相似,每个 MSR 寄存器都有一组“读”的位图掩码和一组“写”的位图掩码。
每次发生 VM exit时,硬件自动在 VMCS 中存入丰富的信息,方便 VMM 甄别事件的种类和原因。VM entry 时,VMM 可以方便地为 Guest OS 注入事件(中断和异常),因为 VMCS 中存有 Guest OS 的中断描述表(IDT)的地址,因此硬件能够自动地调用 Guest OS 的处理程序。
更详细的信息请参阅 Intel 开发手册 [5]。
解决纯软件虚拟化技术面临的挑战
首先,由于新的 *** 作模式的引入,VMM 和 Guest OS 的执行由硬件自动隔离开来,任何关键的事件都可以将系统控制权自动转移到 VMM,因此 VMM 能够完全控制系统的全部资源。
其次,Guest OS 可以运行在它所期望的最高特权级别,因此特权级压缩和特权级别名的问题迎刃而解,而且 Guest OS 中的系统调用也不会触发 VM exit。
硬件使用物理地址访问虚拟机控制块(VMCS),而 VMCS 保存了 VMM 和 Guest OS 各自的 IDTR 和 CR3 寄存器,因此 VMM 可以拥有独立的地址空间,Guest OS 能够完全控制自己的地址空间,地址空间压缩的问题也不存在了。
中断和异常虚拟化的问题也得到了很好的解决。VMM 只用简单地设置需要转发的虚拟中断或异常,在 VM entry 时,硬件自动调用 Guest OS 的中断和异常处理程序,大大简化 VMM 的设计。同时,Guest OS 对中断的屏蔽及解除可以不触发 VM exit,从而提高了性能。而且 VMM 还可以设置当 Guest OS 解除中断屏蔽时触发 VM exit,因此能够及时地转发积累的虚拟中断和异常。
--------------------------------------------------------------------------------
回页首
未来虚拟化技术的发展
我们可以看到,硬件辅助虚拟化技术必然是未来的方向。Intel-VT目前还处在处理器级虚拟化技术的初级阶段,尚需在如下方面进行发展:
提高 *** 作模式间的转换速度。
两种 *** 作模式间的转换发生之如此频繁,如果不能有效减少其转换速度,即使充分利用硬件特性,虚拟机的整体性能也会大打折扣。早期的支持硬件辅助虚拟化技术的 Pentium 4 处理器需要花费 2409 个时钟周期处理 VM entry,花费 508 个时钟周期处理由缺页异常触发的 VM exit,代价相当高。随着 Intel 技术的不断完善,在新的 Core 架构上,相应时间已经减少到 937 和 446 个时钟周期。未来硬件厂商还需要进一步提高模式的转换速度,并提供更多的硬件特性来减少不必要的转换。
优化翻译后援缓冲器(TLB)的性能。
每次 VM entry 和 VM exit 发生时,由于需要重新加载 CR3 寄存器,因此 TLB(Translation Lookaside Buffer)被完全清空。虚拟化系统中 *** 作模式的转换发生频率相当高,因此系统的整体性能受到明显损害。一种可行的方案是为 VMM 和每个虚拟机分配一个全局唯一 ID,TLB 的每一项附加该 ID 信息来索引线性地址的翻译。
提供内存管理单元(MMU)虚拟化的硬件支持。
即使使用 Intel-VT 技术,VMM 还是得用老办法来处理 Guest OS 中发生的缺页异常以及Guest OS 的客户机物理地址到主机物理地址的翻译,本质原因是 VMM 完全控制主机物理内存,因此 Guest OS 中的线性地址的翻译同时牵涉到 VMM 和 Guest OS 的地址空间,而硬件只能看到其中的一个。Intel 和 AMD 提出了各自的解决方案,分别叫做 EPT(Extended Page Table)和 Nested Paging。这两种技术的基本思想是,无论何时遇到客户机物理地址,硬件自动搜索 VMM 提供的关于该 Guest OS 的一个页表,翻译成主机物理地址,或产生缺页异常来触发 VM exit。
支持高效的 I/O 虚拟化。
I/O 虚拟化需要考虑性能、可用性、可扩展性、可靠性和成本等多种因素。最简单的方式是 VMM为虚拟机模拟一个常见的 I/O 设备,该设备的功能由 VMM 用软件或复用主机 I/O 设备的方法实现。例如 Virtual PC 虚拟机提供的是一种比较古老的 S3 Trio64显卡。这种方式提高了兼容性,并充分利用 Guest OS 自带的设备驱动程序,但是虚拟的 I/O 设备功能有限且性能低下。为了提高性能,VMM 可以直接将主机 I/O 设备分配给虚拟机,这会带来两个主要挑战:1 如果多个虚拟机可以复用同一个设备,VMM 必须保证它们对设备的访问不会互相干扰。2 如果 Guest OS 使用 DMA 的方式访问 I/O 设备,由于 Guest OS 给出的地址并不是主机物理地址,VMM 必须保证在启动 DMA *** 作前将该地址正确转换。Intel 和 AMD 分别提出了各自的解决方案,分别称为 Direct I/O(VT-d)和 IOMMU,希望用硬件的手段解决这些问题,降低 VMM 实现的难度。

虚拟化是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机,它是一个广义的术语,目的是将IT基础设施简单化。虚拟化的对象可以包括服务器、Internet、桌面以及存档空间的虚拟化。自从虚拟化这个概念的提出,其优点被大多数人所熟知,服务器虚拟也变得流行,在过去很长一段时间,世界有一半的服务器都被虚拟化过。它自身存在的一些问题也逐渐袒露在大家面前,例如:服务器虚拟化的过程中颠覆了原有的一些基本结构,使虚拟后的服务器的安全性问题没有办法得到保障,在此基础上访问一些软件可能会产生个人隐私流出的危害,这也将连累被共同虚拟的服务器,而其保存方式也大大增加了信息被盗的几率。由此可见,虚拟化带来的弊端亟需人们解决,根据一项系统的研究表明,大部分的虚拟服务器都比物理服务器更容易被攻击。

如需了解更多,请访问蛙云官网wayuncn

专业领域十余载,倾情奉献

一次沟通,终生陪伴

资源虚拟化
虚拟化有两个方向,一个是将一台主机虚拟化为多台主机,另一个方向是将多台主机虚拟化为一台主机。虚拟化分为了两类,一类是建立在宿主机上的,也就是宿主机是有 *** 作系统的,另一类是宿主机没有 *** 作系统的,我们把前者称为寄居虚拟化,后者称为裸机虚拟化。

寄居虚拟化
寄居虚拟化如图2所示,最底层是物理硬件,物理硬件之上是主机的 *** 作系统, *** 作系统之上是VMM(virtual machine monitor,虚拟机管理层),再往上就是客户的虚拟户了。
裸机虚拟化
裸机虚拟化指的是,直接将VMM安装在硬件设备与物理硬件之间,如图3所示。VMM在这种模式下又叫做Hypervisor,虚拟机有指令要执行时,Hypervisor会接管该指令,模拟相应的 *** 作。
Hypervisor是一种在虚拟环境中的“元” *** 作系统。他们可以访问服务器上包括磁盘和内存在内的所有物理设备。Hypervisor不但协调着这些硬件资源的访问,也同时在各个虚拟机之间施加防护。当服务器启动并执行Hypervisor时,它会加载所有虚拟机客户端的 *** 作系统同时会分配给每一台虚拟机适量的内存,CPU,网络和磁盘。

如果要进行虚拟化,必须要给虚拟机一个假的独立的环境,让他误以为自己处在一个独立的环境当中,于是就需要模拟cpu、内存、硬盘、网络等资源,模拟一个独立完整的硬件环境。

1、内存虚拟化

        内存虚拟化可能是最困难的任务,内存负责管理和分配物理内存,以及保证硬件分页调度和分割的安全使用。由于几个域共享了一个内存,必须要注意保持域的隔离。虚拟必须保证两个特权域能够访问同一个内存范围。每个分页或目录表的更新必须通过验证,以保证这些域只 *** 纵他们自己的表。

2、CPU虚拟化

        CPU虚拟化技术是单CPU模拟多CPU并行,允许一个平台同时运行多个 *** 作系统,并且应用程序都可以在相互独立的空间运行而互不影响。
          CPU虚拟化技术与多任务以及超线程技术是完全不同的。多任务是指在一个 *** 作系统中多个程序同时并行运行,而在CPU虚拟化技术中,则可以同时运行多个 *** 作系统,而且每个 *** 作系统可以运行多个程序,每个 *** 作系统都运行在一个虚拟的CPU或者是虚拟主机上。而超线程技术只是单CPU模拟双CPU来平衡程序运行性能,这两个模拟出来的CPU是不能分离的,只能协同工作。

3、存储虚拟化

        存储虚拟化是将底层存储设备进行抽象化统一管理,向服务器层屏蔽存储设备硬件的特殊性,而只保留其统一的逻辑特性,实时地在后台从一个存储平台向另一个平台迁移,而不对主机造成任何中断或影响。从而实现了存储系统集中、统一而方便的管理。对一个计算机系统来说,整个存储系统中的虚拟存储部分就像计算机系统中的 *** 作系统,对下层管理着各种特殊而具体的设备,而对上层则提供了相对统一的运行环境和资源使用方式。

4、I/O虚拟化

        服务器使用一个输入/输出内存管理单元(input/output memory management unit,IOMMU)将DMA I/O总线连接到主存储器,和传统的内存管理单元一样,它将CPU可见的虚拟地址转换成物理地址,IOMMU会将设备可见的虚拟地址映射到物理地址,输入/输出内存管理单元提供了内存保护功能,隔离和限制设备访问由分区管理设备拥有的资源。I/O设备的虚拟化遵循了与CPU和内存虚拟化类似的思想。

5、服务器虚拟化

        服务器虚拟化就是将服务器物理资源抽象成逻辑资源,让一台服务器变成几台甚至上百台相互隔离的服务器,不在受限于物理上的界限,而是让CPU、内存、磁盘、I/O等硬件变成可以动态管理的“资源池”,从而提高资源的利用率,简化系统管理,实现服务器整合。核心思想:能够通过区分资源优先次序并随时随地能够将服务器资源分配给最需要它们的工作负载来简化管理和提高效率,从而减少为单个工作负载峰值而存储的资源。

6、网络虚拟化

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

资源虚拟化的意义:

1 化整为零,提高基础资源利用率。将基础架构资源池化,打破一个应用一台物理机的藩篱,虚拟化大幅提高了资源利用率。

2通过减少硬件采购率,降低成本,减少能耗。

3提高安全性。将 *** 作系统和应用从服务器硬件隔离开来,病毒和其它安全威胁无法感染其它应用。

4灾难恢复变的容易。可以利用一些富余的基础设施建立灾难恢复点。可快速的将整个虚拟环境迁移别处。

5 业务的连续性和应用的可用性都提高了。通过虚拟化可以降低计划停机时间,并且可以从意外宕机中快速恢复业务。

6利用低成本存储。虚拟化让ISCSI存储和NAS存储得到更好的利用。这些存储为公司提供了除FCSAN之外其它的存储选择。

当一个资源需要池化,它应该符合如下几点:
1、资源的创建和销毁是耗费硬件或者时间资源的。

2、资源重用度高:系统需要频繁使用这个资源。

当池化一种资源时,应该注意如下几点:

1、资源数量上的伸缩度:最大量,最小量,平均量。

2、资源生命周期的控制:什么情况下,创建新资源;什么情况下,销毁该资源。

我理解你说的虚拟化是是指在一台物理计算机上创建多个虚拟的计算机环境,每个虚拟环境可以独立运行 *** 作系统和应用程序。是一种将计算机资源进行抽象化和集中化管理的技术,通过虚拟化可以将物理资源(如CPU、内存、存储、网络等)划分为多个逻辑单元,并且使这些单元在逻辑上与物理资源完全隔离,从而达到更高的资源利用率和更好的资源管理。

虚拟化技术在各个领域中都有广泛应用,其中一些常见的应用包括:

服务器虚拟化:将一台物理服务器划分为多个虚拟服务器,实现资源共享和更高的利用率,可以降低企业的IT成本,提高资源的灵活性和可管理性。

虚拟桌面:将多个虚拟桌面映射到一台物理计算机上,用户通过远程访问可以访问这些虚拟桌面,实现办公和工作的无缝切换,提高工作效率。

虚拟化存储:将存储系统进行虚拟化,将多个存储设备组合成一个逻辑存储池,实现资源的动态分配和管理,提高存储系统的灵活性和可用性。

虚拟化网络:将物理网络资源进行虚拟化,将多个虚拟网络隔离开来,实现不同网络之间的互相访问,提高网络资源的利用率和可管理性。

虚拟化安全:通过虚拟化技术对安全设备进行虚拟化,实现对不同应用程序的隔离和保护,提高网络安全性和可靠性。

虚拟化运维:通过虚拟化技术对IT运维进行虚拟化,实现对IT资源的集中管理和控制,提高IT运维效率和质量。

应用程序虚拟化:应用程序虚拟化可以将应用程序的运行环境虚拟化到用户的终端设备上,实现应用程序的快速部署和更新,提高应用程序的可移植性和兼容性。

除了以上应用,虚拟化技术还被广泛应用于云计算、大数据、物联网等领域,为企业和用户带来了更高效、更安全、更灵活的计算服务和数据管理方案。

虚拟交换技术是将多台交换机设备虚拟成一台交换设备来使用和管理,从而增强设备可靠性、简化网络结构、提供网络稳定性。
根据应用场景
(1) 服务器虚拟化
(2) 网络虚拟化
(3) 存储虚拟化
(4) 桌面虚拟化
(5)应用虚拟化
根据虚拟化层
(1)全虚拟化
(2)半虚拟化
(3 硬件辅助虚拟化
根据计算虚拟化的实现方式
(1)CPU虚拟化
(2)内存虚拟化
(3) IO虚拟化
根据系统
(1) 寄居虚拟化
(2) 裸金属虚拟化
(3) *** 作系统虚拟化
(4)函数库虚拟化。

VMWARE

服务器虚拟化介绍

利用虚拟化基础架构技术,可以不断整合工作负载,从而充分利用服务器并降低运营成本。该基础架构技术不但使系统管理员能够管理更多的服务器,而且在置备新的软件服务和维护现有软件服务时,具有更高的灵活性,响应也更快速。最重要的是,它实现了各种基于 x86 的环境下管理工作的标准化和简化,这包括 Microsoft Windows、Linux、及Solaris x86 等 *** 作系统。

VMware 服务器虚拟化解决方案拓扑图

VMware虚拟架构可以让IT部门达成以下目标:

∙ 达到甚至超过每个CPU,4个负载的整合比率

∙ 更便宜的硬件和运作成本

∙ 在服务器管理方面的重大改进,包含添加,移动,变更,预制和重置

∙ 基础应用将变得更强壮和灾难抵御能力

VMware软件可帮助我方实现:

∙ 减少28%-53%的硬件成本

∙ 减少72%-79%的运作成本

∙ 减少29%-64%的综合成本

建设目标:

∙ 整合空闲服务器和存储资源,为新项目重新部署这些资源

∙ 提升运作效率

∙ 改进服务器的管理灵活性

∙ 通过零宕机维护改善服务等级

∙ 标准化环境和改进安全

∙ 灾难状态下,减少恢复时间

∙ 更少冗余的情况下,确保高可用性

∙ 更有效的适应动态商业的需求

∙ 在技术支持和培训方面降低成本

提高运营效率

部署时间从小时级到分钟级, 服务器重建和应用加载时间从 20-40 hrs到15-30 min, 每年节省10,00 人/小时(30台服务器);

以前硬件维护需要之前的数天/周的变更管理准备和1 - 3小时维护窗口,现在可以进行零宕机硬件维护和升级。

提高服务水平

帮助建立业务和IT资源之间的关系,使IT和业务优先级对应;

将所有服务器作为大的资源统一进行管理,并按需自动进行动态资源调配;

无中断的按需扩容。

旧硬件和 *** 作系统的投资保护

不再担心旧系统的兼容性,维护和升级等一系列问题。

VMware虚拟化具有的主要功能

1、VMware VMotion

通过VMware VMotion可以实现虚拟机的动态迁移, 而服务不中断 。VMware VMotion 是一项由 VMware 独家提供的革命性技术,它可以将正在运行的虚拟机移动到另一台物理服务器上,同时使服务始终保持可用状态,并实现零停机。虽然 VMotion 需要用户手动执行,但是该产品也是 VMware DRS 等产品的基础,这些产品可在预定义的条件下自动移动虚拟机。

VMotion 是 VMware 第一款实现虚拟机分发的产品,它创造了条件,使您可以根据需要移动工作负载,以便维持服务级别和性能目标。现在可以在不安排停机时间、不中断业务运营的情况下执行硬件维护。

2、VMware Storage VMotion

Storage VMotion 对异构存储阵列执行的 *** 作与 VMotion 对物理服务器执行的 *** 作相同。Storage VMotion 可以将虚拟机磁盘文件从一个共享存储位置重新分配到另一个共享存储位置,并具有与 VMotion 相同的优势:零停机、连续的服务可用性和全面的事务完整性。

这些优势适用于在许多情景中管理存储容量和性能。其中包括从一个存储阵列迁移到另一个存储阵列,或将虚拟机磁盘文件移动到位于光纤通道阵列上经过性能优化的 LUN。Storage VMotion

的无中断特性意味着可以更积极地管理和平衡存储容量,以及

减少 I/O 性能问题。

3、VMware分布式资源调度(DRS)

除了 VMotion 和 VMware HA 等支持服务器超长正常工作时间和高可用性的产品之外,VMware 还开发了一些优化工具,用来维护 VMware Infrastructure 的高效率。VMware DRS 就是其中之一。VMware Infrastructure 将符合业界标准的服务器及其附带的网络和存储器聚合到一个共享的计算、网络和存储资源池。DRS 动态地分配和平衡计算容量以保证对资源的最优访问。

它主动监控容量利用率,并以智能化的方式在资源池中自动平衡虚拟机,以达到服务级别要求。DRS 根据定义的业务优先级和不断变化的容量需求在不同的虚拟机间分配可用的计算容量。当某个虚拟机的负载增大时,DRS 会自动将该虚拟机迁移到另一台可用资源较多的物理服务器,从而为它分配更多的容量。反之,当 VMware DRS 检测到资源池使用较少的服务器即可运行工作负载时,它会让它们进入待机模式,从而减少电力消耗。无论是哪种情况,它管理资源分配时都不需要让资源池中的虚拟机停机。

3、

VMware HA

共享存储访问的服务器主机的 CPU、内存和其他资源放在共享池中。VMware HA 产品将虚拟机重启自动化,所以它从位于资源池中的其他服务器主机而不是刚刚停机的主机处获取资源。由于硬件故障而失去一台 VMware ESX 主机并不会演化为一场灾难性事件,而仅仅意味着可用的资源池减少了。在群集中失去一台主机只会使资源减少,而不会失去虚拟机。VMware HA 会检测到故障主机,管理重新分配资源,并在另一台 VMware ESX 主机上重新启动故障主机的虚拟机。VMware HA 易于使用,可以为虚拟机中运行的应用程序提供经济高效的高可用性。

不需要专门的备用硬件,也不需要集成其他软件,就可以将停机时间和 IT 服务中断时间降到最低程度。VMware HA 可以实现 IT 环境的高可用性,而且避免了单一 *** 作系统或特定于应用程序的故障切换解决方案带来的成本和复杂性。

4、VMware Converter

这是一款自动将物理机、其他格式的虚拟机和第三方映像格式转换为 VMware

虚拟

机的工具。VMware 的客户主要使用 VMware Converter 来简化物理服务器环境的虚拟化流程。

VMware虚拟化方案的应用效果

根据以上服务器的虚拟化整合方案,新的虚拟构架能为系统应用提供前所未有的资源利用率,并为所有系统运算和I/O提供资源控制。虚拟构架完美地结合FC SAN存储,实现了最大的投资回报率。通过把物理系统整合到有虚拟构架的数据中心上去,可以体现如下的价值:

● 本次虚拟化整合以后,将目前的约20台服务器减少至4台左右。最终将会大大降

低机房能耗,大大降低运营成本。

● 该方案将极大的提供服务器整合的效率,大幅度简化服务器群管理的复杂性,管理

员只通过同一个虚拟主机管理系统,就可对所有的虚拟主机进行管理,同时虚拟主机管理软件能监控服务器CPU、内存使用情况,对于有服务器不正常工作时也会自动报警。

● 改造以后可以做到应用零停机,虚拟架构中虚拟机可动态在线从一台物理服务器迁

移到另一台物理服务器上,当物理服务器底层出现故障时,所有在线的虚拟机都可以自动迁移到另一台主机,保持应用不中断。这样将可提升系统的运作效率,虚拟化平台的虚拟机都可以进行在线的热迁移,无需停止业务系统应用。如果底层硬件需要更新的时候,只需要在新的服务器上安装虚拟主机底层,然后将虚拟主机加入集群,然后使用虚拟机的VMotion热迁功能,即可完成业务系统的迁移,在此过程中业务系统将不会停止工作。

● 空闲系统资源的整合,目前的业务系统多,又必须使用单独的系统,因此就得依靠

大量的服务器,但是以Web业务为主的系统本身对硬件的要求不是很高,这样就导致服务器资源利用率不高,而在服务器虚拟化整合以后,通过虚拟化的动态资源调配功能,保证服务器利用率的最大化。

● 不再担心旧系统的兼容性,维护和升级等一系列问题。

● 企业采用服务器虚拟化的好处:

● 1 减少服务器的数量,提供一种服务器整合的方法,减少初期硬件采购成本

2 简化服务器的部署、管理和维护工作,降低管理费用

3 提高服务器资源的利用率,提高服务器计算能力

4 通过降低空间、散热以及电力消耗等途径压缩数据中心成本

5 通过动态资源配置提高IT对业务的灵活适应力

6 提高可用性,带来具有透明负载均衡、动态迁移、故障自动隔离、系统自动重构的高可靠服务器应用环境

7 支持异构 *** 作系统的整合,支持老应用的持续运行

8 在不中断用户工作的情况下进行系统更新

9 支持快速转移和复制虚拟服务器,提供一种简单便捷的灾难恢复解决方案

VSphere 5产品介绍

VMware vSphere 5 的新增功能

VMware vSphere 是用于构建云计算基础架构的业界领先的虚拟化平台。它使用户能够自信地运行关键业务应用程序,更快地响应业务需求。

vSphere 加快了现有数据中心向云计算的转变,同时还支持兼容的公共云服务,从而形成了业界唯一的混合云模式的基础。

一 基础架构服务(计算、存储和网络)

1 计算

• vSphere ESXi 聚合 — vSphere 5 在 ESXi 虚拟化管理程序体系结构之上实现聚合。ESXi 是虚拟化管理程序的黄金级标准,它使 vSphere 用户能够利用

更精简的体系结构、更安全的占用空间和简化的修补及设置模型。

• vSphere 自动部署 — 自动部署是针对运行 ESXi 虚拟化管理程序的新 vSphere 主机的新部署和修补模型。数分钟即可部署更多 vSphere 主机,而且

更新也变得空前高效。

• 新的虚拟机格式(版本 8) — vSphere 5 中的新虚拟机格式具有若干新功能,包括支持: – Windows Aero 的 3D 图形

– USB 30 设备

• Apple 产品支持 — vSphere 5 支持将运行 OS X Server 106(Snow Leopard) 的 Apple Xserve 服务器作为客户 *** 作系统。

2 存储

• vSphere 存储 DRS — 通过分组、放置和平衡改进管理并实现更高效的存储资源利用。 • 配置文件驱动的存储 — 根据服务级别确定要用于给定虚拟机的适当存储。这样就简化了选择正确的存储并确保提供该存储的方法。

• vSphere 文件系统 — 通过无中断地升级到该平台的最新集群文件系统版本,从而利用增强的可扩展性和性能。

• vSphere 存储 I/O 控制 — 通过扩展网络文件系统 (NFS) 数据存储区中的限制和共享来改进服务级别协议 (SLA) 的管理和执行。

• vSphere Storage API Program — 利用支持精简配置的阵列集成 API 扩展。使用新的 vSphere 存储 DRS 和配置文件驱动的存储功能时,利用新的Storage Awareness and Discovery API与阵列交互。

3 网络

• vSphere 网络 I/O 控制 — 新的每虚拟机控制允许更精确地强制执行 SLA。

• vSphere Distributed Switch — 通过 NetFlow 来提高虚拟机流量的可见性,并通过 Switched Port Analyzer (SPAN) 和链路层发现协议 (LLDP) 支持来增强

监控和故障排除。

二 应用程序服务(可用性、安全性和可扩展性)

1 可用性

• vSphere High Availability — 新的体系结构可以实现一流的保证、简化的设置和配置以及更强的可扩展性。

• vSphere vMotion — 现在支持通过较高延迟的网络链路进行虚拟机迁移。

2 安全性

• ESXi 防火墙 — 新的面向服务且无状态的防火墙引擎可以按IP 地址或子网限制对特定服务的访问。这对于需要网络访问的第三方组件特别有用。

3 可扩展性

• 更大型的虚拟机 — 虚拟机现在可以增长到任何以前版本的 4倍,甚至可以支持最大型的应用程序。虚拟机现在可以拥有多达 32 个虚拟 CPU 和

1 TB RAM。

三 管理服务

核心管理

• vSphere Web 客户端 — 在全球任何位置从任何 Web 浏览器访问 vSphere。

• VMware vCenter Server 设备 — 将 vCenter Server 作为基于Linux 的虚拟设备来运行。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10501307.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-09
下一篇 2023-05-09

发表评论

登录后才能评论

评论列表(0条)

保存