vmware 虚拟机迁移

迁移虚拟机:
迁移意味着将虚拟机从一个主机,数据存储或vcenterserver迁移到另一个主机,数据存储,或vcenterserver
迁移的类型:
冷迁移:将电源关闭的虚拟机迁移到新的主机或数据存储中
挂起:将挂起的虚拟机迁移到新的主机或数据存储
Vsphere vmotion:将开机状态的虚拟机迁移到新主机
Vsphere storage vMotion:将开机状态的虚拟机文件迁移到新的数据存储中
不共享的vsphere vmotion:将开机状态的虚拟机同时迁移到一个新的主机和一个新的数据存储中
很多场景会用到迁移的技术,比如我们要停止主机进行维护但要保持虚拟机运行,那么用vsphere vmotion迁移虚拟机
如果需要将虚拟机的文件移动到另一个数据存储来平衡磁盘的负载,那么使用vsphere storage vmotion
Vsphere vmotion有特殊的硬件需求,必须满足这些需求才能正常运行,其他技术,不需要特殊的硬件需求就可以正常运行

迁移的类型对比:
vmware 虚拟机迁移_第1张图片

Vsphere vmotion:虚拟机的整个状态从一个主机转移到另一个主机,而数据存储将保持在相同的数据存储中
状态信息:包括当前内存内容和所有定义和标识虚拟机的信息
定义和标识信息:
所有映射到虚拟机的硬件元素,包括:
 BIOS
 Devices
 Cpu
 Mac地址的以太网卡

vSphere vMotion 迁移:
将一个通电的虚拟机从一个主机迁移到另一个主机上。

Vsphere vmotion 提供一下功能:
 改善整体硬件使用
 支持持续的虚拟机操作,同时适应计划的硬件停机时间
 允许vSphere DRS(动态资源平衡)在主机之间平衡虚拟机(虚拟机会根据主机的负荷状态,自动分配/迁移到不同的主机,并且业务不中断)

vSphere vMotion 迁移过程:
vmware 虚拟机迁移_第2张图片

ESXi 01上的虚拟机要迁移到ESXi02上
用户可以通过管理网络连接到vcenter server 访问两个主机

  1. 影子虚拟机在目标上创建
  2. 虚拟机的内存状态通过vsphere vmotion 网络复制到目标主机,用户可以继续访问虚拟机,并在内存中修改页面的列表并保存在源主机的内存位图中。
  3. 在完成第一轮内存状态之后,将执行另一轮内存复制,以复制在最后一次迭代中更改的任何页面,直到没有更改的页面保留
  4. 将虚拟机的大部分内存从源主机复制到目标主机之后,虚拟机将暂停,虚拟机停止服务,在静默期间(时间很短暂),vsphere vmotion将虚拟机设备状态和内存位图传输给目标主机。
  5. 目标虚拟机通过内存位图恢复内存数据,在新的主机上运行虚拟机,在源虚拟机中删除内存数据。

虚拟机需要满足的要求:

  1. 不应该有到内部虚拟交换机的活动链接(一个没有直接连接到物理NIC的交换机),迁移这样的虚拟机会产生错误
  2. 必须没有配置CPU关联
  3. 不能与安装了本地映象的虚拟设备(如CD/DVD或软盘驱动器)链接
  4. 如果目标主机无法访问vSphere vMotion 的交换文件,则在开始迁移之前,vSphere vMotion 必须能够创建目标主机可以访问的交换文件
  5. 如果它使用RDM磁盘,则目标主机必须能够访问它映射到的RDM文件和LUN

vSphere vMotion迁移的主机需求:

 源主机和目标主机必须具有以下特征:
 可访问虚拟机的所有存储(Fibre Channel、iSCSI或NAS):
 每个VMFS或NFS数据存储都可以进行128个并发vSphere vMotion迁移。
 至少(1GigE)网络:
 在vSphere vMotion网络上,每个活动vSphere vMotion进程需要250Mbit/秒的最小吞吐量。
 在1gbps的网络上,并发vSphere vMotion迁移被限制为4次。
 在10gbps(或更快)的网络上,并发vSphere vMotion迁移被限制为8次。
 为了获得更好的性能,至少为vSphere vMotion流量指定两个端口组。
