为新部署的微软Hyper-V环境中的主机和网络挑选合适的硬件并非易事,更不用说在生产环境中衡量和监控性能这项任务了。在本文中,我将剖析组成Hyper-V底层硬件架构的不同部件,先从处理器的配置开始说起,之后会介绍内存、存储和网络等子系统。

然后我们会深入介绍提升性能的方法和技巧、如何选择合适的Hyper-V版本、配置方面的常见问题,最后介绍虚拟机的性能监控以及这与物理环境监控有何不同之处。

注意:所有建议都适用于Windows Server 2008 R2(含服务包1)中的Hyper-V.就可扩展性方面的局限而言,即将推出的Windows Server 8中新的Hyper-V版本有了很大的改进,但是这不是本文探讨的话题。这里给出的建议只适用于最新的Windows版本。

虚拟处理器和逻辑处理器

我接触的IT管理员对于虚拟处理器和逻辑处理器是什么,它们对于某一个物理主机上虚拟机的大数量有何影响经常存在一种误解。这不仅与分配给虚拟机的处理器数量有关,还与每个主机的物理内存数量直接有关(下一回会介绍)。

逻辑处理器是多核处理器的一个核心,所以一个四核处理器有四个逻辑处理器。如果该四核处理器有超线程(Hyper Threading)技术,它会显示为八个核心;这意味着,你的系统有八个逻辑处理器。尽管微软的说明文档这么介绍逻辑处理器,但是要注意:超线程并不会神奇地让处理器容量翻番。为了稳妥起见,就看核心算作逻辑处理器——如果你启用了超线程技术,其数量也不会翻番。

虚拟处理器是你分配给一个个虚拟机的资源;你能分配多少个虚拟处理器,取决于访客/虚拟机操作系统。在这里,操作系统版本越新,功能就越强;所以Windows 2008/2008 R2能与四个虚拟处理器协同运行,而Windows Server 2003只能被分配一两个虚拟处理器。SuSE Linux企业版、CentOS和红帽企业版Linux(它们都是得到支持的操作系统版本)最多可以被分配四个虚拟处理器。如果你在虚拟桌面基础架构(VDI)环境中运行客户机操作系统,Windows 7最多可以与四个虚拟处理器协同运行,Vista能看到两个虚拟处理器,Windows XP SP3能看到两个虚拟处理器。这里有更详细的信息:http://technet.microsoft.com/en-us/library/cc794868(WS.10)。aspx.

就因为你为某一个虚拟机分配了两个或四个虚拟处理器,并不是说你应该这么做。首先,由于跨处理器的通信,在任何多处理器系统中存在一定的开销——无论是物理处理器还是虚拟处理器。但是在较新的操作系统中开销比较低,所以Windows 2008 R2虚拟机使用四个虚拟处理器没什么问题,而Windows Server 2003可能需要进行测试,看看在你的特定环境下使用两个虚拟处理器有没有好处。其次,这完全取决于工作负载——有些应用程序是密集的多线程(想一想SQL Server等类似应用),使用几个虚拟处理器比较好;而单线程应用程序或者只有几个线程的应用程序得到的好处并不大。

另一个常见的误解是,为虚拟机分配一个或多个虚拟处理器与物理核心有关系。为虚拟机分配虚拟处理器其实更像为虚拟机分配一段预定的处理器时间,而虚拟机管理程序实际上把运行虚拟机的负担分摊到所有可用的处理器核心上。

分配给某一个主机上多个虚拟机的虚拟处理器数量与微软的这个建议密切相关:一个系统中每个逻辑处理器的虚拟处理器至少是4个,每个逻辑处理器的虚拟处理器最多是8个。例外情况是:如果你在VDI环境下是清一色的Windows 7虚拟机,支持的大比率是12;也就是说每个逻辑处理器的虚拟处理器最多可以是12个。

如果你有配备2个四核处理器(即八个逻辑处理器)的Hyper-V主机,那么运行8个虚拟机完全没问题,每个虚拟机有4个虚拟处理器(共32个虚拟处理器)和最多16个虚拟机(共64个虚拟处理器)。如果你为每个虚拟机只分配了两个虚拟处理器,那么在每个虚拟机一模一样的这个例子中把那些数量提高一倍。当然,在实际情况下,不同虚拟机中虚拟处理器的数量会有所不同,具体看里面运行的工作负载。

想查看你主机上虚拟处理器与逻辑处理器的比率,你可以手动查看每一个运行的虚拟机,然后累计被分配的虚拟处理器的总数,这个方法不是很方便。更好的办法就是运行这个简单的PowerShell cmdlet命令,它会给出答案:

