在这系列的第一部分中,TechTarget中国的特约作者Greg Shields讨论了Hyper-V对PerfMon的更改以及如何测量虚拟机处理器的利用率。不过测量处理器计数器是检查Hyper-V虚拟机是否健康的唯一方法。其他现有的计数器有助于识别Hyper-V主机是否超载或者能轻松地完成所分配的任务。在本文中,我们将识别这些附加的计数器以及介绍如何使用它们。
Hyper-V根分区和PerfMon计数器 PerfMon计数器中有一种与“在安装Hyper-V之前唯一使用的那个操作系统”有关。在Hyper-V实例中,这个叫做根分区。Hyper-V架构要求在每台虚拟主机上运行这样的根分区。这……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
在这系列的第一部分中,TechTarget中国的特约作者Greg Shields讨论了Hyper-V对PerfMon的更改以及如何测量虚拟机处理器的利用率。不过测量处理器计数器是检查Hyper-V虚拟机是否健康的唯一方法。其他现有的计数器有助于识别Hyper-V主机是否超载或者能轻松地完成所分配的任务。在本文中,我们将识别这些附加的计数器以及介绍如何使用它们。
Hyper-V根分区和PerfMon计数器
PerfMon计数器中有一种与“在安装Hyper-V之前唯一使用的那个操作系统”有关。在Hyper-V实例中,这个叫做根分区。Hyper-V架构要求在每台虚拟主机上运行这样的根分区。这个分区可以是完整的Windows Server版本或者Server Core实例,为本身使用的驱动和宿主其中的虚拟机提供管理访问和服务。由于运行Hyper-V的服务器需要“完整的操作系统”根分区,可能——但不推荐除了Hyper-V,Hyper-V主机还要运行角色或应用。
由于你能安装其他功能,可能也想要测量根分区的资源使用情况。问题是一旦安装Hyper-V后,PerfMon计数器工作的方式就改变了。查看% Processor Time的值,它跨根分区及所有虚拟机显示整体处理器使用率。如果你只想查看根分区本身的使用率,应该查看计数器Hyper-V Hypervisor Root Virtual Processor% Total Run Time。这个测量有助你了解服务器“附加”功能的资源需求。
内存利用率计数器
Hyper-V的内存利用率是一个计数器,实际上与传统计数器一起使用。Hyper-V不能给虚拟机分配过多内存,也就是说给虚拟机分配的内存不能多于服务器本身所拥有的物理内存。因此你需要计算出能分配多少内存给客户端,并且注意每台虚拟机的使用情况。查看所分配内存的实际使用情况的计数器是MemoryAvailable Mbytes。
微软对Hyper-V内存分配的一个准则是为根分区预留至少512MB的RAM。此外,也需要为分配给虚拟机的RAM每个字节预留额外内存。微软的标准是对分配给虚拟机的第一个RAM字节预留额外的32MB,后面的则为8MB。将同台服务器上所有虚拟机的预留空间加起来就是我们应该预留的。由于虚拟机开启时将消耗所有这些分配给它的内存,对于除了根分区的其他所消耗的内存资源是多少,我们可以查看MemoryAvailable Mbytes计数器的值。
虚拟机网络的PerfMon计数器
微软提供了两种可以附属到虚拟机的虚拟网络适配器。“Network Adapter”是一个合成设备,用于平衡到根分区的VMBus连接。正因如此,这个设备需要安装Hyper-V的整合服务。实际上,这些整合服务应该安装到所有Windows工作负荷上。除了让虚拟机获得更好的性能以外,这些服务提供关键管理功能,如时间整合和在线备份。另一个虚拟网络适配器是“Legacy Network Adapter”。这个网络适配器使用较慢的模拟方法,在虚拟机与物理硬件之间转换命令,所以只适用于个别情况。
在PerfMon里,与这两个适配器相关的计数器都是可用的。对合成驱动(高性能)可以用的计数器是Hyper-V Virtual Network AdapterBytes Received/sec和Hyper-V Virtual Network AdapterBytes Sent/sec,以及对模拟驱动(低性能)有帮助的Hyper-V Legacy Network AdapterBytes Received/sec和Hyper-V Legacy Network AdapterBytes Sent/sec。在所有情况下,跨虚拟网络进行的测量创建并捆绑在Hyper-V的Virtual Network Manager物理适配器里。当跨这些计数器查看性能时,需要注意多个虚拟机能共享少量虚拟网络。所以计数器所显示的结果可能是跨多个虚拟机的聚合信息。
Hyper-V里的其他有用计数器
最后,Hyper-V添加了三组计数器,乍一看功能有限,不过能识别环境里发生的有趣行为。第一个计数器是Hyper-V Task Manager Detail,提供了已经完成和正在进行的某个任务的信息。
另一个可用计数器是Hyper-V Virtual Machine Summary,提供虚拟机完成个别活动(如应用快照、删除、合并磁盘及其他行为)的瞬时信息。
第三个计数器很有趣,叫做Hyper-V Virtual Machine Health Summary,它列出了那些虚拟机运行得很健康以及哪些虚拟机面临崩溃。不过,没有解释这些计数器识别虚拟机某个时候健康的标准信息。
在查看Performance Monitor实时图象时,虽然这三组计数器不能立即显示出有用信息,不过它们对决定Hyper-V主机的状态非常有用,可以确定Hyper-V主机是脚本的一部分或者创建一个数据采集设置成预定任务运行。对于用在数据采集设置报告里的快照类型的数据,了解虚拟机各种不同操作状态的计数很方便,这样便于使用其他性能度量校正你的架构。
作者
Greg Shields,MCSE(微软认证系统工程师),是Concentrated Technology(www.concentratedtechnology.com)共同创始人和IT技术专家。他拥有近十五年的IT架构和企业管理经验。同时,也是一名IT培训师,并对IT多个技术主题进行演讲,主要包括微软管理、系统管理及监控、虚拟化等。他最近的著作是由SAPIEN出版社出版的《Windows Server 2008: What's New/What's Changed》。
翻译
相关推荐
-
回顾年度9大虚拟化技术
虚拟化管理员从未放弃追寻更好虚拟化技术,以使他们的工作更快、更易于管理以及更好地优化。 我们看到,虚拟化工具在 […]
-
从Azure VM到Hyper-V:想想这些技巧
多年来,IT行业已经推动IT人员把工作负载转到云中。虽然在公有云中有一些好处,但有些工作负载更适合运行云本地数据中心中。
-
功能多样的Get-VM PowerShell cmdlet,你知道多少?
Hyper-V管理员能够使用Get-VM PowerShell cmdlet查看并调整一系列虚拟机配置信息。微软花费大量精力对PowerShell进行优化,以提升其对本地或者远程服务器的管理功能。
-
支持Linux虚拟机:新版Hyper-V来帮忙
大家都知道,Linux虚拟机无法利用Hyper-V针对Windows虚拟机提供的众多特性。幸运的是,情况已经发生变化,Hyper-V现在能够为Linux提供更多的支持。