Windows server Hyper.docx

上传人:b****6 文档编号:3600629 上传时间:2022-11-24 格式:DOCX 页数:52 大小:1.87MB
下载 相关 举报
Windows server Hyper.docx_第1页
第1页 / 共52页
Windows server Hyper.docx_第2页
第2页 / 共52页
Windows server Hyper.docx_第3页
第3页 / 共52页
Windows server Hyper.docx_第4页
第4页 / 共52页
Windows server Hyper.docx_第5页
第5页 / 共52页
点击查看更多>>
下载资源
资源描述

Windows server Hyper.docx

《Windows server Hyper.docx》由会员分享,可在线阅读,更多相关《Windows server Hyper.docx(52页珍藏版)》请在冰豆网上搜索。

Windows server Hyper.docx

WindowsserverHyper

Windowsserver2008Hyper-v部署及应用实践

基础知识准备篇

Hyper-V是什么?

Hyper-V是一个Hypervisor(系统管理程序),开发代号为Viridian,它主要作用就是管理、调度虚拟机的创建和运行,并提供硬件资源的虚拟化。

Hyper-V是微软伴随WindowsServer2008最新推出的服务器虚拟化解决方案。

Hyper-V跟微软自家的VirtualPC、VirtualServer等产品相比,有着很显著的区别,和竞争对手VMwareServer/ESXServer也有很大不同:

Hyper-V在构架上绝对是一个突破性的进展!

Hyper-V的本质是一个VMM(虚拟化管理程序),和微软之前的VirtualServer系列产品,处在的层次不同,它更接近于硬件,这一点比较像VMware的ESXServer系列,实际上Hyper-V属于微软的第一个裸金属虚拟化产品(Bare-MetalVirtualization)。

然而,在一些基础架构上,Hyper-V和ESXServer又有着明显的不同。

 Hyper-V是一个Hypervisor(系统管理程序),开发代号为Viridian,它主要作用就是管理、调度虚拟机的创建和运行,并提供硬件资源的虚拟化。

Hyper-V是微软伴随WindowsServer2008最新推出的服务器虚拟化解决方案,在WindowsServer2008发布的时候,集成了一个Beta版本的Hyper-V,微软承诺在180天之内会提供正式版的Hyper-V。

WindowServer2008是4月份发布的,180天就是不到6个月,因此微软会在9月到10月之间发布正式版的Hyper-V,而目前已经到了RTM阶段,可以正常使用了。

  Hyper-V跟微软自家的VirtualPC、VirtualServer等产品相比,有着很显著的区别,和竞争对手VMwareServer/ESXServer也有很大不同:

Hyper-V在构架上绝对是一个突破性的进展!

Hyper-V虚拟化细节架构

  微软发布的架构图资料有很多,然而主要内容都很相似,就是上图那样。

Hyper-V之前、VirtualServer2005R2的架构

  Hyper-V的本质是一个VMM(虚拟化管理程序),和微软之前的VirtualServer系列产品,处在的层次不同,它更接近于硬件,这一点比较像VMware的ESXServer系列,实际上Hyper-V属于微软的第一个裸金属虚拟化产品(Bare-MetalVirtualization)。

然而,在一些基础架构上,Hyper-V和ESXServer又有着明显的不同,所以说,Hyper-V是很特别的,且看下页分解。

  作为一个虚拟化产品,Hyper-V具有一个很特别的要求:

处理器必须支持AMD-V或者IntelVT技术,也就是说,处理器必须具备硬件辅助虚拟化技术。

  对于一个虚拟化产品来说,要求一个硬件特性是比较奇特的事情(要求支持一个指令集不算),微软之前的VirtualServer2005R2不需要这个特性。

对于VMware的产品来说,这也只是一个可选的特性,不像Hyper-V那样,是一个硬性的要求。

处理器不支持VT/AMD-V,就无法运行Hyper-V。

VT-x处理器辅助虚拟化技术,是Hyper-V的硬性要求

  关于VT的具体作用,可以查看x86虚拟化难题解决:

IntelVT或者《从VT-x到VT-dIntel虚拟化技术发展蓝图》。

VT,或者AMD-V,是一种硬件辅助虚拟化技术,用来解决RingPrivilege的问题,传统处理器下虚拟机通过使用指令转换的方法来在Ring3执行Ring0特权指令,严重影响性能,而VT则解决了这个问题。

对VT的依赖和支持是Hyper-V架构的基础,也是Hyper-V最大的特点。

  也因为Hyper-V需要处理器支持硬件虚拟化辅助,一部分处理器无法应用Hyper-V,只有较新、非Value型的处理器才能应用。

