IT管理员必须通过监控和记录Hypervisor的性能表现来了解内存使用、磁盘延迟和网络带宽等信息。微软Hyper-V可以使用内置的工具来实时监控计算资源,但是必须要经过正确和持续的使用才能够产生预期效果。考虑到这些,让我们对比两个内置的免费Hyper-V性能监控工具:任务管理器和性能监视器。
在虚拟化环境中,监控对象是最为重要的,所以任何Hyper-V性能监控和报告工具都必须能够识别虚拟化环境。在监控系统所有资源的基础上,还可以查看每台虚拟机(VM)的资源使用情况。如果不能,那么这个工具就会产生不准确的数据,让管理员产生错误的理解。
假设你在一台双核服务器上创建了两个Hyper-V虚拟机,使用任务管理器来监控两台虚拟机的性能表现。如果每台虚拟机都被分配了两个虚拟CPU(vCPU)——并且负载可以使用所有可用的vCPU资源——那么两台虚拟机都将会报告100%的处理器使用率,而实际每台虚拟机只使用了50%的处理器周期(两台虚拟机不能同时使用所有的CPU周期)。当使用普通的性能计数器时,即便像性能监控器(Perfmon)这样功能更加强大的工具也会产生错误的结果。
但是,Hyper-V提供了一系列单独的计数器,允许管理员针对主机(系统)层和客户端(虚拟机)层来分别监测资源使用情况。对于上面的处理器情况来说,对应的Hyper-V计数器称为"\Hyper-V Hypervisor Logical Processor(_Total)\% Total Run Time",其可以报告所有花费在运行主机和客户机器上的总处理器时间。但是称作"\Processor(*)\% Processor Time"的Hyper-V计数器只能报告花费在主机上的处理器时间。在你查看了所有这些数据之后,才能够判断机器是否健康、资源不足或者十分紧张。
Hyper-V还提供了许多其他针对虚拟化的性能监控计数器,来解决其他核心性能问题,比如网络、内存和磁盘输入/输出。例如称为"\Logical Disk(*)\Avg. sec/Read"和"\Logical Disk(*)\Avg. sec/Write"的计数器可以报告磁盘读写次数,小于15毫秒的响应时间通常被认为是健康的。对于内存,Hyper-V计数器"\Memory\Available MBytes"可以报告系统的可用内存,50%以上的可用内存被认为是健康的。"\Memory\Pages/sec"计数器可以报告每秒产生的页交换文件数量,每秒钟500个或者更少是健康的;更多的交换文件可能意味着可用内存的不足。
还有很多其他的Hyper-V计数器。Windows服务器和Hyper-V文档可以为你提供针对所有计数器的更加完整的索引。但是,如果需要在Hyper-V性能监控中使用更加复杂或者自动化特性,可以选择使用功能更加强大的工具,比如ManageEngine提供的免费Hyper-V性能监控工具、微软System Center Virtual Machine Monitor、Veeam的Veeam ONE、DeLL提供的适用于虚拟化环境的Foglight、以及SolarWinds的Server & Application Monitor。