虚构机质量简测与设想化能力大面积,管理虚构
分类:pc28.am

适当的实现和管理虚拟化意味着节省费用,包括服务器硬件、支持和管理的费用,也使得服务器部署更加简单,并且降低了能量消耗。但是为了完全获得这些好处,堆栈的虚拟化层级管理必须要独立于应用程序或物理服务器。

转载自 

毋庸置疑虚拟化是当今最热的IT技术领域之一,这一点无论是从众多IT技术厂商不断推出的虚拟化产品在市场中一浪高过一浪的宣传攻势,还是从企业用户开始大规模地使用虚拟化的解决方案都可以看出这一点。那么到底什么是虚拟化呢?

幸运地是,如果管理到位,要做到独立并不困难。

经过一番艰苦卓绝的斗争和艰苦卓绝的收集各类数据,终于把这篇科普的文章整理完整弄上来了。本文简要概述 Win8 Hyper-V 技术,以及 Win8 Hyper-V、Win8 VMware9、Win8 VirtualBox、Win7 VMware9 的性能简评以及相关知识的科普……

其实这个问题可以从两个方面来理解,首先如果从狭义的角度来说,虚拟化通常就是指对某种虚拟机技术的应用例如:Hyper-V、VMware ESX等),通过这种技术我们可以将多个操作系统运行于同一台物理计算机之上,从而能够有效地节省在硬件投入方面的开销,整合应用并且降低管理方面的成本。但如果是从广义的角度来理解什么是虚拟化,我们可以认为所谓的虚拟化就是指对计算资源进行有效隔离的技术手段。

的确,在虚拟世界里,服务器配置管理和备份变得更加简单了。但是监控管理尤其是检查服务器底层的物理资源显得更加的重要了。你必须要平衡各物理服务器之间虚拟应用程序的类型和数量,要着眼于最大限度的利用资源。

图片 1

所以它不仅限于虚拟机产品,所有能够实现这一特性的技术都可以划归在虚拟化的范畴之内。这点可能不是非常好理解,但是可以通过一个简要的例子来说明:一位用户使用一个应用程序来完成自己的工作,其实在这个我们非常熟悉的场景中包括很多个层次,首先用户使用的这个应用程序是安装在特定的操作系统之上,操作系统是安装在特定的硬件平台之上,用户的数据是存放在计算机本地的特定磁盘中,计算机的网络是连接到本地的特定物理交换机上……所有的这些层次都是紧紧关联在一起的,你无法轻易地将其中的一个层次和其他层次分离,例如将这个应用程序复制到另外一台安装了不同操作系统的计算机上它还可以完全和之前一样的运行并访问原来的数据。这种现象就如图1所示的静态计算模型,所有的层次都紧密关联在一起。

如果在这一环节出现错误,那么就会使一些甚至是所有运行在物理服务器上的虚拟应用程序的执行力遭受严重打击。

什么是虚拟化

虚拟化技术最早出现在上世纪六七十年代,运行在IBM大型机系统上,通过虚拟机监控器(Virtual Machine Monitor,VMM)的程序在物理硬件上生成许多可以独立运行操作系统的虚拟机实例。

随着近年来计算机科学科技领域中多核系统、集群、网络、云计算等技术的长足发展和相关设备设施的建立,虚拟化技术大大的降低了IT成本,增强了系统安全性和可靠性。

虚拟化是一个广义上的概念,在计算机科学领域中,该词意味着对计算资源的抽象,而不仅仅是虚拟机的概念。

图片 2 

成功管理虚拟服务器意味着要理解:虚拟化在服务器软件堆栈中引进了一个新的层级,并且不需要你通过管理底层的物理服务器或虚拟机或是虚拟机应用程序来管理虚拟层级。

虚拟化技术分类

当前的虚拟化技术主要分为三种:

1.平台虚拟化

平台虚拟化是针对计算机和操作系统的虚拟化,也就是大家最常见的一种虚拟化技术,Hyper-V,Xen,VMware等产品都是应用这类虚拟化技术。