例如访问只有75%的几率碰到部署在Hyper-V上的虚拟化服务器,剩下的25%都是未Hyper-V虚拟化的服务器。

要在这些服务器上应用虚拟化,用户只能选择VirtualServer2005R2,或者其它公司的产品。

  MicrosoftHyper-V和VMwareESXServer是比较相像的,都是Bare-Metal类型,但是它们的内核架构也有着明显的不同。

微软在谈到竞争对手ESXServer时,总会提到,Hyper-V是微内核架构的,而ESXServer是单内核架构,Hyper-V要更好。

  这两者具有什么不同?

到底谁更好呢?

 

单内核(分层的内核)与微内核

  单内核和微内核实际上是操作系统内核术语,操作系统的内核——实现核心功能的那部分——可能是微内核(Microkernel),也可能是单内核(Monolithickernel,有时也叫宏内核Macrokernel)。

按照类似封装的形式,这些术语定义如下:

  微内核(Microkernel)――在微内核中,最常用的功能被精心挑选设计在内核模式(或者按照上一页的说法,在x86上是Ring0权限下)运行的一个进程上,而其它大部分不怎么重要的核心功能都作为单独的进程运行在用户模式下(类似地,Ring3权限下)运行,它们通过消息传递进行通讯(例如,Windows采用的进程间通信IPC机制,IPC就是InterProcessCommunication)。

最基本的思想就是要尽量地小。

通常微内核只包含了进程调度、内存管理和进程间通信这几个根本的功能。

  这种设计具有许多好处,例如增加了灵活性,易于维护,易于移植。

微内核的模块化设计让其他核心功能模块都只依赖于微内核模块或其他模块,并不直接依赖硬件。

要添加新的特性只需要另行编写用户模式的微内核服务器。

而只需把微内核本身进行移植就能够完成将整个内核移植到新的平台上。

  由于模块化的设计,不包含在微内核内的驱动程序可以动态地加载,或者卸载。

同时,微内核也不依赖于固定的文件系统,用户可以随意选择对文件系统的支持。

用户甚至能够在系统运行时将研发出的新系统模块或需要替换现有模块的模块直接而且迅速的加入系统。

不需要的模块将不会被加载到内存中,因此微内核就能够更有效的利用内存。

微内核还具有的好处是实时性、安全性比较好,并且更适合于构建分布式操作系统和面向对象操作系统。

  微内核操作系统的典型例子是,Mach(一个非原生的分布式操作系统内核,被众多操作系统采用,例如,被应用在MacOSX上)、IBMAIX、BeOS,以及WindowsNT(WindowsServer2003和WindowsServer2008都包含其内),还有著名的Minix(一个主要用于教学的Unix系统)和Amoeba(一个真正原生的分布式操作系统)。

  单内核(Monolithickernel)――单内核是个很大的进程。

它的内部又能够被分为若干模块(或层次,或其他),但是在运行的时候,它是一个单独的大型二进制映象。

因为是在同一个进程内,其模块间的通讯是通过直接调用其他模块中的函数实现的,而不是微内核那样在多个进程之间进行消息传递。

因此在运行效率上,单内核会具有一定的好处。

  单内核操作系统的典型例子是,大部分Linux,包括BSD在内的几乎所有的Unix,MS-DOS,Windows9x。

例如SunSolaris的内核就运行着数百个线程以实现各种功能,而编译过Linux内核的人就知道Linux内核有数十MB之巨。

  单内核和微内核哪个更好显然是一个很有争议性的问题,必须说明的很有趣的一点是,这种争论经常会令人想到上一个时代CPU领域中RISC和CISC的斗争。

现代的成功CPU设计中都包含了任何的这两种技术,就像现在Linux(单内核)和WindowsNT(微内核)实际上都是微内核和单内核的混合产物一样,只是或多或少的问题而已。

历史上有过这样的争论,Linux(单内核)的作者Linus和Minix/Amoeba(均为微内核)的作者AndrewS.Tanenbaum教授在讨论组上论战,并卷入了大量的爱好者。

最终Linus也同意Tanenbaum微内核架构更为先进的论点。

  掉书袋就到这里,回到Hyper-V上来,通过采用微内核架构,Hyper-V在体积上很有优势,它的大小只有300k左右(似乎新版本的更加小),而VMwareESXServer的Linux核心则非常大。

就VMM虚拟化管理程序来说,需要的功能不多,因此采用微内核架构是很合适的,运行效率可以很高。

不过就理论上来说,合理配置的单内核其实和微内核也很相似。

哪一种性能更好?

