vsphere中的vMotion HA 及 DRS

vMotion HA DRS

  • vMotion HA DRS
  • 1 vMotion 概念
    • 1.1 先决条件
    • 1.2 工作原理
    • 1.3 vMotion 对 ESXi 的要求
      • 1.3.1 CPU 要求详解
    • 1.4 vMotion 对虚拟机的要求
    • 1.5 vSphere 支持的迁移技术及差异对比
    • 1.6 storage vMotion
  • 2 HA
    • 2.1 核心基础
      • 2.1.1 master主机产生的流程
      • 2.1.2 VM protection States
      • 2.1.3 HA 故障切换情况
  • DRS

1 vMotion 概念

  vMotion 是让处于运行状态下的 VMs 在 ESXi Hosts 之间自由、不停机的移动

  优势:

  • 计划内0停机硬件设备维护
  • 提高资源的综合利用率

1.1 先决条件

  1. 至少两台ESXi主机,由同一个vCenter管理
  2. 拥有 vMotion VMkernel

1.2 工作原理

  所有的 VMs 运行于 ESXi Host 上,相当于一个个应用程序,都会消耗 ESXi host 的物理资源,其中最重要的就是物理内存,vMotion需要解决的核心问题是:将 VMs 的内存从源 ESXi Host 不断电的情况下无中断拷贝到目标 ESXi Host

  内存迁移描述:

  1. 按照 memory bitmap 迁移,如果 VM 在迁移过程中没有内存变动,则直接迁移
  2. 若有内存变动,则记录改变的内存块,等未改变的内存迁移完成后,用改变的内存块覆盖,直至迁移结束
  3. 然后在 ESXi2 上重启主机,整个过程用户应当感受不到变化

1.3 vMotion 对 ESXi 的要求

  1. 源主机和目标主机 CPU 兼容(EVC组件,保证CPU兼容)
  2. 源主机和目标主机连接到同一个网络
  3. 源主机和目标主机连接到同一个共享存储
  4. 源主机和目标主机同时拥有一个名为 vMtion 的 VMkernel 接口

1.3.1 CPU 要求详解

CPU功能特性 是否要求完全匹配 备注
时钟频率、核数、缓存大小
是否异构(intel/AMD) 严格要求
CPU指令集 严格要求
CPU虚拟化 32位虚拟机没要求;64位有要求(64位的虚拟化需要CPU支持,在 bios 中设置)
CPU 微码的屏蔽 要求

1.4 vMotion 对虚拟机的要求

  1. 不能连接到 VM 所在 ESXi Host 的内部交换机(内部交换机是指,vsphere中没有上行端口的交换机)
  2. VM 的 vCPU 不能被绑定到所在 ESXi Host 的内核
  3. VM 不能连接到所在 ESXi Host 的本地设备(本地光驱、或者本地的文件等)
  4. 不支持 physical 模式的裸设备映射
  5. 虚拟机的硬件版本为9以上

1.5 vSphere 支持的迁移技术及差异对比

迁移技术 VM状态 跨主机/存储 跨数据中心 共享存储 CPU
冷迁移 关机 可以 可以 不要求 不要求
挂起迁移 挂起 可以 可以 不要求 要求
vMotion 开机 仅Host 不可以 要求 要求
Storage vMotion 开机 仅存储 不可以 不要求 不要求
Enhanced vMotion 开机 可以 不可以 不要求 要求

1.6 storage vMotion

  虚机运行状态下,无中断变更虚拟机的存储位置

  迁移描述:

  1. 若无数据块写/修改操作,则直接复制
  2. 若有数据块变动,且数据块已经完成复制,则同时在源端和目标端进行改动,若未完成复制,则只在源端改动,直至复制完成
  3. ESXi 尝试使用新的进程来运行主机,删除源端文件

2 HA

  保证业务连续性

编号 支持场景 备注
1 ESXi host 故障
2 VM 故障
3 操作系统故障
4 Application 故障 有局限性
5 network partition 网络逻辑隔离
6 network isolation 无法通讯

2.1 核心基础

  1. 网络心跳 master和slave之间8182端口
  2. 存储心跳
  3. 共享存储
  4. 缺省网关

  ESXi主机角色:

  • master 角色:
  1. 负责监控所有ESXi主机和虚拟机的可用性:slave主机故障后,VM会在其他slave主机上重启; Protected VM 的电源状态,故障时master会尝试重启它;
  2. 负责管理所有ESXi主机和虚拟机:负责更新和删除主机信息;负责维护 Protected List VM
  • slave 角色:
  1. 监控本机的虚拟机运行状态,并且将所有的状态变更通知给master主机
  2. 不依赖任何中央控制功能,主要负责监控虚拟机的健康状态
  3. 监控master主机的健康状态,当master死掉之后会选举产生新的master主机
  4. 维护powered on 虚拟机

  默认情况下,仅有一台master主机,其他的全部为slave主机

2.1.1 master主机产生的流程

   master主机选举前提条件:

  1. vsphere HA 激活
  2. master 主机故障或者关闭
  3. management network partition (网络分区)

  master 主机选举流程:

  1. datastore 数量较多的主机将会成为新的master
  2. MOID(vsphere随机生成给主机的ID,无法手动指定)较大的将会成为新的master;比对原则(首位大小比较,长度比较)

  agent 通讯流程:

  1. ICMP 执行端到端通讯,不走广播
  2. UDP方式选举
  3. 选举完成后新的master于slave之间通过SSl加密RTCp通讯
  4. 每台slave单线TCP与master联系

  datastore heartbeat

  1. 存在的价值时用作冗余心跳
  2. datastore被用于备份心跳检测,用于网络故障时备用
  3. 负责监控slave主机和其上的vm状态
  4. 由于vm只能由master管理,所i他还负责协调master主机
  5. 缺省2哥datastore最多5个datastore

2.1.2 VM protection States

  1. protected VM list 是再 HA 发生时会被尝试重启
  2. protected VM list 由vcenter负责更新给master主机
  3. vm 开机时 vcenter 会检测到它 然后通知给master
  4. 手动关闭的 vm 不受 HA 保护
  5. 关闭/启动过程中的 vm 不受 HA 保护
  6. ESXi主机与vcenter断开了连接,vm不受HA保护
  7. ESXi主机处于维护模式,vm不受HA保护

![ha架构及通讯][ha架构及通讯]

2.1.3 HA 故障切换情况

DRS

  DRS(Distributed Resource Scheduler):基于业务优先级自动实现在不同宿主机之间的资源利用率负载均衡,以及通过在负载较低时段内关闭部分主机优化电源消耗。

  VMware DRS执行VM在宿主机上的初始安装。

假设在一个ESX/ESXi集群服务器组中添加一个新的VM。DRS检查集群中不同宿主机的负载情况,然后选择合适的宿主机创建新VM。假设三台宿主机A、B和C, A和B主机大多数资源已经用到,vSphere DRS将在未充分利用的主机C上开始新的VM。

  持续地监控集群中可供宿主机使用的资源,然后给出运行中VM建议来平衡地利用这些空闲资源。

例如,在A、B和C宿主机的集群中,所有的VM使用的内存和CPU资源类似。如果A和B主机每台运行5个VM,而C主机仅支撑了2个VM,DRS可能会建议从主机A和B迁移一台VM到C上。这样A和B都支持4台VM,平衡了资源。

  DPM(Distributed Power Management)是DRS的可选功能。当DPM启用时,DRS评估集群宿主机现在和过去的使用情况,然后可以自动地(或配置为建议管理员)把主机置于待机状态直到需求增长。

你可能感兴趣的:(vsphere中的vMotion HA 及 DRS)