本文意在让用户明白,我们的愿望就是让你的工作尽可能的象系统管理员或者网站管理员的一样容易。我们所做的一切就是为了减轻用户的压力!因此最近我们为用户研发了各种各样可使用的网络资源,提供涵盖了使用WMI监控服务器测算,到使用VBScript追踪IIS,再到选择最有效的NoSQL数据库工具的一切的技巧。这样的例子可谓不胜枚举。
当下我们会为用户提供有关hyper-v虚拟化管理程序的一些技巧。hyper-v管理程序到底是什么?你可能会问,我为什么应该关心这个问题?根据维基百科的解释,微软的Hyper-V,代号Viridian,就是之前大家所熟知的Windows Server Virtualization,是一款以X86-64虚拟化系统为基础的管理程序软件。Hyper-V自从推出了免费的单机版以来,又相继发行了测试版,如今已经升级到Release 2 (R2)版本。
那么Hyper-V管理程序是做什么用的?根据维基百科的解释,Hyper-V管理程序可以在分区中支持隔离。一个分区就是一个隔离的逻辑单元,由管理程序提供支持,在操作系统中完成。一个管理程序实例必须至少有一个在Windows Server 2008上运行的母分区。虚拟化软件在母分区中运行,可以直接访问硬件设备。然后母分区可以创建子分区来托管客户端操作系统。一个母分区能创建使用hypercall应用编程接口(这也是Hyper-V的应用软件编程界面)的子分区。
总而言之,Hyper-V管理程序让虚拟化成为可能。虚拟化能帮助系统管理员使用更少的资源完成更多的任务,这不正是每家企业用户都想要的吗?
因此,为了让你的生活更加简单轻松,以下是使用Hyper-V管理程序的一些技巧:
1.不要与其他服务共享Hyper-V硬件
你的Hyper-V主机资源应该专门用来运行虚拟机。如果你在主机上安装和运行像SQL Server或者Exchange这种其他的服务,那么他们不仅会消耗主机的资源,而且还会让故障修理变得更加困难。
2.在Windows Server Core上安装Hyper-V管理程序
在Windows Server 2008操作系统中选择安装Server Core会安装最小限度的Windows Server 2008来运行诸如Hyper-V这样的可支持服务器角色。当你选择这种安装模式时,Windows安装程序会只安装用来支持服务器角色的文件,图形用户界面和非基础的子系统不会被安装在操作系统中,这样能减少内存和存储的需求。
3.创建性能基准线
为了让你的Hyper-V管理程序的性能保持在最佳状态,你必须在系统运行时对资源消耗的变化快速做出识别和反馈。如果你一开始就创建了性能基准线的话,那么你只需要识别变化即可;换句话说,当一切运转良好时,你必须了解你的系统是如何运转的。你可以使用诸如Monitis这样的全天候监控工具来升级你的资源规划蓝图。
4.给Hyper-V虚拟机分配足够的中央处理器和硬盘资源
用物理硬件解决方案创建你正在使用的Hyper-V虚拟机需要计划投入使用110%到125%的中央处理器资源和105%到110%的硬盘资源。通过为Hyper-V虚拟机配置额外的资源,你可以确保为物理硬件提供匹配的性能,同时与Hyper-V虚拟化技术所需的管理费用相适应。
5.最好使用64位客户端操作系统
32位Windows操作系统每次最多只能使用2GB的虚拟寻址空间,这太微不足道了!而64位操作系统可以允许应用软件充分利用Hyper-V主机上安装的内存容量。
6.优化虚拟机内部的工作负载
根据Hyper-V主机上资源可用性的不同,如果其中一个虚拟机使用过多的资源,那么其他虚拟机的性能就会受到影响。时刻监控每个虚拟机的工作负载,遵循最佳的实践方法,如果出现问题时能随时做出快速反馈。这也是为什么授信合作伙伴的即时通知是如此重要的原因。
7.关闭没有使用的虚拟机
如果一个虚拟机不再提供任何服务,请将其关闭。这样能将主机上的有用资源释放出来,这也是对应用环境的贡献。如果一个虚拟机只能在某个时间段提供服务,请在需要时使用自动化脚本进行启动。
8.选择支持SLAT的处理器
Hyper-V管理程序的R2版本新增了一些特性,可以减少管理程序运行虚拟机所需的内存,还能提高性能。从功能上来说,处理器本身也起到保证虚拟机内存和如何与主机上内存相匹配的作用。通过让处理器执行这种操作,管理程序使用的内存容量更小,处理器所需的能耗也有所降低。
使用来自英特尔和AMD的最新款处理器,Hyper-V管理程序可以激活二级寻址转换(简称SLAT)功能。二级寻址转换需要处理器可以支持扩展页表(对于英特尔处理器而言)或者快速虚拟化索引(对于AMD处理器而言)。
9.杀毒软件必须对虚拟机文件说不
如果病毒扫描软件是在主机上运行的,那么对虚拟化文件的连续扫描会影响硬盘的性能。配置杀毒软件时不要将包含虚拟机VHD和配置文件的文件夹包括在内。如果你必须保护虚拟机的话,请在虚拟机内部安装杀毒软件。
10.了解你的工作负载
通过了解你正在运行的工作负载类型,你可以集中优势资源,将重点放在你最希望从系统中获取的回报上。举例来说,并不是所有的工作负载都必须由虚拟机来处理。诸如SQL server这样的工作负载通常比处理器更受内存和硬盘子系统的限制。在这种情况下,购买速度更快的处理器并不能为虚拟机提供更高的性能。为什么不使用省下来的钱去投资内存或者更快的存储子系统呢?
#p# 11.为主机留出部分内存
为主机至少留出512MB的随机存储器空间。内存是由Hyper-V管理程序的虚拟化软件所使用的。Hyper-V管理程序只有在至少有32MB可用随机存储器的情况下才能允许虚拟机运行。每个虚拟机也都有内存管理局限-比较理想的基准线是为所分配的虚拟随机存储器首个十亿字节预留32MB的随机存储器,外加虚拟随机存储器每个额外的十亿字节预留8MB的存储空间。
12.安装多个存储控制器
虚拟机所处理的输入/输出数量不亚于物理系统,如果虚拟机要应对如此大规模的输入/输出,就会让存储控制器处于过载状态。那么正在使用存储控制器上的虚拟硬盘的其他虚拟机性能就会有所牺牲。
13.分段存储
为虚拟化配置存储空间并不总是意味着配置最大容量的可用硬盘。在很多情况下,对于许多高性能工作负载,更好的解决方案是采用多个更小的硬盘而不是几个更大的硬盘。
14.使用多路径输入/输出
多路径输入/输出(也就是大家所熟知的MPIO)是一种利用冗余组件-诸如适配器,电缆和交换机来为同一个存储提供多个路径的技术。一旦连接出现问题,多路径输入/输出可以提供冗余备份,因此流量还会继续。Windows Server可以免费提供这项功能。多路径输入/输出可以与光纤通道和ISCSI连接配合使用。我们高度推荐在虚拟机环境中使用多路径输入输出。
15.使用高性能硬盘
你会看到基于硬盘转速和硬盘上可用高速缓存的性能差异。从7200转硬盘升级为10000转硬盘甚至是15000转硬盘所获取的性能提升是非常明显的,比过去提高的水平就更高了。同样,如果你将4MB或者8MB高速缓存升级为16MB或者32MB高速缓存也能提高性能。
16.使用带外管理
保留Hyper-V主机管理的网络界面。你可以使用这个界面来连接配置了Hyper-V管理器和其他管理工具的主机。
使用分离的界面,你可以在不影响其他正在运行的虚拟机的情况下转换虚拟硬盘。另外通过这种界面,当虚拟机生产网络适配器出现高负荷情况时,你可以有效的解决性能出现的故障,
17.提高网络容量
只要有可能,将虚拟机隔离在独立的虚拟交换机上。每个虚拟交换机会受到主机上不同物理网络接口卡端口的约束,可以将虚拟机流量分离出来。出于安全和性能的考虑,这么做是比较好的。
18.当使用ISCSI时对网络流量分段
虚拟机会使用ISCSI或者说主机会使用ISCSI吗?
如果主机正在使用ISCSI(以故障转移集群为例),那么应该有一个与其他客户端虚拟机使用的任何适配器端口相区别的独立适配器端口。
如果虚拟机正在使用ISCSI,我们推荐你为存储和生产型工作负载创建独立的虚拟网络。
19.安装综合服务
如果你安装综合服务的话,你可以替换遗留的普通硬盘来为IDE,SCSI和网络虚拟控制器提供最好的性能。
20.避免将使用综合服务的虚拟机和没有使用综合服务的虚拟机混合在一起
无法使用综合服务的虚拟机必须使用遗留的网络适配器来访问物理网络。为了与遗留网络适配器相适应,你可能必须限制网络界面上的某些高端特性。但是这么做不会限制综合设备的功能。另外,使用仿真设备可以在Hyper-V服务器上完成额外的工作负载。
#p# 21.利用动态内存特性
动态内存是Windows 2008 R2 Service Pack 1新增的一项特性。好处是动态内存能确保主机内存以最有效的方式分配给虚拟机。当工作负载变化时,虚拟机需要不同数量的资源分配。你不能通过手动分配内存来实现。
22.只要有可能,请使用固定规模的硬盘
当你在物理存储上托管连续文件时,固定的硬盘空间可以一次性完成分配。动态硬盘空间可以按照需求进行分配,这可能会导致存储设备中文件形成片段。你会发现你无法获得最可能的性能。
23.关闭主机上的Hyper-V管理器
不要用Hyper-V主机本身来管理虚拟机,因为任何本地创建的程序都会使用无法为虚拟机所承受的资源。Hyper-V管理器为了保证屏幕快照和虚拟机状态的应用软件升级会消耗内存和处理器资源。
24.为每个物理核心分配一个虚拟处理器
保证虚拟处理器与物理处理器核心的正确配比就不用担心一个虚拟机消耗了其他虚拟机的处理器资源。当这么做无法实现时,使用每个虚拟机上的处理器资源控制器来配置具有优先权的虚拟机。
25.禁用虚拟机网络卡的TCP卸载功能
卸载TCP任务只对物理网络有效,对虚拟网络是没用的。要禁用这个功能请参看:http://msdn.microsoft.com/en-us/library/ff565746.aspx。
26.激活主机上物理网络适配器硬盘中的卸载功能
卸载TCP任务对于物理适配器IS是有效的。因此如果可能的话,在主机上激活这项功能。请从以上链接的同一篇文章中获取更多的相关信息:http://msdn.microsoft.com/en-us/library/ff565746.aspx。
27.当使用多个物理网络卡时,将干扰每个网络卡的设备与单个网络处理器捆绑在一起
在特定工作负载下,将干扰单个网络适配器的设备与单个逻辑处理器捆绑在一起能提高Hyper-V管理程序的性能。系统管理员可以使用IntPolicy工具来捆绑干扰特定处理器的设备。要了解更多有关IntPolicy工具的信息,请参看:http://msdn.microsoft.com/en-us/windows/hardware/gg463378.aspx。
28.如果可能的话,激活Hyper-V综合网络适配器的VLAN标识
Hyper-V综合网络适配器可以支持VLAN标识。如果物理网络适配器可以支持大型发送和阻止卸载的话,可以提供更加的网络性能。没有这种支持,Hyper-V工管理程序无法使用需要VLAN标识的硬件信息包卸载,网络性能可能也会大大降低。
29.安装高速网络适配器和配置最大的性能
可以考虑在Hyper-V主机上安装1GB的网络适配器,并配置固定速度的网络适配器。网速和所连接的交换机上所设置的流量控制参数都是非常重要的。
30.避免在Hyper-V Storage所使用的硬盘上存储系统文件
不要在专门用来存储虚拟机数据的硬盘上存储任何系统文件,比如页表文件或者TEMP目录。再次重申这样做只是在浪费资源。
我们希望以上用来改进Hyper-V虚拟化的信息能帮助你提高虚拟化性能并减少浪费。更多有关提高IT性能的建议静待下文分解。