这要在测试之后才能知晓了,不过在这之前,我们接下来可以先看看微内核带来的一个好处:

设备驱动程序的变迁。

注:

分布式操作系统(DistributedOperationSystems)

  分布式操作系统DOS(可不是DiskOperationSystem)的具有多个定义,是是管理分布式系统的资源的操作系统。

这样的说法比较抽象,我们可以通过与网络操作系统(例如,我们使用的Windows)对比来简单阐述分布式操作系统的特点:

 

(1)分布性。

分布式操作系统的处理和控制功能均为分布式的;网络操作系统其控制功能却是集中在某个或某些主机或网络服务器中,即集中式控制方式。

(2)并行性。

分布式操作系统具有任务分配功能,可将多个任务分配到多个处理单元上,使这些任务并行执行,从而加速了任务的执行;而网络操作系统通常无任务分配功能,网络中每个用户的一个或多个任务通常都在本地计算机上处理。

(3)透明性。

分布式操作系统通常能很好地隐藏系统内部的实现细节。

包括对象的物理位置、并发控制和系统故障等对用户都是透明的。

例如,当用户要访问某个文件时,只需提供文件名而无须知道(所要访问的对象)它是驻留在那个站点上,即可对它进行访问,亦即具有物理位置的透明性。

此外,当分布式操作系统运行一个程序时,该程序无需经过特别设计以及经过用户特别设置,就可以自动划分到多个处理器上并行运行。

(4)共享性。

分布式操作系统支持系统中所有用户对分布在各个站点上的软硬件资源的共享和透明方式访问。

而网络操作系统所提供的资源共享功能仅局限于主机或网络服务器中资源,对于其它机器上的资源通常仅有使用该机的用户独占。

(5)健壮性。

分布式操作系统由于处理器和控制功能的分布性而具有较好的可用性和可靠性,即健壮性,只有所有的处理节点损坏,一个分布式操作系统才算是崩溃了。

  典型的分布式系统包括了SETI@Hom这样的项目,Cluster、集群、云计算,也属于分布式操作系统的范畴。

典型的分布式操作系统有Amoeba、Mach、DCE等。

  无论采用什么内核,驱动程序和文件系统总是必要的,虚拟机需要使用服务器的硬件就需要驱动程序,虚拟机的文档需要保存在适当的文件系统上。

在单内核的VMwareESXServer上,驱动程序包含在单内核内部,虚拟机映像文件则保存在VMFS(一种类似EXT的文件系统)上,那么微内核架构的Hyper-V呢?

  这就要谈到Hyper-V的VSP/VSC架构了,VSP是VirtualizationServiceProvider(虚拟化服务提供者),VSC则是VirtualizationServicesConsumer(虚拟化服务消费者),还有一个VMBus部件将放在“宿主操作系统”的VSP和虚拟机操作系统的VSC连接起来。

实际上“宿主操作系统”也是一个虚拟机——就是你最初安装的、带有Hyper-V的WindowsServer2008,微软将其称为ParentPartition操作系统,而每一个虚拟机则称为ChildPartition,虚拟机操作系统则称为ChildPartition操作系统。

VSP与VPC,注意VSP并不是VirtualStorageProvider的缩写。

VirtualStorageProvider属于VSP的一种

  上图很好地解释了Hyper-V使用VSP/VSC架构解决驱动程序/文件系统的方式,通过加入VSP和VSC以及它们互相沟通的VMBus总线,Hyper-V将虚拟机的操作映射入ParentPartition的对应驱动程序/文件系统中,简化起来就如下图:

 

Hyper-V的VSPs/VSCs、VMBus架构

  这种方式具有不少好处,例如,最明显地,Hyper-V可以兼容大量的驱动程序,而不必为虚拟机开发专用的驱动程序(ESXServer就是这样干的)。

我们知道对于服务器而言,很重要的一个组成部分就是I/O,一个IO设备没有驱动程序是无法工作的。

现在,只要设备能在WindowsServer2008下工作,那么Hyper-V虚拟机就能使用这些设备资源,再加上Windows驱动天生就比其他操作系统(如Linux)的驱动丰富,因此在硬件支持上Hyper-V具有着无可比拟的优势。

VMwareESXServer甚至不能直接应用Linux驱动程序,需要另外进行额外的操作才能使用,因此VMwareESXServer容易遇到设备兼容性方面的问题,当然用户可以使用具备VMware认证的全套硬件以避免这个问题。

  有利就有弊,VSP/VSC架构需要支持Hyper-V技术的客户端的支持,这样就大为限制了虚拟机操作系统的选择,不支持Hyper-V的客户操作系统只能使用设备模拟的方式,性能和以前的VirtualServer2005R2没有太大的分别,要享受到Hyper-V性能的提升,需要虚拟机使用WindowsServer2008,或者内含Xen的Linux/Unix。