兼容的处理器:
 源主机和目标主机的CPU特性集必须兼容。
 一些功能可以通过使用EVC或兼容掩码来隐藏。

EVC:
EVC是一个集群特性,它可以防止vSphere vMotion迁移因为不兼容的cpu而失败。
EVC允许vCenter服务器在集群中的所有主机之间强制执行vSphere vMotion兼容性,方法是强制主机向虚拟机公开一组公共的CPU特性(基线)。基线是集群中每个主机都支持的一组CPU特性。在配置EVC时,将集群中的所有主机处理器设置为呈现基线处理器的特性。在为集群启用它们之后,添加到集群中的主机将自动配置到CPU基线。

不能配置到基线的主机不允许加入集群。集群中的虚拟机总是看到相同的CPU特性集,不管它们碰巧在哪个主机上运行。因为这个过程是自动的,所以EVC易于使用,并且不需要专门的CPU特性和掩码知识。

vmware 虚拟机迁移_第3张图片
集群中的所有主机必须满足以下要求:
使用来自单个供应商(Intel或AMD)的cpu:
使用英特尔cpu与Merom微架构及更高版本
使用AMD的第一代Opteron cpu及以后的版本。

支持硬件虚拟化:AMD-V或Intel VT
启用执行禁用技术:AMD No eXecute (NX)或Intel eXecute Disable (XD)
配置为vSphere vMotion迁移
虚拟机中的应用程序必须与CPU ID兼容。
您可以使用以下方法之一来创建EVC集群:
•创建启用EVC的空集群,然后将主机移动到集群中。
•在现有集群上启用EVC。

虚拟机EVC:
vmware 虚拟机迁移_第4张图片
虚拟机EVC可以应用于集群中的部分或全部虚拟机:
 它促进了虚拟机在集群之外、在vCenter服务器系统和数据中心之间的迁移。
 它允许对特定vm使用更细粒度的EVC定义。
 它独立于在集群级别定义的EVC模式。
每个M(EVC)使EVC模式成为VM的一个属性,而不是在集群中引导的特定处理器生成。这允许在运行不同处理器的两个数据中心之间进行无缝迁移。此外,该特性在每个VM上都是持久的,并且在跨集群迁移期间和电源周期期间都不会丢失EVC模式。

在这个图中,集群上没有启用EVC。集群由不同的CPU模型和不同的特性集组成。具有每个vm EVC的vm可以在满足定义的EVC模式的任何ESXi主机上运行。
要求:
 ESXi 6.7
 vCenter Server 6.7

屏蔽或隐藏CPU特性可以使虚拟机广泛可用的ESXi主机迁移:
 vCenter Server将虚拟机可用的CPU特性与目标主机的CPU特性进行比较,以确定是否允许使用vSphere vMotion迁移。
 屏蔽NX/XD位可以防止虚拟机使用这些特性,但是屏蔽提供了兼容性,使您能够将虚拟机迁移到不包含此功能的ESXi主机。
 当NX/XD位对操作系统可见时,虚拟机可以使用此功能,但您只能将虚拟机迁移到启用该功能的主机。

当您选择主机和集群时,将执行验证检查,以验证大多数vSphere vMotion需求都得到了满足。

vmware 虚拟机迁移_第5张图片
vSphere Storage vMotion:
使用vSphere Storage vMotion,您可以在虚拟机运行时将虚拟机及其磁盘文件从一个数据存储迁移到另一个数据存储。
使用vSphere Storage vMotion你可以完成以下任务:
 将虚拟机移出阵列进行维护或升级。
 更改磁盘供应类型。
 更改目标数据存储上的虚拟机文件以匹配虚拟机的库存名称。迁移将重命名所有虚拟磁盘、配置、快照和.nvram文件。
 将虚拟机移出存储设备,以便在不停机的情况下维护或重新配置存储设备。
 将虚拟机或虚拟磁盘重新分配到不同的存储卷,以平衡容量或提高性能。

