尽管Windows Server 2012 Hyper-V中加入了大量的新特性和改进功能,但是虚拟化平台仍然存在缺点。 从初期的测试版本开始,我就开始使用Hyper-V。微软增加新特性的速度之快让我很欣喜。但当每个Hyper-V新版本发布时,我仍然能看出需要做一些改进-以增加关键功能和减轻管理员负担。
下面列举了Windows Server 2012 Hyper-V中的三点不足和实际解决方案。 不同处理器架构的主机之间的快速迁移性能较差 只要主机的处理器属于同一品牌(如Intel或者AMD),就可以在Windows Server 2012 Hyper-V不同处理器的主机间实现虚拟机迁……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
![TechTarget微信公众号二维码](/wp-content/uploads/res/images/spriteimg/ttweixin.jpg)
TechTarget
官方微博
![TechTarget中国官方微博二维码](/wp-content/uploads/res/images/spriteimg/ttweibo.jpg)
TechTarget中国
尽管Windows Server 2012 Hyper-V中加入了大量的新特性和改进功能,但是虚拟化平台仍然存在缺点。
从初期的测试版本开始,我就开始使用Hyper-V。微软增加新特性的速度之快让我很欣喜。但当每个Hyper-V新版本发布时,我仍然能看出需要做一些改进-以增加关键功能和减轻管理员负担。下面列举了Windows Server 2012 Hyper-V中的三点不足和实际解决方案。
不同处理器架构的主机之间的快速迁移性能较差
只要主机的处理器属于同一品牌(如Intel或者AMD),就可以在Windows Server 2012 Hyper-V不同处理器的主机间实现虚拟机迁移。但如果要在不同厂商处理器的主机间进行迁移,就必须要关闭虚拟机,并将其移动到过度机器上。问题在于,如果虚拟机的磁盘空间很大,在迁移到新的Windows Server 2012 Hyper-V的主机过程中,将产生长时间的宕机。
应该如何改进?
对于基于windows的负载,我知道系统需要一个识别新处理器架构的过程,所以必须重启一次或两次。但是下面的方法可以使宕机时间从几个小时缩短到几分钟。
1.我认为微软应该采用和Windows Server 2008 R2 SP1快速存储同样或者相似的迁移流程来实现Windows Server 2012 Hyper-V主机间的实时迁移。即通过Hyper-V VSS Writer制作虚拟机快照,然后将数据传递到另外一个主机,源虚拟机保持运行状态。
2.一旦数据迁移完成、新虚拟机重启并离线以便允许虚拟机识别处理器架构,然后关闭。
3.随后,源虚拟机关闭,最终的Hyper-V VSS Writer快照生成。完成余下改动部分的迁移,目标主机上的虚拟机重启上线。
这个流程非常类似于物理机向虚拟机的迁移过程,预留一个Intel或者AMD平台的机器在线,迁移到另外一个具有不同处理器主机的虚拟机上。
这种方法的优点
这种流程有利于数据量大的虚拟机在主机间进行迁移,因为移动庞大的VHD/VHDX文件需要花费很长时间。带宽小的环境也能从中受益,因为在迁移过程中,源虚拟机始终保持在线。
不同Hyper-V版本间不适当的实时/快速迁移
Hyper-V的快速发展特性使其一直能满足当前应用程序的资源需求。但这种快速特性也需要将主机和虚拟机不断的迁移到最新版本的Hyper-V上。
大多数情况下,这个过程需要关闭虚拟机。之后,你需要将他们离线迁移到更新后的主机上,安装新的集成组件。
应该如何改进?
和上述情况类似,在不同版本的Hyper-V之间迁移虚拟机也需要重启来安装新的集成组件。但是增加的宕机时间不应该是流程的一部分。下面是我理解的未来发展方向。
1.Hyper-V运行Hyper-V VSS Writer辅助快照,将程序从正在运行的虚拟中移动,直到所有的数据移动到新的主机上。
2.然后自动启动新的目的虚拟机,并处于离线状态(虚拟网卡未连接),安装集成组件。
3.一旦有数据开始移动到新的目的主机上,立刻关闭源虚拟机。
4.将其他的剩余的改变部分从源虚拟机移动到目的虚拟机,使两台虚拟机保持同步。
5.最后重新启动目的虚拟机。
这种方法的优点
源虚拟机在所有数据转移到新主机之前都保持在线,同时,这种方法能够减少宕机时间和任何可能引起的突发情况。
运行的虚拟机上不支持动态增加内存配额
众所周知,几年间,服务器的工作负载需要更多的资源支持,包括硬盘、CPU和内存。微软在Windows Server 2008 R2 Hyper-V上增加了硬盘的热插拔特性,现在Windows Server 2012 Hyper-V也支持内存的热插拔,只要虚拟机配置为动态内存分配。但是如果虚拟机使用指定静态内存或者固定内存配额,热插拔特性是不能够实现的。
通过使用动态内存分配实现内存热插拔的特性,微软忽略了那些很可能依赖不间断内存扩容的程序,比如数据库或者是基于java的应用程序。这两种程序不建议或者不支持使用动态内存分配,因为他们需要使用全部已分配的内存并且不能调用为虚拟机动态分配的那部分内存。
严重依赖内存的程序常常配置容量为固定大小,他们需要频繁不间断地读写内存。基于这些原因,我认为增加的内存热插拔特性仍然是存在缺陷的,只能减轻管理员的部分工作负担而已。
应该如何改进?
使用已经在Windows服务器中应用的容量特性,微软应该在固定内存分配中增加调整最大内存的功能。
这种修复的结果
这种容量定义将减少另一种手动过程引起的宕机时间。它也将提供更多的自动修正进程(通过使用System Centre Operations Manager),让需要大量内存的程序周期性地增加资源。最后,它还能够满足一些突发的内存需求,如数据库这种对宕机很敏感的应用。
不要误解我的意思:Windows Server 2012 Hyper-V还是包含了一些不错的改进。但是,在每一个版本发布时,一些特性总是有一些限制而不能应用。以上的方法能够在很大程度上减少迁移和管理时间。但是很不幸,目前这些还不可用。
相关推荐
-
回顾年度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提供更多的支持。