2.资源虚拟化

资源虚拟化是指对特定的计算机系统资源的虚拟化,例如对内存、网络资源等等。

3.应用程序虚拟化

应用程序虚拟化的一个最典型的应用就是JAVA,生成的程序在指定的VM里面运行。

如果我们能够将这些资源层次之间的紧密连接进行有效分离,就像图1的右侧,使得对某个层次的变动甚至是替换都不会影响到其他的层次,那么我们就可以将这种技术看作是一种虚拟化技术。最常见的虚拟化技术——虚拟机就是将操作系统和硬件之间的紧密绑定进行了分离,这使得我们能将一台虚拟机从一台物理机复制到另一台物理机而不用做任何修改就可以像以前一样运行。当然从这个角度来看,远程桌面或者终端服务也是一种虚拟化技术——展现虚拟化,因为它实现了应用程序的展现与应用程序、操作系统以及硬件设备之间的分离,无论在什么地理位置只要能够通过终端服务的客户端,就可以像在那台服务器本地一样访问上面运行的应用程序。所以从广义上来讲,虚拟化并不是仅局限于虚拟机技术,它可以在很多个层面上实现,与此同时众多的虚拟化厂商也在各个层面上都推出了相应的虚拟化技术与产品,例如微软公司的虚拟化战略中就包括了从服务器虚拟化、展示虚拟化、存储虚拟化、应用程序虚拟化等众多的产品与技术。

取而代之,虚拟化监视和管理必须和操作系统、应用程序或物理服务器层分离开来。(注意:这里假设你正在使用hypervisor产品如Xen 或VMware。还有其它的虚拟化产品如Virtuozzo是位于操作系统之上的虚拟化。虽然这在描述上稍微有所不同,但是基本原理仍旧是一样的。)

平台虚拟化分类

平台虚拟化分为:全虚拟化、半虚拟化、硬件辅助虚拟化、部分虚拟化、操作系统级虚拟化等。这里简单的介绍一下全虚拟化、半虚拟化、硬件辅助虚拟化和操作系统虚拟化四种。

1.全虚拟化

全虚拟化也可以称为裸金属虚拟化(并不恰当)。

准确的讲,裸金属虚拟化是讲虚拟化技术在x86架构上的一种架构上的表现。

但从广泛概念上讲,裸金属虚拟化和全虚拟化差不多~

全虚拟化指的是虚拟机完完全全的模拟了计算机的底层硬件,包括处理器,物理内存,时钟,各类外设等等。

这样呢,就不需要对原有硬件和操作系统进行改动。这时,虚拟机软件访问计算机的物理硬件就可以看做软件访问了一个特定的接口。

这个接口是由VMM(由Hypervisor技术提供)提供的既VMM提供完全模拟计算机底层硬件环境,并且这时在计算机(宿主机)上运行的操作系统(非虚拟机上运行的操作系统)会被降级运行(Ring0变化到Ring1)。

图片 3

简单地说,全虚拟化的VMM必须运行在最高权限等级来完全控制主机系统,而Guest OS(客户操作系统)降级运行,不进行特权等级操作,Guest OS原有的特权等级操作交由VMM代为完成。

大致上可以理解为,使用全虚拟化技术的计算机,原有的操作系统,在启动全虚拟化技术后变为一个“虚拟机”了。Win8 Hyper-V就是这种状态。可以从过系统加载时的情况看出来。

使用全虚拟化技术的软件有:VMware ESX Server、Microsoft Hyper-V、QEMU等等。

2.半虚拟化

半虚拟化又叫超虚拟化,它是通过修改Guest OS部分特权状态的代码,以便与VMM交互。此类虚拟化技术的虚拟化软件性能都非常好。

半虚拟化通过修改操作系统内核,替换掉不能虚拟化的程序,通过超级调用直接与底层的虚拟化层来通讯。由虚拟化层来进行内核操作。

图片 4

半虚拟化的典型就是VMware Tools,该程序的VMware Tools服务为虚拟化层提供了后门服务,通过该服务可以进行大量的特权等级操作。

