动态迁移是虚拟化技术的一个标志,它允许虚拟机在服务器间进行动态迁移、调节负载平衡、性能管理、备灾管理和数据中心维护。Windows Server 2012 R2中的Hyper-V动态迁移默认功能具备相当的灵活性,管理员必须了解Hyper-V环境中一些潜在的可调优和可变选项。Hyper-V动态迁移提供相应的配置灵活度,实现更高效率,但如果没有将诸如处理器兼容性的因素考虑在内的话,TCP包和备份将引发Hyper-V性能问题。

Hyper-V运用现代Intel和AMD处理器的独特能力来改进虚拟机性能,当虚拟机创建后Hyper-V将充分利用处理器性能。当某个虚拟机被迁移到另一个主机系统,迁移到的系统的处理器需要与原有系统完全一致。这将保证迁移以后的虚拟机可正常工作。理想地说,如果数据中心的每个服务器都使用相同的处理器,那所有的虚拟机都可以无缝地进行动态迁移。

但迁移整个数据中心,甚至是整个集群,都很难碰到处理器是相同的情况。Hyper-V同样提供了对处理器的兼容模式,允许虚拟机在使用分属相同Intel或AMD处理器家族的不同处理器的系统间实现迁移,但无法实现在Intel和AMD平台间的迁移。

选择(处理器)兼容性模式需要停止和重启虚拟机,这无疑将影响某些关键应用。然而,当虚拟机停止,找到虚拟机的设置界面并在处理器选项下检查"迁移到一个使用不同处理器的物理计算机"的选项,这将使虚拟机只应用那些在迁移前后都可以支持的特性。尽管处理器兼容模式对动态迁移的速度没有决定性影响,但它可以预防虚拟机的迁移失败。

TCP chimney包是通过将网络传输从服务器的处理器转移到网络适配器上的另一项可以改进网络和系统性能的技术。Hyper-V动态迁移允许在迁移过程中通过转移TCP栈的方式迁移TCP包。如果目标服务器有NIC功能,也将支持TCP包,其特点在于一旦迁移完成将立刻搬回到硬件上。否则,TCP栈会一直保留在虚拟机上。

Hyper-V每次只能初始化一个动态迁移过程,因此处理器可以传递或接收虚拟机。如果部署的是服务器集群,则集群可以迁移多个续集你,但每个节点每次只能单向发送或接收虚拟机。例如,某集群中有四台服务器,该集群可以同时进行两个动态迁移过程。System Center Virtual Machine Manager 2012 R2可在两边的服务器上调用维护模式,使双方的服务器处于已保存的冻结状态,或在集群中将所有虚拟机执行有序地迁移。

迁移的虚拟机备份也是有技巧的。通常,需要虚拟机置为到保存的冻结状态,存储快照存到硬盘中,然后将虚拟机恢复工作状态。然而,这种办法会牺牲工作内容的可用性。借助诸如Volume Shadow Copy Service(VSS)这样的工具在虚拟机内存储子虚拟机快照进行备份是可能的,这样便不需要将虚拟机置为保存的冻结状态。

如果迁移过程与备份过程相冲突,VSS将等待迁移过程完成,再恢复备份过程。但当备份完成,已被迁移的虚拟机就不在原来开始备份的服务器上了。备份过程依靠共享容量的集群中的文件依旧可以完成,但备份的内容仅仅是一个副本而非普通的在线备份。有规则的迁移活动环境应坚持快照,以确保及时和完整地保护虚拟机。为了避免Hyper-V的性能问题,在迁移过程中不要安排备份活动。