Hyper-V的客户机操作系统的选择确实只注明了Windows和少数几种Linux,虽然笔者猜测或多或少有着商业策略上的因素,不过从技术上来看,确实也有一些限制。

  Hyper-V设备驱动的这个优点正好就和微内核驱动程序架构的优点一样,模块化,架构灵活,不需要更改就可以提供新硬件的支持。

敏锐地用户可能会觉察到进程间通信带来的开销——确实有这样的问题,笔者曾询问微软的工程师,他们表示性能会有一点点地折扣。

从笔者来看,通过内存地址转换的方式,开销有可能降到非常低。

  顺便提一下,设备虚拟硬件辅助VT-d技术在Hyper-V下的实现很轻松,只需要开发WindowsServer2008下的驱动程序,不需要对Hyper-V进行改动。

  Hyper-V还具有一个关于性能的重要特性:

多处理器虚拟机,Hyper-V支持4CPU的WindowsServer2008虚拟机,和2CPU的WindowsServer2003虚拟机。

多处理器虚拟机并不是一个Hyper-V才具有的特性,VMware的ESXServer早已经实现4CPU的虚拟机,并且是在各种操作系统下(WMwareWorkstation也能提供2CPU的虚拟机)。

  如果服务器工作负载需要很高的性能,我们可以考虑使用多处理器的虚拟机。

数据库服务器可以消耗掉大量的处理器资源,这时,多处理器虚拟机就是很必须的,就像我们做过的测试那样。

当然,只有当工作负载确实需要的时候,才应该使用多处理器虚机,因为管理更多的处理器会带来一些额外的开销。

就像早期WindowNT具有单处理器和多处理器两种内核一样(单处理器版本去掉了一些多处理器才有的如同步之类的模块,并作了相关优化)。

进程状态及其转换示意图,进程的就在这些状态之间“旋转”

  众所周知,为了保护共享数据,需要一些同步机制,例如锁、信号量等。

通常,多处理器操作系统内核和驱动会采用自旋锁(SpinLock,类似于互斥锁,但是保持时间更短。

更详细的信息可以参考《WindowsInternals》第四版,P152)的机制,在获得自旋锁之前,线程并不会阻塞,而是一直处于自旋状态,前提是自旋锁只会保持很短的时间。

然而在虚拟化条件下,这个前提会被打破,因为虚拟处理器是按照时间片进行调度的。

如果在保持自旋锁的时候竞争虚拟处理器,则其他虚拟处理器就要自旋很长时间,导致CPU循环的浪费,降低了虚拟机的性能。

显然,多处理器虚拟机在繁忙的负载条件下,这种情况会频繁发生。

  在WindowsServer2008内核以及Hyper-VHypervisor中加入了一个创新设计,尽可能防止出现自旋锁的长时间等待条件,如果确实存在长时间等待条件,也会有效地加以检测并对其进行处理。

这个方法叫做自旋锁启发方法,未实现自旋锁启发方法的虚拟机作系统将停在一个紧凑循环上旋转以等待其他虚拟处理器释放自旋锁,通常这个旋转可能会阻塞其中一个硬件CPU,从而降低了虚拟化性能。

而在自旋锁启发式操作系统中,自旋锁代码会在将要发生旋转时通过HypercallAPI通知Hyper-VHypervisor管理程序,这样Hypervisoer管理程序就可以立即调度执行另一个虚拟处理器并降低不必要的CPU使用。

Hyper-V还还在调度程序和内存虚拟化逻辑上进行了优化以使它们在大多数临界区中都不会被锁定,从而确保多处理器系统能够获得很好的延展性。

  在前些天的媒体测试见面会上,微软中国的工程师展示了Hyper-V虚拟机的效率,表明4CPU的WindowsServer2008虚拟机,其延展性可以和物理4CPU系统一较高下。

当然,具体的提升仍然需要通过测试来评估。

  注:

自旋锁启发方法其实不完全是Hyper-V的内容,它更多是WindowsServer2008的核心内容。

Vista也实现了这个自旋锁启发方法。

  【IT168评测中心】不知不觉间说了很多显得有些深涩的内容,不过Hyper-V的特点总结起来就是:

VT/AMD-V实现、微内核设计、VSP/VSC虚拟设备驱动架构以及虚拟处理器自旋锁启发架构,这些特性糅合在一起就形成了独特的Hyper-V。

此外,$28的价格(或者免费:

购买WindowsServer2008时附赠)也很值得一提。

