使用PowerShell进行Hyper-V监控与测试

日期: 2010-10-19 作者:Brien M. Posey翻译:李哲贤 来源:TechTarget中国 英文

通过PowerShell可以实现VMware中的很多管理功能,因此Hyper-V也可以通过类似的方式去管理。然而微软在通过PowerShell命令(或称为cmdlet)管理Hyper-V方面做的工作并不多。   如果您的版本是Windows Server 2008 R2,借助文件库可以和VMware一样通过免费的PowerShell cmdlet来监控和管理Hyper-V。该文本库俗称“PowerShell Module for Hyper-V”,其中包括了用于完成虚拟机状态监控、检索硬件配置和获取其它虚拟机相关数据的cmdlet。

通过这些Hyper-V便捷管理方式,您可以检查虚拟机是否健康、……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

通过PowerShell可以实现VMware中的很多管理功能,因此Hyper-V也可以通过类似的方式去管理。然而微软在通过PowerShell命令(或称为cmdlet)管理Hyper-V方面做的工作并不多。

  如果您的版本是Windows Server 2008 R2,借助文件库可以和VMware一样通过免费的PowerShell cmdlet来监控和管理Hyper-V。该文本库俗称“PowerShell Module for Hyper-V”,其中包括了用于完成虚拟机状态监控、检索硬件配置和获取其它虚拟机相关数据的cmdlet。通过这些Hyper-V便捷管理方式,您可以检查虚拟机是否健康、内存容量甚至是功能状态。

  安装和测试用于Hyper-V管理的PowerShell

  PowerShell模块需要简单几步安装过程,你需要主机安装2.0版的.NET Framework和启用Windows PowerShell。请注意安装程序需要调用PowerShell脚本,因此您只有在系统中启用PowerShell执行策略为无限制模式(微软通常不推荐这么做)才可以完成安装。通过输入Set-ExecutionPolicy Unrestricted cmdlet可以更改策略。如果您不希望做更改,可以手动完成各个部分的注册。

  完成PowerShell模块安装后下一步是检查您的用户是否具备在服务器上的管理员权限,否则部分Hyper-V管理用cmdlet可能无法工作。输入Test-Admin cmdlet可以检查权限。图1中所示Windows通过 true或false给出是否具备管理权限的回答。

  图1

PowerShell

  在您安装完PowerShell模块后,检查账户是否具备管理员权限。

  监控虚拟机状态

  PowerShell可以监控在Hyper-V服务器上的多个虚拟机的运行状态。通过如下cmdlet获取虚拟机参数:

  Get-VM.Windows返回某台服务器上的每台虚拟机的名称、基本状态和正常运行时间等信息。

  Get-VMSummary。输入该命令,并附加您希望检查的机器名称,可以获得某个指定虚拟机的更多细节。Windows会返回很多,包括虚拟机使用的虚拟CPU数量、CPU加载历史记录、操作系统、创建时间以及被系统认证过的域名全称等信息。(参考图2)

  图2

命令行

  通过命令行可以获取虚拟机的健康信息。

  测试虚拟机功能

  您还可以了解虚拟机是否按照指定的方式工作。使用Test-VMHeartbeat cmdlet来检查虚拟机是否响应。Windows返回OK表示指定的虚机心跳信息正常。(参考图3)

  图3

虚拟机心跳

  测试虚拟机心跳信息检查硬件配置

  很多cmdlet可以返回虚拟机的硬件资源分配情况。如下的硬件专用cmdlet可以帮助改善Hyper-V的管理。

  Get-VMSettingData.Windows返回每个虚拟机硬件配置的详细信息。如图4,我指定了用列表输出的方式。另外,还可以以概要方式输出。如果您没有指定虚拟机,cmdlet会提供所有该服务器上的虚机硬件配置。为了补充您的Hyper-V管理策略,可以把该信息输出为CSV文件并在Excel中编辑。

  图4

虚拟机

  您可以获得虚拟机的硬件配置信息 

  Get-VMMemory.这个cmdlet提供了为每台虚拟机保留的内存数量(参考图5)。这对于资源规划来说是非常方便的,您在Hyper-V主机中添加虚机前,必须确切知道空闲的内存数量。

  图5

虚拟机内存

  查看每台虚机分配的内存空间。

  Get-VMCPUCount使用该cmdlet可以识别为每台虚机分配的CPU核心数量。

  Get-VMProcessor准确的讲这个cmdlet返回的是性能状态,图6中显示了正在工作中的虚拟机CPU占用率。

  图6

CPU配置

  Windows窗口中提供了CPU的配置和性能情况

  结论

  请了解,PowerShell模块是成熟的Hyper-V管理解决方案。如果您需要的功能比如上列举的要多,我建议自行下载和测试该模块。库体中包含的PowerShell cmdlet可以帮助提高您的系统管理能力。

作者

Brien M. Posey
Brien M. Posey

Brien M. Posey,微软认证系统工程师,Windows 2000 Server 和 IIS方面最有价值专家。Brien曾任全国性连锁医院的CIO,负责过Fort Knox的网络安全。作为一名自由撰稿人,他为微软, CNET, ZDNet, TechTarget, MSD2D, Relevant Technologies 以及其他的科技公司写过稿。

翻译

李哲贤
李哲贤

TT虚拟化特约作者

相关推荐

  • 回顾年度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提供更多的支持。