使用半虚拟化技术的软件有:Denali、Xen等。(Xen可以使用全虚拟化和半虚拟化两种状态)

3.硬件辅助虚拟化

硬件辅助虚拟化指的就是通过处理器提供的特殊指令来实现高效的全虚拟化,例如Intel-VT技术和AMD-V技术。

有了Intel-VT技术和AMD-V技术,Guest OS和VMM被完全隔离开来,同时,CPU虚拟化技术给CPU增加了新的Root模式,这样就实现了Guest OS和VMM的隔离。

图片 5

4.操作系统虚拟化

操作系统虚拟化更多的应用在VPS上,在传统的操作系统中,所有用户进程本质上是在同一个操作系统实例中运行,因此,操作系统的内核存在缺陷,那么势必会影响到其他正在运行的进程。

操作系统虚拟化是一种在服务器操作系统中使用的轻量级虚拟化技术,很简单,也很强大。

此类技术是内核通过创建多个虚拟的操作系统实例(N多内核和库)来隔离进程。不同实例中运行的程序无法知晓其他实例中运行了什么进程,也无法进行通讯。

图片 6

应用这类技术最常见的就是OpenVZ了,但是OpenVZ的存在的超售问题一直受到很多草根站长的诟病。

虚拟化之所以成为当前企业IT应用的一个热点,其主要原因正是虚拟化能够将资源进行有效隔离,从而可以更充分地利用有限的计算机资源,降低在成本和管理上的投入,同时对于计算资源的隔离也打破了这些资源间原有的紧密绑定,使得企业的IT系统能够更加灵活,具备了“按需而变”的动态特性。

第二,你必须要记住,当虚拟机独立于其上所运行的应用程序时,它们能够并且会通过物理服务器及其上的可用资源相互影响。所有的应用程序——在较小的程度上包括运行在物理服务器上虚拟机可能表现得就像它们是独立的,而这正是虚拟化的魅力之一。但是在其底层,它们都是利用物理服务器上的同一个资源池来获取资源的。成功管理虚拟服务器的大部分工作就是确保所有的虚拟机在需要的时候获得它们所需的资源。

Hyper-V

Hyper-V这货作为微软当前(2008年至今)在虚拟化方面的拳头产品,Hyper-V与Citrix的Xen一样的Hypervisor技术,2008年时与Windows Server 2008 Hyper-V版本一起发布。

Hyper-V的模式与传统全虚拟化模式有一些不同。

图片 7

Hyper-V通过一种称为分区的方式隔离,这里的分区指一组隔离单元,被分配了物理内存空间与虚拟处理器资源,其中运行操作系统。

除了独立版本的Hyper-V服务器之外,一般的微软Hyper-V都需要一个父分区,其中运行支持Hyper-V的服务器操作系统或桌面操作系统。

父分区中的虚拟化堆栈可以直接访问物理设备,通过父分区,可以创建子分区并在其中运行操作系统(Guest Operating System,Guest OS),分区本身不能访问屋里处理器,它们只有虚拟的处理器同时运行在虚拟的内存地址空间,各个子分区的虚拟内存空间都是相互独立的。Hypervisor层(图中Microsoft Hyper-V层)执行处理器中断。

子分区不能访问其他任何物理资源,它们通过虚拟设备的方式来访问硬件,对于虚拟设备的请求,通过VMBus或者Hypervisor层来转到父分区,交由父分区代为处理。

在父分区运行的虚拟服务端程序(VSP)通过VMBus处理来自子分区的设备请求。在子分区中运行的虚拟服务用户端(VSC)通过VMBus将请求交给VSP来处理。这些操作的过程,对Guest OS来说,都是透明的。

在Hyper-V的技术架构上,子分区分为三类:

1.运行Windows操作系统并有Hyper-V意识。

2.运行非Windows系统并有Hyper-V意识。

3.无Hyper-V意识,可能运行Windows或非Windows操作系统。

这三类分区的区别在于:

