《vMotion和EVC》由会员分享,可在线阅读,更多相关《vMotion和EVC(6页珍藏版)》请在金锄头文库上搜索。
1、第二局部vSphere DRS 分布式资源调度第二章 vMotion 和 EVCvMotion可能是行业功能变化最好的一个例子,当虚拟化首次推出,所有的是关于虚拟机的灵活性和便携性,然而,便携性和灵活性在虚拟机电源开启的状态是受限制的,当VMware/HV vMotion ,介绍他们改变了世界的IT, vMotion从字面上来说是现有组件上进行的开发,根底上参照“暂停和恢复的功能也早已存在,所以不要误读了最后那句话, 不过vMotion确实是一个很杰出的技术。如你们所希望的,vMotion是一个功能,开启后,你可以在不需要关闭虚拟机的情况下,将虚拟机从一台主机迁 移到另一台主机上,问题是仍然存
2、在,它是怎样工作的呢?这是一个相当复杂的过程,这个点多年来一直都被优化,它 允许你在一台支持10GB网络的主机上进行8个vMotion的并发,在写这篇文章的时候,还是限制为一台支持1GB网络的主机上进行4个vMotion的并发。一个vMotion的工作流程是怎样的?1 .验证目标主机兼容性2 .在目标主机上创立一个虚拟机的副本3 .通过vMotion的网络将每个内存页面从源地址复制到目的地址,这个过程称为预复制4 .在目标虚拟机上执行复制过来的虚拟机的内存,再把预复制过程中产生的内存页复制过来5 .继续复制上一次复制期间的内存页只到没有改变为止6 .将源虚拟机“眩晕,在目标虚拟机上恢复状态。这
3、听起来非常简单,真的是这样么,只有 6个步骤?但是,也有一些问题,如内存量变化超过了vMotion的网络吞吐能力的,我们都不希望知道这样的场景下会发生什么,例如,数据库效劳器有非常大的活动内存。在vSphere 4.1中,VMware介绍了 vMotion的局部功能一快速恢复,快速恢复开启,源虚拟时机被“眩晕,在 所有页面被复制完成,即在目标主机上开启虚拟机。但是,虚拟机已经在目标主机上运行,当它没有完全被复制完成时, 它可能尝试读或者写这个页面,在这样的情况下,快速部署将从源获得请求页面,并允许客户端完成请求的操作,同时, 继续复制剩余的内存页,知道所有的页面都被迁移,那么,如果 vMoti
4、on的网络发生故障会发生什么呢?目标虚拟机无法进入内存页,因为他们是“活的远程, vSphere 4.1中,为了解决这种情况,使用了存储来实 现故障的平安机制,也就是说会创立一个特殊的文件,这个文件根本上是用来作为备份缓冲区,在网络发生故障的情况 下,这个文件允许来完成迁移和提供两个主机之间的双向通信,是否很酷?一个典型的问题将会出现,这是否会影响到,卜能。很好理解的是,没有快速恢复,vMotion的大活动内存的虚拟机将非常困难,切换时间可能很长,并可能导致失去与虚拟机的连接,虽然快速恢复会影响页面访问,但在未复制时, 给虚拟机带来非常大的好处,而临时增加的内存访问时间影响是微乎其微的,vSp
5、here 5.0中,快速恢复被淘汰,将介绍新的功能给大家,让我们看看发生了什么变化。vMotion的改变?在vSphere 5.0中,当涉及到可扩展性和性能时,vMotion的根本原理发生了一些改变。 vMotion多网卡支持 在页面发送时“眩晕 支持高链路延迟 改良错误报告vMotion多网卡支持我们将要讨论vMotion 一个非常本质和易见的功能,vMotion现在能够利用多张网卡同时工作来减少 vMotion的 操作时间,这意味着,即使单一的 vMotion可以利用所有配置的vMotion网卡。vSphere 5.0之前,只有一个网卡用来 启用vMotion , vMotion使用多个网
6、卡将需要移除一些带宽和吞吐的约束,下面的列表显示了当前多网卡vMotion支持的最大数量: 1GbE -支持16个网卡 10GbE支持4个网卡重要的要实现万兆以太网接入,效劳器要配置最新的PCI卡才能使用万兆的带宽,这个要求才能确保你的效劳器能够充分利用这些能力。根本设计原那么当设计您的虚拟化环境,其中设计网络架构需要考虑虚拟机的规格,如果有足够的带宽用于vMotion ,那么迁移完成时间会更快,更早的使虚拟机离开主机。设计效劳器平台时,需要考虑网络带宽峰值-不仅是考虑网卡的能力,同时也要考虑PCI总线的能力。页面发送期间“眩晕这是用来代替快速恢复的全新功能,在“眩晕期间页面发送是指虚拟机的v
7、CPUJ迁移,并通过vMotion跟踪客户页面改变的频率,或者工程师更喜欢称之为“弄脏,弄脏的速率是比照传输的速率,如果弄脏的速率超过传输的 速率,源vCPU等被置于睡眠状态来减低弄脏的速率,直到 vMotion迁移过程完成。有利的是vCPU超多只会被睡眠几 毫秒,SDPS眩晕期间页面发送频繁,短暂的睡眠时间,破坏虚拟机的工彳量刚好保证 vMotion内存页变化率能跟上, 并允许一个成功的、非破坏性的过程完成,你可以说,谢谢SDPS不管什么激进方式,你都可以vMotion任何类型的负载。重要的是要了解到,SDPSR是在vMotion发生故障之前,减缓虚拟机的内存的变化率。这是每一个虚拟机的根底
8、, 通过高级虚拟机设置,可以调整此行为。要禁用特定主机上所有虚拟机的 SDPS使用vSphere Client连接,选择所需要更改的主机,然后点击右侧“配 置选项卡。 在左侧软件窗口下,点击高级设置 点击左侧的 Migrate ,滚动到 Migrate.Sdps Enabled 更改 Migrate.SdpsEnabled 的值为 0 点击OK请注意,我们强烈劝阻禁用 SDPS当页面弄脏的速率超过了主机间的传输速率,那么SDP哙将其踢出,换句话说,如果你的虚拟机内存非常不活泼,那么SDSP出其的时机会非常小,如果确实踢出,是为了阻止虚拟机失败后的vMotion迁移过程,现在注意,默认情况下,S
9、DP骰有做任何事情,当接到一个需求通常你的虚拟机在vMotion的时候不会被扼杀注意SDP蹴禁用时,高度活泼的虚拟机vMotion可能会失败,还有一种可能是 vMotion的链路vMotion通道等待时 间超过10s过期失败导致弄脏的速度快于复制的速度。支持更高的等待时间-vMotion通道当我们讨论长距离的vMotion时,最大的制约就是等待时间。vSphere 5.0之前,vMotion支持的最大等待时间 为5秒,你可以想象,这限制了很多客户启用跨站点群集。在 vSphere 5.0中,企业加强版最大的等待时间进行了翻倍 到达了 10秒,当根底架构的组件共享存储都被启用,这应该使得更多的客
10、户在站点间开启DRS增强型vMotionVMware曾弓虽vMotion兼容性EV。通过使用Intel Flex和AMD-破术促进了不同CPU间进行vMotion ,当EVC 启用时,EVCM以确保群集内所有的CPU! vMotion兼容。EVC硬件虚拟化的交互支持VMware的hypervisor的独特之处在于它支持多种执行方式,这取决于底层硬件的能力。VMkernel将自动选择虚拟机管理程序的执行模式,将提供最好的硬件功能和各种类型的操作系统,可使用虚拟化加速功能 VT-XAMD-V/RVI/EPT或者EVC基线和虚拟机交换机,这些模式能围绕群集,最好的执行虚拟机迁移。EVC勺好处是什么?
11、因为EVCt许您在不同系列的CPU1迁移虚拟机,新老代的效劳器混合在一个群集中,仍然允许这些主机之间进 行vMotion迁移。这使得现在架构中添加硬件更容易,有助于延长主机的价值。EVCM怎样工作的?EV明用后,群集下所有主机将根据用户选择的处理器类型为群集下运行的所有虚拟机提供处理器特性,来确保 vMotion时CPU勺兼容性,即使主机与主机间的底层硬件可能不同。无论虚拟机在哪个主机上运行,它都有相同的CPU功能,因此虚拟机可以在群集中的任何主机间迁移。理解EVCR专注于特定系列的CPUS关重要,例如SIMDSSE或者AMDI在的CPUtJ能。EV或软件这层隐藏虚 拟机的CPU能,但不是为这
12、些功能做广告,这意味着功能仍是可用的和活动的,当启用EV通能时,他们不会进行广播,CPU勺基线必须被选择,这个基线表示所选择的 CPU!列的功能集和公开特定CPU列功能,当一个开启EVC的群 集中一台虚拟机开启,群集的基线将附属于虚拟机,直到该虚拟机关闭。注意尽管虚拟机已经迁移到其它的 EV嘴集,但EVC勺基线继续附属到该虚拟机直到虚拟机关闭。如果一个配置了新一代CPU勺ESXi主机参加到群集中,基线会自动隐藏 CPU勺新的和独特的功能。例如:一个群集的一台 ESXi主机配置了 Intel? Xeon? Core? i7 的CPU俗称Intel Nehalem ,基线选择Intel Nehal
13、em系列一这样集群中就有了 Intel的Merom歹U, Intel Penryn 系列和Nehalem系列的虚拟机,这样所有的 虚拟机就提供了 Intel Merom 功能力上SSE 4.1 , SSE 4.2 , Popcount和RDTSC这些可用功能。图:49 Intel EVC 基线当一个配置了 32nm的CPU勺ESXi主机参加群集,额外的CPU!令,如AES/AESNI和PCLMULQDQ被自动抑制。EV微影响应用程序的性能么?这是可能的,但可能性很小,虚拟机中运行的应用程序将受益于设置了 EVC急藏指令集,但是,请记住,启用EVC 可能会影响专门编写的应用程序的性能,以利于这些
14、特殊指令。在一般情况下,应i能预料到使用 EVC您的应用程序将不会产生明显的性能损失,虽然 EVC从虚拟机的系统和应 用中隐藏了 CPU能,这些功能并不影响虚拟架构中常见软件的性能。 例如,EV5影响大多数软件使用的每秒的指令, 核心数量,硬件加速,缓存或者其它 CPUJ能。新系列的CPU布后,软件厂商可能会更新或者发布新的软件版本,以充分毅力新系列的CPU隹出的新指令。软件开发周期总是落后于硬件的开展,造成利用和实施新的指令集延迟。止匕外,新指令集通常有专门的使用情景,这意味着在虚拟化架构中大多数的新指令与业务应用无关。唯一例外的就是加密和解密的加速用到了 AES-NI指令集,现在许多流行的
15、应用程序都进行了加密,包括SSL库,在其最新版本中利用这个指令集,根据工作量,使用这些AES指令可以提供超过500%勺性能提升。虚拟机之间利用AES指令集进行相互认证和传输层SSL方式的通信积木法一个非常流行的设计方法是使用积木法。积木是扩展框架的概念,并勾勒出一个预先定义的设置来允许可扩展性, 同时保持标准化的项和模块。群集配置通常被视为一个构建块,虽然一些公司购置了一个群集,同一时间,其他人使用 模块化的方法购置了固定数量的物理主机,来进行规划,逐步扩大自己的群集。EVCt许混合不同系列的CPU让积木架构的群集进行扩展和调整。一个潜在的警告就是同一个群集不同系列的混合硬件性能上会有所波动。新一代的CPU比老一代的CPUt旨够提供更好的性能增长,从而虚拟机和应用程序有不同的进展。例如2021年Intel XeonNehalem500MHz 比2006年Intel Xeon Core 2Merom 500MHz计算更快。这样的配置会增加性能故障的复杂性。这是一个极端的例子,大多数客户虽然组合不同,但都是几代相邻的处理器,而不是一个群集中完全不同的硬件相结合。EVC寸容错虚拟机的自动DRS勺影响vSphere 4.1中,EVCt许DRSZ容错FT虚拟机生成初始位置,并在负载均衡的期