write-host (@(gwmi -ns rootvirtualization MSVM_Processor)。count / (@(gwmi

Win32_Processor) | measure -p NumberOfLogicalProcessors -sum)。Sum) "virtual

processor(s) per logical processor" -f yellow

多谢微软的虚拟化项目经理Ben Armstrong给出了这个方法。

图1表明了我启用了超线程技术的四核笔记本电脑上的数值(共8个逻辑处理器),有4个虚拟机在运行,每个虚拟机有4个虚拟处理器。

图1:使用这个简单的cmdlet命令,很容易搞清楚Hyper-V主机上虚拟处理器与逻辑处理器的比率。

了解你在每个虚拟机上要运行的工作负载和应用程序,这点也很重要:它们是不是受处理器的限制还是受内存的限制?它们是否得益于多线程,因而是否得益于额外的虚拟处理器?

确保你购买的处理器支持二级地址转换(SLAT),英特尔称之为扩展页表(EPT),AMD则称之为快速虚拟化索引(RVI),AMD早期的说明文档称之为嵌套页表(NPT)。比较旧的处理器不支持SLAT,这意味着每个虚拟机将多占用10MB至30MB的内存,处理器占用率将增加10%或更多。

SLAT可以带来显著的效益,具体视工作负载而定。如果你对远程桌面服务(Remote Desktop Services)进行虚拟化处理,可能会看到SLAT处理器支持的会话数量最多增加40%.搭载大容量二级缓存和三级缓存的处理器也有助于处理要求大量内存的工作负载。

图2:为虚拟机分配虚拟处理器很容易;只要从列表中进行选择即可。

最后,如果你有一个主机,但处理器资源有限,那么你只要使用虚拟机预留设置和虚拟机限额设置,就可以改变诸虚拟机之间的平衡关系;虚拟机预留设置确保了虚拟机总是可以使用这个数量的处理器资源(但限制了可以在主机上运行的虚拟机总数),虚拟机限额设置控制着虚拟机可以使用多少被分配的处理器容量,Relative weight(相对权重)将该虚拟机与其他运行的虚拟机作一平衡;如果这个值比较低,意味着它在竞争时间段获得的资源会比较少。微软的建议是,除非你有充足的理由要改动,否则别去改动这些设置。

还有处理器兼容性设置,让你可以在拥有不同年代处理器的主机之间迁移虚拟机,还让你可以运行版本很老的操作系统,比如Windows NT.

关注中国IDC圈官方微信:idc-quan 我们将定期推送IDC产业最新资讯

查看心情排行你看到此篇文章的感受是:


  • 支持

  • 高兴

  • 震惊

  • 愤怒

  • 无聊

  • 无奈

  • 谎言

  • 枪稿

  • 不解

  • 标题党
2020-10-12 17:05:25
互联网 网银互联作为网络优化服务唯一供应商,正式入驻杭州跨境电商综试区
近日,网银互联与中国(杭州)跨境电子商务综合试验区签订了合作协议,网银互联将作为首家网络优化服务供应商入驻综试区,届时,网银互联将为为综试区数以万计的跨境电子商 <详情>
2020-10-07 22:16:32
云资讯 索尼收购Nevion 增强云计算端到端解决方案
索尼影像产品及解决方案公司(简称索尼)近日宣布,收购虚拟化媒体制作解决方案提供商Nevion AS(Nevion),以进一步增强其业务组合,为广电及其他领域业务提供基于IP和云 <详情>
2020-06-29 16:06:03
市场情报 财务服务器“虚拟化”,浪潮助力鄂旅投开启“云化”之路
随着鄂旅投集团资产规模的不断扩大和业务量的不断增加,对财务信息化管理的要求不断提高,如何提升系统运行效率,降低运行风险?在虚拟化、云技术已经成为可靠、先进的信息化技 <详情>
2020-02-19 12:59:00
互联网 智汇华云|华云大咖说:华云安超OS医疗云解决方案分享
随着科技的不断发展,医疗与科技正在全面融合。从目前来看,中国医疗体系正在进行大规模改革,不仅加速实施基于信息化平台、 HIS 系统的整体建设,还推动医疗业务应用与基 <详情>
2019-11-25 16:59:00
云资讯 联想企业业务集团与VMware达成战略合作 赋能中国客户智能转型
此次联想与VMware的深度合作,将助力联想在超融合架构、混合云、虚拟化等软件定义方面形成更具创新性和多样性的产品与解决方案,更好的服务于中国客户。” <详情>