1类分区可以使用VSC和Enlightenments获得最好的性能和全部Hyper-V特性。

2类分区可以通过VSC和第三方驱动实现较高的性能和部分Hyper-V特性。

3类分区只能通过模拟设备访问硬件资源,效率较低。

什么叫Hyper-V意识?从当前微软给出的资料来看,操作系统经过“启蒙”(Enlightenments),微软是这么称呼这个的,经过“启蒙”的操作系统,可以和Hpyer-V结合度更高,获得最好的性能和全部Hpyer-V特性。

这里编者个人觉得,“启蒙”的含义无非就是是否支持Hyper-V的某些核心技术,目前支持Hyper-V的Server 2008/2008 R2,Server 2012,明显都是支持Hpyer-V的。这些操作系统明显就是经过“启蒙”的操作系统。而微软上代的Windows Server 2003显然不支持Hpyer-V,那么他就是属于未经“启蒙教育”的操作系统。

Hyper-V技术特性

这里大概说一下有哪些特性,Google一下有很多资料,这里不再敖述。

1.新的64位Hypervisor架构,支持大量硬件设备,更好的安全性和高效率。

2.支持各种服务器平台的32位或64位操作系统。

3.对称多处理器支持,可以在虚拟机中支持4颗处理器(注意,不是四核)。

4.网络均衡负载。

5.新硬件分享架构,通过VSP/VSC来获得高性能。

6.快速迁移。

7.虚拟机快照。

8.可扩充性,支持标准WMI界面和API,对开发人员提供方便。

9.可延展特性。

Hpyer-V的新版本增加了诸如动态虚拟机存储,最大32核处理器支持,对Jumbo帧支持等更多新的技术。这里不再详述。

在Windows Server 2008 R2中有很多方面都提供了对虚拟化的支持,其中包括了展示虚拟化通过终端服务角色实现)、网络虚拟化通过VPN组件实现)和服务器虚拟化通过Hyper-V角色实现),而Hyper-V则是其中全新提供并具有广泛应用前景的一个组件,因为在同一个物理设备上运行多个操作系统的需求仍然是目前企业虚拟化应用中最主要的形式。Hyper-V被微软称为服务器虚拟化平台,很显然它的主要目标就是实现服务器操作系统的虚拟化。Hyper-V服务器虚拟化的典型应用场景主要有以下几个:

第三点是在前两点的基础上产生的。虽然管理虚拟服务器在很多方面和管理物理服务器是类似的,但是到目前为止它们并不是同一回事,而且类似的扩展也不一样。

KVM

核心虚拟机(Kernel-based Virtual Machine,简称 KVM),是使用Linux核心中的虚拟化基础进行建设。

目前KVM支持Inetl VT和AMD-V等原生虚拟技术。

KVM是x86架构且硬件支持虚拟化技术的Linux全虚拟化解决方案。

在内核模块上,通过kvm.ko(kvm-intel.ko/kvm-AMD.ko)。

KVM需要用过修改过的QEMU软件来作为虚拟机的上层控制和界面,相比Windows下的虚拟机程序,KVM可以再不改变Linux或Windows镜像的情况下同时运行多个虚拟机。

P.S:其实就是多个虚拟机使用同一个镜像卷。

同时还可以在使用同一个镜像卷的情况下给每个虚拟机配置不同的硬件环境。

KVM必须要求CPU支持虚拟化,在性能方便,作为服务器使用性能很好,但是图形能力惨不忍睹(编者在测试过程中亲身体验),播放视频等操作时,仿佛幻灯片一般……

CPU使用率控制非常的好。

并且KVM的一大优点就是,KVM完全置于Linux的内核里。一切都很方便~

在一般的Linux进程上,只有内核模式和用户模式两种。KVM添加了第三个模式,这个模式被称为:客户模式。

客户模式的进程是运行在虚拟机内部的,有自己内核和用户控件变量。在进程上,KVM虚拟机表现为一个正常的进程,可以像其他进程一样被kill,KVM利用硬件虚拟技术虚拟处理器的形态,虚拟机的内存管理由内核直接处理。