Hyper-V动态迁移中?小心性能损失的更多相关文章

  1. Hyper V NAT 网络设置 固定IP / DHCP

    Hyper V 默认的Default Switch同时支持了NAT网络以及DHCP,虚拟机能够访问外网. 但使用过程中发现这个IP网段经常变化,而且Hyper V没有提供管理其NAT网络与DHCP的图 ...

  2. Oracle 中的一些重要V$ 动态性能视图,系统视图和表

    v$database:数据库的信息,如数据库名,创建时间等. v$instance 实例信息,如实例名,启动时间. v$parameter 参数信息,select * from v$parameter ...

  3. 【转】 Oracle 中的一些重要V$ 动态性能视图,系统视图和表

    v$database:数据库的信息,如数据库名,创建时间等. v$instance 实例信息,如实例名,启动时间. v$parameter 参数信息,select * from v$parameter ...

  4. Oracle12c中SQL性能优化(SQL TUNING)新特性之自动重优化(automatic reoptimization)

    Oracle12c中的自动重优化 Oracle12c中的自适应查询优化有一系列不同特点组成.像自适应计划(AdaptivePlans)功能可以在运行时修改执行计划,但并不允许计划中连接顺序的改变.自动 ...

  5. x86服务器中网络性能分析与调优 转

    x86服务器中网络性能分析与调优 2017-04-05 巨枫 英特尔精英汇 [OpenStack 易经]是 EasyStack 官微在2017年新推出的技术品牌,将原创技术干货分享给您,本期我们讨论 ...

  6. 【SQL系列】深入浅出数据仓库中SQL性能优化之Hive篇

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[SQL系列]深入浅出数据仓库中SQL性能优化之 ...

  7. 基于NFS共享存储实现KVM虚拟机动态迁移

    基于NFS共享存储实现KVM虚拟机动态迁移 一:配置环境 二:安装相关的依赖包 三:实现NFS共享存储 四:KVM机配置相同的步骤 五:安装KVM01安装虚拟机 六:实现迁移  实验初始配置:所有主机 ...

  8. 【翻译】.NET 5中的性能改进

    [翻译].NET 5中的性能改进 在.NET Core之前的版本中,其实已经在博客中介绍了在该版本中发现的重大性能改进. 从.NET Core 2.0到.NET Core 2.1到.NET Core ...

  9. kvm安装window系统及使用NFS动态迁移

    验证是否开启虚拟化 # grep -E 'svm|vmx' /proc/cpuinfo - vmx is for Intel processors - svm is for AMD processor ...

随机推荐

  1. 做一个vue模态弹出框如何

    运用的知识点包括: 路由的配置 插槽 vue的过渡动画 路由重定向 router/index.js里面配置路由 import Vue from 'vue' import Router from 'vu ...

  2. leetcode 355 Design Twitte

    题目连接 https://leetcode.com/problems/design-twitter Design Twitte Description Design a simplified vers ...

  3. Python高效开发实战——Django、Tornado、Flask、Twisted

    今天要推荐的就是这本书,内容涉及四种主流的Python Web开发框架,零基础完成网站搭建.数据库设计.前后端开发,全方位领悟Python原理与应用. 最新最全的框架实战,尽在这本书,可搜索亚马逊.京 ...

  4. PHP代码规范的一些总结

    世界第一语言在手,辅以前人的最佳实践,天下又算什么. 1.代码是写给小白用的 注释,注释,注释,重要的事情说三遍.我们做的虽然不是拿去卖源码的商业产品,不需要把注释写的多么优美.但也不要太过吝啬,到头 ...

  5. jquery datatable 获取当前分页的数据

    使用jquery datatable 遇到分页分别求和时,找了半天才找到获取当前分页数据的方法,以此总结 var table=$('#example').DataTable( { "pagi ...

  6. iOS 不同的崩溃类型

    http://m.blog.csdn.net/kangguang/article/details/62501490 用汇编语言编写的软件跟用脚本或标记语言编写的Web应用的差别在于,前者在出现问题时会 ...

  7. 【BZOJ3994】[SDOI2015] 约数个数和(莫比乌斯反演)

    点此看题面 大致题意: 设\(d(x)\)为\(x\)的约数个数,求\(\sum_{i=1}^N\sum_{j=1}^Md(i·j)\). 莫比乌斯反演 这是一道莫比乌斯反演题. 一个重要的性质 首先 ...

  8. 【HDU1542】Atlantis (扫描线的经典运用)

    点此看题面 大致题意: 给你\(N\)个矩形,请你求出它们覆盖的面积(重叠的面积只算一次). 扫描线 这道题是一道典型的求矩形面积并问题,是扫描线的一个经典运用.这里就不赘述了. 代码 #includ ...

  9. swift和oc之间的相互调用(block,代理)

    第一:swift->oc 这个相对简单一点, 在自动生成的桥接文件中导入你要掉的oc文件名就可以了, 如果没有生成桥接文件也可以自己手动创建(Header File) 第二:oc->swi ...

  10. SyntaxError: Non-ASCII character ‘\xe5′ in file和在代码中插入中文,python中文注释

    SyntaxError: Non-ASCII character '\xe7' in file 出现这种错误的原因是程序中的编码出问题了,只要在程序的最前面加上 #coding: utf-8 重新保存 ...