vSphere Storage vMotion 过程:
vmware 虚拟机迁移_第6张图片
vSphere Storage vMotion使用I/O镜像架构在源和目标之间复制磁盘块:
1.需要迁移的虚拟机发出Storage vMotion请求
2.检测判断调用哪种迁移方式
3.将源数据想目标存储迁移,同时为申请迁移的虚拟机开启一个新的进程
4.开启mirror driver,该进程的作用是确保数据的一致性。storage vmotion是通过快照实现的,迁移开始时,会为需要迁移的数据做一个快照,将这部分的数据拷贝到目标存储上,在迁移过程中新写入的数据部分是通过mirror driver向源和目标存储同时写入,迁移完成后,mirror driver的写入部分会与拷贝部分的数据合并,确保数据的完整性。
5.当迁移全部完成时,会将源存储上的数据和源虚拟机进程删除掉,至此,整个迁移结束

Shared-nothing vSphere vMotion 迁移
无共享vSphere vMotion迁移允许虚拟机同时更改其主机、数据存储、网络和vCenter服务器实例,即使这两个主机没有共享存储。当目标集群机器可能无法访问源集群的存储时,无共享的vSphere vMotion对于执行跨集群迁移非常有用。
该技术将vSphere vMotion和vSphere Storage vMotion合并到一个单独的操作中。
您在主机之间可以将虚拟机迁移到存储可访问性边界之外、集群内部和跨集群、数据中心和vCenterserver实例之间。
无共享的vSphere vMotion迁移同时受到vSphere vMotion和vSphere Storage vMotion的限制。不允许超过两个并发的无共享的vSphere vMotion迁移。运行两个并发的无共享vSphere vMotion迁移会导致所有尝试的vSphere存储vMotion实例保持排队状态,直到其中一个活动的无共享vSphere vMotion迁移完成。类似地,不共享的vSphere vMotion迁移实例也会根据vSphere vMotion限制计算,每个主机最多有8个并发vSphere vMotion实例。如果两个不共享的vSphere vMotion迁移实例是活动的,那么最多只能同时允许六个并发的vSphere vMotion实例。如果8个vSphere vMotion实例处于活动状态,则新的无共享vSphere vMotion迁移尝试将排队,直到其中一个活动vSphere vMotion实例完成。

跨venter 迁移:
vmware 虚拟机迁移_第7张图片
vSphere vMotion可以在连接的vCenterserver之间迁移虚拟机。
要求:
ESXi主机和vCenterserver必须升级到vSphere 6.x。
vCenterserver实例必须处于增强链接模式。
主机必须是时间同步的。
两个vCenter服务器系统应该是相同的vCenter服务器版本。

跨vCenter服务器系统迁移虚拟机有助于以下VM供应情况:
•平衡跨集群和vCenterserver实例的工作负载。
•在同一站点或另一个地理区域的不同vCenterserver实例中弹性地扩展或收缩资源的容量。
•在具有不同目的的环境之间移动虚拟机,例如,从开发环境移动到生产环境。
•移动虚拟机,以满足存储空间、性能等方面的不同服务水平协议(sla)。
在使用vSphere Web客户端时,两个vCenterserver 实例必须处于增强型链接模式,并且必须位于同一个vCenter单点登录域中。这使得源vCenter服务器可以对目标vCenter服务器进行身份验证。
vmware 虚拟机迁移_第8张图片

vSphere vMotion TCP/IP栈支持虚拟机动态迁移的流量。使用vSphere vMotion TCP/IP协议栈为vSphere vMotion流量提供更好的隔离。在vSphere vMotion TCP/IP堆栈上创建VMkernel适配器之后,您只能在此主机上使用此堆栈进行vSphere vMotion迁移。缺省TCP/IP栈上的VMkernel适配器对于vSphere vMotion服务是禁用的。如果在使用vMotion TCP/IP堆栈配置VMkernel适配器时,动态迁移使用默认的TCP/IP堆栈,那么迁移将成功完成。但是,在将来的vSphere vMotion会话中,默认的TCP/IP栈上涉及的VMkernel适配器将被禁用。

你可能感兴趣的:(vmware 虚拟机迁移)