可以通过查看/proc/cpuinfo,在cpu flags字段有显示vmx或者smx,就可以使用KVM了。

首先,是服务器的整合。事实上企业中的很多服务器并不像我们想像的那么忙碌,一般情况下很多服务器的运行负荷很低,也许CPU的占用率通常都不到20%,其他资源的利用率也很低,但是因为考虑到操作系统的版本、应用程序的冲突与兼容性以及易于管理等方面的因素,只能把它们安装在一个个独立的物理服务器上,无论从哪个角度来讲,都带来了很大的浪费。Hyper-V使得我们在同一台物理硬件服务器上运行多个不同类型的操作系统,而这些操作系统在逻辑层面上是完全隔离的,自然也不会带来兼容性方面的问题。这样就可以将原来分别运行在几台、十几台甚至几十台物理服务器上的操作系统和应用整合在一台物理服务器上,对于成本的节省是显而易见的,而与此同时在管理方面也带来了很大的效率提升。

好消息

VMware Workstation

VMware公司成立于1998年,旗下有多款虚拟机产品。包括VMware Workstation、VMware Fusion、VMware Player、VMware vSphere、VMware ACE、VMware Lab Manager、VMware Converter、VMware ThinApp等。

本次评测使用的是VMware Workstation 9.0.0(以下简称VMware)版本,VMware是一款功能强大的桌面虚拟机计算机软件,可以同时运行多个不同的操作系统。

在性能上有着不小的优势,尤其是图形3D方面。

VMware只用软件技术来管理复杂的x86架构的完全虚拟化,为了达到非常好的性能和稳定性,这样做的弊端就是VMware软件非常庞大。

并且大家也都用过VMware,编者也就不做过多介绍了。

其次,是协助实现业务的持续性。所谓业务的持续性就是如何保证企业环境中的应用系统能够获得最大的可用性。以往这个方面对于IT管理是一个很大的挑战,举个比较常见的例子,对物理服务器的硬件进行升级和替换是很常见的操作,但是这些操作基本都是需要在关闭了服务器以后才能进行,这就会造成该服务器上的应用程序很长一段时间不可用,对于一些关键的应用系统来讲,这种情况是无法接受的。如果使用Hyper-V将应用服务器进行虚拟化,这个问题就能得到很好的解决,因为虚拟机中的操作系统并没有与服务器底层的硬件相互绑定,所以能够很容易地将运行中的虚拟服务器快速迁移到另外一台物理服务器上继续运行,而对原来的一台服务器进行硬件的升级和替换。有些应用系统的高可用方案实施起来比较烦琐,而且不同的应用系统使用完全不同的高可用技术,这样对于应用系统的高可用性管理也带来了很多的不便。如果使用Hyper-V将应用服务器进行虚拟化,由于Hyper-V本身可以基于Windows Server 2008 R2的故障转移群集很容易地实现虚拟机的高可用性,因此运行于Hyper-V之上的虚拟机和应用系统也自然成为了高可用的应用系统,这使得高可用应用系统的构建和管理变得非常简单。另外,虚拟化也极大简化了服务器的备份和灾难恢复,并且提供了快速灾难恢复的能力。

尽管还存在很多的告诫,但是在服务器管理方面,用户承认虚拟化是成功的。快速散热器仓储(Radiator Express Warehouse)公司CTO Mike Carvallho说:“虚拟服务器更易于管理。”该公司多半是因其1-800-Radiator的名号而出名,是美国和加拿大200家特许散热器厂商中的一家。Carvallho管理9个运行VMware的Dell服务器,这9台服务器分布在两个站点,支持55个虚拟服务器。

VirtualBox

VirtualBox最早是由德国InnoTek软件公司出品的虚拟机软件,现在由Oracle(甲骨文)公司进行开发,是甲骨文公司xVM虚拟化平台技术的一部分。

