Windows Server 2016 Hyper-V提升虚拟机资源管理效率

日期:2016-11-4作者:Brien Posey

【TechTarget中国原创】服务器虚拟化最棒的特性之一是降低硬件成本。并非将单台物理服务器指定给单个工作负载,而是在多个虚拟工作负载之间共享硬件资源。如果资源是被平均消耗的,那么资源共享方式非常有效。然而不成比例的资源消耗有可能会给众多工作负载带来负面影响。使用Windows Server 2016 Hyper-V提供的功能,就不会存在这个问题了。
资源控制
理论上讲,单个虚拟机应该从不会消耗过多的硬件资源,以至于虚拟机消耗过多的资源,对运行在同一主机上的其他虚拟机造成破坏。毕竟有很多独立的hypervisor功能用于避免资源消耗失控。例如,存储QoS功能可以用于监控存储I/O使用。类似地,动态内存使用可以用于限制一台虚拟机从不会消耗掉超过预先设置的内存值。

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

评论
查看更多评论

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

作者>更多

Brien Posey
Brien Posey

微软最有价值专家(MVP),具有二十多年的IT经验,前后获得七次微软MVP,重点专注SharePoint管理,发表过上千篇文章,并出版十多本IT书籍。

微软Hyper-V>更多

相关推荐

技术手册>更多

  • 多hypervisor管理技术手册

    管理异构环境已不再是个禁忌的话题。如今,很多组织的IT环境中使用多种hypervisor。那么如何管理混合的hypervisor环境呢?本期技术手册分析多hypervisor趋势、介绍如何保障多hypervisor环境的安全,并分享管理多hypervisor环境的工具与技巧。

  • VMware vSphere 5手册

    VMware每年中旬都会进行一次重大的发布。7月13日,VMware推出了vSphere 5和云基础架构套件。vSphere 5较之旧版有哪些大的变化?您是否已经做好了升级到vSphere 5的准备?

  • 开源虚拟化:KVM介绍

    Linux虚拟化技术的用户目前有两种免费的开源管理程序可以选择:Xen和KVM。KVM是一个轻量级的虚拟化管理程序模块,该模块主要来自于Linux内核。由于其性能和实施的简易性,以及对Linux重量级的持续支持,所以还是有必要认真对待KVM技术的。

  • 提高Hyper-V动态迁移五大技巧

    停机时间曾经是虚拟机迁移过程中令人痛苦的荆棘。但动态迁移改变了这种情况。现在,动态迁移消除了停机时间,除此之外仍然有一些方法可以来改善将虚拟机从一个物理主机移动到其他地方的方法。速度和安全是提高Hyper-V动态迁移的两大焦点。其中包括加快和自动化保护迁移过程的方法和策略。下面我们提供了提升Hyper-V动态迁移速度和安全的五种不同方式。

TechTarget

最新资源
  • 存储
  • CIO
  • 网络
  • 服务器
  • 数据中心
  • 云计算
【TechTarget中国原创】

服务器虚拟化最棒的特性之一是降低硬件成本。并非将单台物理服务器指定给单个工作负载,而是在多个虚拟工作负载之间共享硬件资源。如果资源是被平均消耗的,那么资源共享方式非常有效。然而不成比例的资源消耗有可能会给众多工作负载带来负面影响。使用Windows Server 2016 Hyper-V提供的功能,就不会存在这个问题了。

资源控制

理论上讲,单个虚拟机应该从不会消耗过多的硬件资源,以至于虚拟机消耗过多的资源,对运行在同一主机上的其他虚拟机造成破坏。毕竟有很多独立的hypervisor功能用于避免资源消耗失控。例如,存储QoS功能可以用于监控存储I/O使用。类似地,动态内存使用可以用于限制一台虚拟机从不会消耗掉超过预先设置的内存值。

尽管hypervisor层面的控制应该能够避免虚拟机消耗太多的资源。但在一些实际应用场景中,虚拟机消耗过多的硬件资源可能会影响到其他虚拟机。例如,管理员可能忘记了启用某些可用的资源控制功能。

类似的情况是,虚拟机级别配置不合理可能会导致不合理的资源争用。例如,假定管理员希望将虚拟机上限内存值设置为4000MB,但不小心多输入了一个零,这样就会允许虚拟机消耗将近40GB的内存。

当然,疏忽或者虚拟机层面偶尔错误的资源设置不一定意味着虚拟机将具有破坏性。然而假定这样的一台虚拟机正在运行一个糟糕的应用,将该虚拟机可用的资源完全消耗掉了。更糟的是,需要考虑这样的一台虚拟机将会引发服务拒绝攻击。

主机资源保护

在研发Windows Server 2016 Hyper-V的过程中,微软开始意识到过度的资源消耗会威胁相邻的虚拟机,这样需要采取更好的保护策略以避免这类虚拟机产生破坏性。在公有云比如Azure中,这类控制必不可找。而在私有或混合云环境中,云供应商并没有对虚拟机内部运行的程序进行控制。

微软针对该问题的答案是提供了主机资源保护功能。主机资源保护被设计为避免虚拟机影响相邻虚拟机的性能。

目前,主机资源保护仅限于vCPU。如果hypervisor检测到特定虚拟机CPU调度过于频繁,将会给虚拟机分配更少的CPU资源,这样就确保了运行在该主机上的其他虚拟机继续获得充足的CPU资源。

尽管主机资源保护仅限于CPU,但考虑到微软以前引入到Hyper-V中的新功能,似乎该功能最终将会被扩展至对其他类型的硬件资源进行保护。

PowerShell cmdlets

主机资源保护默认是禁用的,但可以通过在Windows PowerShell使用Set-VMProcessorcmdlet cmdlet启用。完整的命令如下:

Set-VMProcessor -EnableHostResourceProtection $True

如果需要禁用主机资源保护,可以使用如下命令禁用该功能:

Set-VMProcessor -EnableHostResourceProtection $False

如果感觉对Set-VMProcessor cmdlet似曾相识,可能是因为在之前版本的Hyper-V中该命令就已经存在了。尽管主机资源保护功能是在Windows Server 2016 Hyper-V中才引入的,但Set-VMProcessor cmdlet一直支持对单个虚拟机的CPU资源进行限制。Set-VMProcessor可以被用于向单个虚拟机分配特定数量的虚拟处理器,也可以设置最大的CPU使用阈值,CPU预留值以及相对权重。

例如,假定管理员希望给一台名为DemoVM的虚拟机分配两个vCPU,为使事情变得有趣,我们同样假设管理员希望限制虚拟机使用50%的CPU资源,预留10%的CPU资源并将相对权重设置为100。那么应该使用如下命令:

Set-VMProcessor DemoVM -Count 2 -Reserve 10 -Maximum 50 -RelativeWeight 100

随便说一下,通过Hyper-V Manager同样可以进行上述设置。

该技术与启用Windows Server 2016 Hyper-V主机资源保护功能最主要的差异在于主机资源保护针对的是物理主机而不是虚拟机,而且不需要对CPU进行细粒度的配置。