微软服务器虚拟化战略的里程碑:

Hyper-V

  更好的性能、更广泛的兼容性、更强的安全性,以及更便宜——这就是Hyper-V,从2003年收购Connetix后就沉寂的微软并没有睡着。

从最早的TerminalServices,到早期的VirtualPC、VirtualServer、SoftGrid,到今天Hyper-V的推出,这些看似不经意的动作,现在看来均是为其全面的虚拟化战略实施做铺垫。

而经过这样一系列的铺垫,微软的从数据中心到桌面虚拟化、全面的端到端的虚拟化战略已经正式部署完毕,我们已经可以看到,虚拟化市场即将到来的一场暴风雨。

Hyper-V主要功能

Hyper-V的主要功能包括:

  — 新的、改进的体系结构:

新64位微核心式hypervisor体系结构使Hyper-V能够提供广泛的设备支持和改进的性能和安全性。

  — 广泛的OS支持:

对同时运行不同类型操作系统的广泛支持,包括跨不同服务器平台的32位和64位系统,如Windows、Linux及其他系统。

  — SMP支持:

能够在虚拟机环境中支持多达4个多处理器(SMP),使您能在虚拟机中利用多线程应用程序。

  — 内存支持:

支持每虚拟机较大的内存分配,使您能虚拟化最多的工作量,这使得Hyper-V成为大企业和中小企业的理想平台。

  — 改进的存储访问:

通过传递(passthrough)磁盘访问和对SAN和内部磁盘访问的广泛支持,Hyper-V提供了更大的灵活性,以便最优地配置和利用存储环境。

  — 网络负载平衡:

Hyper-V包括新的虚拟交换功能。

这意味着虚拟机可以轻松地配置为与WindowsNLB一起运行以便在不同的服务器上跨虚拟机平衡负载。

  — 新的硬件共享体系结构:

通过新的虚拟服务提供程序/虚拟服务客户端(VSP/VSC)体系结构,Hyper-V改进了对核心资源,如磁盘、网络、视频等的访问和利用。

  — 快速迁移:

Hyper-V利用WindowsServer和SystemCenter管理工具熟悉的高可用性功能使用最少的宕机时间将正在运行的虚拟机快速从一个物理主机系统迁移到另一个。

  — 虚拟机快照:

Hyper-V提供给运行的虚拟机拍快照的能力,这样就可以轻松地返回到前一个状态并改进整个备份和可恢复性解决方案。

  — 可伸缩性:

通过在主机级对多处理器和多核心的支持和改进的虚拟机内的内存访问,您现在能够垂直扩展虚拟环境,使其能支持给定主机内的大量虚拟机并继续利用快速迁移跨多个主机进行扩展。

  — 可扩展性:

Hyper-V基于标准的WMI界面和API,使独立软件供应商和开发人员能快速构建用于虚拟化平台的自定义工具、实用程序和增强。

Hyper-V安装先决条件

安装"Hyper-V"虚拟化的先决条件:

  WindowsServer虚拟化需要特定的CPU:

  -基于x64:

 WindowsServer虚拟化功能只在x64版本的WindowsServer2008标准版、企业版和数据中心版中提供。

  -硬件辅助虚拟化:

 需要具有虚拟化选项的特定CPU,即包含IntelVT(VanderpoolTechnology)或AMDVirtualization(AMD-V,代号"Pacifica")功能的CPU。

  -硬件数据执行保护(DEP),而且被开启(如果CPU支持Server2008默认开启)。

  下面提供两种快速检测方法:

  

(一) 使用EVERESTUltimateEdition软件(下载),可以方便的辨别你的CPU是否符合要求:

  在"主板"下的"CPUID"一项中,查看是否支持以下三种特性:

  1、指令集:

64位x86扩展

  2、CPUID特征:

对于AMD处理器:

SecureVirtualMachineExtensions(Pacifica);对于Intel处理器:

VirtualMachineExtensions(Vanderpool)

  3、 安全特征:

数据执行保护(DEP)(DEP,NX,EDB)

  

(二)在这里,给大家介绍另外一个简单便捷的小工具-securable(下载)。

  在笔者的机器上显示如上图,代表不支持Hyper-V,因为三个条件均不满足,呵呵(记住,只要有一项不满足就不支持!

)。

如果你的系统显示的与下面的图相同,那么恭喜你,可以体验Hyper-V的无穷魅力了!

(三个条件均支持)

Hyper-V/Hyper-VServer2008下载

(A)Hyper-VServer2008中文正式版:

(B)WindowsServer2008Hyper-V64位:

(C)Hyper-V

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1