使用C 开发,可以在32位/64位Windows、Solaris、Linux操作系统上虚拟其他的x86操作系统,可以再VirtualBox上安装Solaris、Dos、Windows、Linux、OS/2、OpenBSD、FreeBSD等众多操作系统。

VirtualBox也支持Intel VT-x与AMD-v硬件虚拟化技术,在磁盘当面,VirtualBox可以连接iSCSI,还可以读写VMware的VMDK文件与VirtualPC(微软收购的来的虚拟机软件,曾用于Win7下的WinXP Mode)的VHD文件。

在图形性能上,VirtualBox有一张支持VESA兼容的显卡,性能也不俗,但是比较坑爹的是,对DX9支持很差,这也直接决定了本次测试的时候VirtualBox在N多测试上无法进行。

再次,是构建测试和开发环境。对于软件公司和IT解决方案的提供商而言,开发和测试环境显然是必需的,但是随着信息技术在企业中的不断深入,企业应用解决方案的开发和测试环境也成为企业IT环境中必不可少的一部分。但是构建一个测试环境的成本投入、测试环境的提供和管理、从测试到生产环境的迁移等,都是比较棘手的问题。使用Hyper-V这样的服务器虚拟化平台以后,一方面可以用较低的成本来构建测试开发环境,另一方面在测试环境的管理、从测试环境到生产环境的转换和迁移等方面都将变得易于实现。

不仅配置管理、容量管理和恢复变得更简单了,而且需要处理的物理box的数量也更少了。Carvalho说:“曾经所有硬件的管理的都像是一个噩梦,而现在这种状况马上就会消失。”在其它方面,不同厂商物理服务器的特色趋于不同,这使得补丁和变更管理变得复杂了,而且意味着要持续的随时的为旧服务器提供一系列的备件。

最后,是构建动态的数据中心。Hyper-V能够将虚拟服务器操作系统以及上面运行的应用程序与物理硬件相分离,这使得对应用系统的管理、控制、高可用、迁移和容灾等方面都具有了非常大的灵活性,因此Hyper-V能够为构建动态的企业数据中心提供核心的支撑平台。

在转移到虚拟环境时,很多厂商借此机会限制了物理服务器的数量和类型,同时升级到更新的技术。这使得数据中心能够限制系统中物理服务器的种类,从而更易于保持硬件的同步。

微软在Windows Server 2008 R2 Hyper-V之前也有一款服务器虚拟化的产品——Virtual Server 2005,但是需要知道的是Hyper-V虽然和Virtual Server2005在应用领域方面有相同的地方,但是它们并不是同一款产品,Hyper-V也不是Virtual Server 2005的升级版本。Hyper-V和Virtual Server 2005拥有完全不同的架构,虽然作为使用者不需要了解太多Hyper-V原理和机制方面的知识,但是从图2中至少可以了解到非常重要的一点:Hyper-V中的“虚拟机guest)”和所谓的“宿主机host)” 都是运行在同一个层次的,虚拟机操作系统并不是运行在另一个操作系统的内部,也就是说Hyper-V中并没有“真实操作系统”和“虚拟操作系统”之分,你可以认为它们都是虚拟的或者都是真实的,这是Hyper-V和Virtual Server结构上最大的不同点之一。

相关文章】

图片 8 

  • 虚拟化技术 金融企业的IT创新动力

这种结构带来的一个最直接的好处就是Hyper-V中的虚拟机能够获得比以前Virtual Server等寄居型服务器虚拟化产品更好的性能和可伸缩性。与此同时由于基于硬件的虚拟化支持,虚拟机之间可以进行有效的隔离和数据保护,从而能够在这个虚拟化平台之上提供更高的安全性。这一切都使得Hyper-V为企业级的虚拟架构提供了更加稳固和可靠的平台。

...

  • IBM:虚拟化成就绿色未来
  • IBM何国伟:虚拟化在中国

...

本文由pc28.am发布于pc28.am,转载请注明出处:虚构机质量简测与设想化能力大面积,管理虚构

上一篇:三招解决FTP安全防线,公约解析 下一篇:没有了
猜你喜欢
热门排行
精彩图文