系统要求
设计目的
Hyper-V设计的目的是为广泛的用户提供更为熟悉以及成本效益更高的虚拟化基础设施软件,这样可以降低运作成本、提高硬件利用率、优化基础设施并提高服务器的可用性。
虚拟硬盘空间
正式版Hyper-V控制台,版本有一定变化。在微软的Hyper-V虚拟机创建过程中,最大虚拟硬盘可以达到2040GB,当然,即使创建2TB的硬盘,也不会立刻就占用2T的物理空间分配,给虚拟机安装了一个2TB的硬盘,至少可以在虚荣心上相当的满足。
架构特点
Hyper-V采用微内核的架构,兼顾了安全性和性能的要求。Hyper-V底层的Hypervisor运行在最高的特权级别下,微软将其称为ring-1(而Intel则将其称为rootmode),而虚拟机的OS内核和驱动运行在ring0,应用程序运行在ring3下,这种架构就不需要采用复杂的BT(二进制特权指令翻译)技术,可以进一步提高安全性。
高效率的VMbus架构
由于Hyper-V底层的Hypervisor代码量很小,不包含任何第三方的驱动,非常精简,所以安全性更高。Hyper-V采用基于VMbus的高速内存总线架构,来自虚机的硬件请求(显卡、鼠标、磁盘、网络),可以直接经过VSC,通过VMbus总线发送到根分区的VSP,VSP调用对应的设备驱动,直接访问硬件,中间不需要Hypervisor的帮助。
这种架构效率很高,不再像以前的VirtualServer,每个硬件请求,都需要经过用户模式、内核模式的多次切换转移。更何况Hyper-V现在可以支持VirtualSMP,WindowsServer2008虚机最多可以支持4个虚拟CPU;而WindowsServer2003最多可以支持2个虚拟CPU。每个虚机最多可以使用64GB内存,而且还可以支持X64操作系统。
完美支持Linux系统
和很多朋友的想法不同,Hyper-V可以很好地支持Linux,我们可以安装支持Xen的Linux内核,这样Linux就可以知道自己运行在Hyper-V之上,还可以安装专门为Linux设计的IntegratedComponents,里面包含磁盘和网络适配器的VMbus驱动,这样Linux虚机也能获得高性能。下图所示的就是NovellSUSELinux10SP1,其中的网卡驱动,其总线类型就是VMbus。
这对于采用Linux系统的企业来说,是一个福音,这样我们就可以把所有的服务器,包括Windows和Linux,全部统一到最新的WindowsServer2008平台下,可以充分利用WindowsServer2008带来的最新高级特性,而且还可以保留原来的Linux关键应用不会受到影响。
和之前的VirtualPC、VirtualServer类似,Hyper-V也是微软的一种虚拟化技术解决方案,但在各方面都取得了长足的发展。
Hyper-V可以采用半虚拟化(Para-virtualization)和全虚拟化(Full-virtualization)两种模拟方式创建虚拟机。半虚拟化方式要求虚拟机与物理主机的操作系统(通常是版本相同的Windows)相同,以使虚拟机达到高的性能;全虚拟化方式要求CPU支持全虚拟化功能(如Inter-VT或AMD-V),以便能够创建使用不同的操作系统(如Linux和MacOS)的虚拟机。
从架构上讲Hyper-V只有“硬件-Hyper-V-虚拟机”三层,本身非常小巧,代码简单,且不包含任何第三方驱动,所以安全可靠、执行效率高,能充分利用硬件资源,使虚拟机系统性能更接近真实系统性能。
按照微软的虚拟化产品路线,微软在将2008年第四季度,推出脱离WindowsServer2008的、独立的虚拟化产品Hyper-VServer。
技术
谈到虚拟化技术想必大家现在并不陌生,在整个IT产业中,虚拟化已经成为关键词,从桌面系统到服务器、从存储系统到网络,虚拟化所能涉及的领域越来越广泛。虚拟化并不是一个很新潮的技术,如x86虚拟化的历史就可以追溯到上世纪九十年代,而IBM虚拟化技术已经有40年的历史。虚拟化的初衷是为了解决“一种应用占用一台服务器”模式所带来的服务器数量剧增,
导致数据中心越来越复杂,管理难度增加,并且导致能耗和热量的巨大增长等问题。早期的虚拟化产品完全基于软件并且非常复杂,执行效率比较低下,并没有得到广泛的应用。WindowsServer2008是通过Hyper-V的虚拟化技术来实现虚拟化的。
如今虚拟化技术已经得到了飞速的发展,主要的操作系统厂商和独立软件开发商都提供了虚拟化解决方案,同时,硬件上的支持使虚拟化执行效率大大提高,自2006年诞生第一颗支持虚拟化技术的处理器以来,目前在x86构架中绝大多数处理器都开始支持虚拟化技术。
虚拟化技术可以定义为将一个计算机资源从另一个计算机资源中剥离的一种技术。在没有虚拟化技术的单一情况下,一台计算机只能同时运行一个操作系统,虽然我们可以在一台计算机上安装两个甚至多个操作系统,但是同时运行的操作系统只有一个;而通过虚拟化我们可以在同一台计算机上同时启动多个操作系统,每个操作系统上可以有许多不同的应用,多个应用之间互不干扰。
通过虚拟化我们可以有效提高资源的利用率。在数据机房我们经常可以看到服务器的利用率很低,有时候一台服务器只运行着一个很小的应用,平均利用率不足10%。通过虚拟化我们可以在这台利用率很低的服务器上安装多个实例,从而充分利用现有的服务器资源,可以实现服务器的整合,减少数据中心的规模,解决令人头疼的数据中心能耗以及散热问题,并且节省费用投入。
流量监控
监控Hyper-V虚拟机的基本网络流量统计很简单,但是由于Hyper-V中网络的虚拟化方式,执行实际的数据包捕获就很难了。下面是多个选择:
计数器
最基本的监控是给定VM的简单带宽利用率,这一点都不难。Hyper-V有四个基本的网络性能计数器群组,可以通过记录和分析来了解Hyper-V本身和每个独立虚拟机的网络流量。
网络接口
这个计数器设置描述Hyper-V中使用的物理网络设备。这种设置的计数器可用来查看Hyper-V中流入流出的流量作为一个整体运行得怎么样。
Hyper-V虚拟交换机
可以统计Hyper-V虚拟机之间交换的流量。还有一个相似的计数器设置叫做Hyper-V虚拟交换机端口,用户可以看到这个交换机上某个特定端口的数据统计。
Hyper-V遗留网络适配器和Hyper-V虚拟网络适配器
这两个性能计数器设置提供特定虚拟机的网络活动详细信息。这些计数器组中每一个的子设置都有一个VM易记的名字,还有其网络适配器的名字,加上VM和适配器的GUID,防止用户使用Windows管理规范(WMI)查询。
这两个计数器设置的最大不同在于用户监控的VM是否使用了集成服务。很明显,用户想要在任何可能的时候使用集成服务,并且使用虚拟网络适配器计数器。没有集成服务运行的虚拟机需要使用遗留网络适配器计数器,尽管这会带来一定的效能损失。
数据包捕获
如果在一个Hyper-V实例中,用户要监控所有来自或去向虚拟机的数据包级网络流量怎么办?也就是说,要进行数据包检查和网络捕获。不幸的是,现在还没有在Hyper-V本身中直接这么做的方法。虚拟网络适配器还没有混合模式,某种程度上是为了增强安全性和VM间的独立性,也是为了保护管理程序本身。
改进和变化
除了在构架上进行改进之外,Hyper-V还具有其它一些变化:Hyper-V基于64位系统:微软的新一代虚拟化技术Hyper-V是基于64位系统的,我们知道,32位系统的内存寻址空间只有4GB,在4GB的系统上再进行服务器虚拟化在实际应用中没有太大的实际意义。在支持大容量内存的64位服务器系统中,应用Hyper-V虚拟出多个应用才有较大的现实意义。微软上一代虚拟化产品VirtualServer和VirtualPC则是基于32位系统的。
硬件支持上大大提升:Hyper-V支持4颗虚拟处理器,支持64GB内存,并且支持x64操作系统;而VirtualServer只支持2个虚拟处理器,并且只能支持x86操作系统。并且在Hyper-V中还支持VLAN功能。支持Hyper-V服务器虚拟化需要启用了Intel-VT或AMD-V特性的x64系统。Hyper-V基于微内核Hypervisor架构,是轻量级的。Hyper-V中的设备共享架构,支持在虚拟机中使用两类设备:合成设备和模拟设备。
Hyper-V提供了对许多用户操作系统的支持:WindowsServer2003SP2、NovellSUSELinuxEnterpriseServer10SP1、WindowsVistaSP1(x86)和WindowsXPSP3(x86)、windowsXPSP2(x64)。在刚刚发布的Hyper-VRC1代码中还增加了对Windows2000ServerSP4以及Windows2000AdvancedServerSP4的支持。
实际部署
介绍Windows2012Server的虚拟桌面技术时曾经提到过,它的VDI可以基于虚拟机进行发布,微软其实很早就在其系统集成了VPC(虚拟PC)却一直没有引人关注,各方面的表现也差强人意,Hyper-V在历经几次版本升级已经非常给力,不仅在其性能上大有提升,而且在现在又与其原生的桌面虚拟化融合,使我们可以更加灵活组合搭配应用环境,进行各种场景下的桌面交付。
基本安装
1.在“服务器管理器”中添加角色,列表中选择“Hyper-V”
2.选择搭建虚拟环境网络环境所要指定的映射网卡,关于此项设置以前有安装调试过VMwareWorkstation的朋友一定不会陌生...
3.关于虚拟机迁移时的身份验证模式的设置,Hyper-V的定位是服务器虚拟化,虚拟机迁移功能是必备的,在扩容、备份、集群组建时,迁移功能是非常有用的,而且在很多实际场景下我们会物理物理器迁移到虚拟机服务器中,也有可能要对多台虚拟服务器进行集群间的迁移,而且这种迁移是需要在工作状态下保证业务不断的前提下进行的。Hyper-V在设计已经具备了相关的功能。
4.文件存放位置,我们在Hyper-V中所创建的虚拟机都有对应用VHD文件(以及其他配置文件)产生,这些文件存放在什么地方需要指定一个默认的路径。提醒一下为了提高Hyper-V的存储性能,存放虚拟机文件所在磁盘组应该要高速的企业级设备上,在条件允许的情况下可以考虑SASRAD与SSD等;在硬件性能上保障大量并发读写时的可靠性。
5.Hyper-V角色功能已经添加完成,在服务器管理器中展开“Hyper-V管理器”。
创建虚拟机
1.在“操作”菜单中打开“新建”、“虚拟机”
2.为这台虚拟机命名、设置内存分配的大小、选择桥接的网卡...创建虚拟机文件的存放路径设置...配置光驱.(可以指定一个ISO映射为光盘)
虚拟机系统
1.选中这台机器鼠标右键菜单中选择"连接",我们将可以直接从窗口中控制这台机器了...
2.展开的窗口中我们可以像平常操作VM的虚拟机一样对这台Hyper-V虚拟机进行完全控制。
3.Hyper-V的虚拟机会从之前设置ISO光盘引导,一步步的完成系统的安装与配置;
管理虚拟机
Hyper-V的定位更多偏向于服务器虚拟化,我们除了系统部署配置外,在正常运行的情况下,一般无需长期直接在这个控制台连接到虚拟机上进行操作,为系统保留更多的资源。只要服务器配置强劲,我们可以在Hyper-V创建更多的虚拟桌面会话主机或服务器,用于发布和后台服务,Hyper-V的管理器就如同一台隐形的机柜,机柜中放置中一组各式的服务器,平常没什么大问题时都可以利用3389远程桌面连接来调试服务器。