深度分析ESXI HA集群fault tolerance功能。

一、什么是FT功能
Vmware fault tolerance(FT)功能创建一个虚拟机设置可以提供连续性能力。FT建立在ESX/ESXi主机平台。通过创建一个虚拟机一个完全相同的副本。
虚拟机的主要副本,处于活动状态,接受请求,服务信息,并运行程序。次要副本,接收与主副本相同的输入。次要副本完成的所有任务都依照主副本的变动。主副本所有非决定性的活动都将被捕捉,发送到运行在其他host上的次要副本,次要副本在一秒内将活动进行重演。
FT启动后,VM Tools从每个虚机中发送心跳到VMM,此心跳与HA的心跳类似。VMM检查以确保主要和次要副本都在运行。如果主副本所在的host丢失,VMM将不再发送心跳。此时,次要副本立刻变为活动的,并成为主要副本,服务不会经历任何中断。
FT提供了比HA更高的商业连续性级别。FT发生时,次要立刻被激活,所有关于虚机状态的信息都会被完整的保留。存储在内存中的数据不需要被re-entered或reloaded。而HA则要将任何丢失的虚拟机进行重启。这会结束所有虚拟机进程和状态信息,程序和未保存的用户输入信息都会丢失。
二、VMware FT 容错的工作方式
VMware 容错可通过创建和维护等同于主虚拟机并可在发生故障切换时替换主虚拟机的辅助虚拟机来为虚拟机提供连续可用性。
可以为大多数任务关键虚拟机启用容错。并会创建一个重复虚拟机(称为辅助虚拟机),该虚拟机会以虚拟锁步方式随主虚拟机一起运行。VMware vLockstep 可捕获主虚拟机上发生的输入和事件,并将这些输入和事件发送到正在另一主机上运行的辅助虚拟机。使用此信息,辅助虚拟机的执行将等同于主虚拟机的执行。因为辅助虚拟机与主虚拟机一起以虚拟锁步方式运行,所以它可以无中断地接管任何点处的执行,从而提供容错保护。
虚拟机和辅助虚拟机可持续交换检测信号。这使得虚拟机对中的虚拟机能够监控彼此的状态以确保持续提供容错保护。如果运行主虚拟机的主机发生故障,系统将会执行透明故障切换,此时会立即启用辅助虚拟机以替换主虚拟机,并将启动新的辅助虚拟机,同时在几秒钟内重新建立容错冗余。如果运行辅助虚拟机的主机发生故障,则该主机也会立即被替换。在任一情况下,用户都不会遭遇服务中断和数据丢失的情况。
容错虚拟机及其辅助副本不允许在相同主机上运行。容错功能使用反关联性规则,这些规则可确保容错虚拟机的两个实例永远不会在同一主机上。这可确保主机故障无法导致两个虚拟机都缺失。
容错可避免“裂脑”情况的发生,此情况可能会导致虚拟机在从故障中恢复后存在两个活动副本。共享存储器上锁定的原子文件用于协调故障切换,以便只有一端可作为主虚拟机继续运行,并由系统自动重新生成新辅助虚拟机。

三、VMware FT 容错提供连续可用性

VMware HA 通过在主机出现故障时重新启动虚拟机来为虚拟机提供基本级别的保护。VMware 容错可提供更高级别的可用性,允许用户对任何虚拟机进行保护以防止主机发生数据、事务或连接丢失等故障。
容错使用 ESX/ESXi 主机平台上的 VMware vLockstep 技术以提供连续可用性。通过确保主虚拟机和辅助虚拟机的状态在虚拟机的指令执行的任何时间点均相同来完成此过程。vLockstep 通过使主虚拟机和辅助虚拟机执行相同顺序的 x86 指令来完成此过程。主虚拟机捕获所有输入和事件 — 从处理器到虚拟 I/O 设备 — 并在辅助虚拟机上进行重放。辅助虚拟机执行与主虚拟机同一系列的指令,而仅可看到单个虚拟机映像(主虚拟机)在执行工作负载。
如果运行主虚拟机的主机或运行辅助虚拟机的主机发生故障,则会发生透明故障切换,仍在无缝工作的主机将借此变为主虚拟机的主机。使用透明故障切换,不会有数据损失,并且可以维护网络连接。 在发生透明故障切换之后,将自动重新生成新的辅助虚拟机,并将重新建立冗余。整个过程是透明且全自动的,并且即使 vCenter Server 不可用,也会发生。

四、VMware FT 容错与HA协作, FT容错的要求

与 VMware HA 在默认情况下保护群集内的每个虚拟机不同,VMware 容错在单个虚拟机上启用。要使群集支持VMware 容错,必须满足以下必备条件:
群集/主机必备条件
虚拟机要求
在可以打开容错前,虚拟机必须满足最低要求。

  1. 虚拟机文件必须存储在共享存储器上。可接受共享的存储解决方案包括光纤通道、(硬件和软件)iSCSI、NFS 和 NAS。
  2. 虚拟机必须存储在虚拟 RDM 或厚置备的虚拟机磁盘 (VMDK) 文件(已启用“群集功能”选项)中。如果将虚拟机存储在精简置备或厚置备的 VMDK 文件(未启用群集功能)中,则在尝试启用容错时将会出现一则指示必须转换 VMDK 文件的消息。用户可以接受此自动转换(需要关闭虚拟机),允许转换磁盘并使用容错保护虚拟机。此转换过程所需的时间根据磁盘的大小和主机处理器类型而有所不同。
  3. 虚拟机必须在一个受支持的客户机操作系统上运行。

五、容错与 vSphere 其他功能兼容

容错虚拟机不支持以下 vSphere 功能。

  1. 快照 在虚拟机上启用容错前,必须移除或提交快照。此外,不可能对已启用容错的虚拟机执行快照。
  2. Storage VMotion 不能为已启用容错的虚拟机调用 Storage VMotion。要迁移存储器,应当先暂时关闭容错,然后再执行 Storage VMotion 操作。在完成迁移之后,可以重新打开容错。
  3. DRS 功能 容错虚拟机会自动配置为禁用DRS。DRS 最初将放置一个辅助虚拟机,但在对群集进行负载平衡时,DRS 不会提出建议,也不会对主虚拟机或辅助虚拟机进行负载平衡。主虚拟机和辅助虚拟机在正常运行期间可以进行手动迁移。

不与容错兼容的其他功能

六、VMware FT 容错测试

打开两个VM的concole,一个完全是另外一个镜像,且为read-only,是不接受任何输入的:
FT虚拟机开关机测试:
所谓镜像就是不管是在console选择还是在vCenter操作,主次VM都会同时开关机

虚拟机系统崩溃测试:

运行一个程序,人为将主VM蓝屏,发现此时次VM同时蓝屏,再一次证明两边运行的指令是同步的。
重启host测试:
重主VM所在的host,次VM立即接管工作,从ping的相应来看,应该是零宕机时间:
总结:

  1. 只支持1个虚拟CPU
  2. 需要启用FT的虚拟机,其虚拟磁盘格式必须从原来的THIN DISK或者ZEROED THICK DISK 方式转化成EAGER ZEROED THICK DISK 磁盘格式,这个转化过程会占用大量的时间,因为这这个转化的过程和安全擦除操作类似,需要涉及对虚拟磁盘中每个扇区做清零操作。
  3. 只能防止Host级别的物理故障或任何导致主VM所在host丢失的情况。

希望本文的分享,能够帮助大家了解FT功能。

weinxin
DC Farm小程序二维码
扫一扫添加博客小程序
Jim

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:5   其中:访客  4   博主  1

    • avatar 野草 0

      技術站,很贊~

      • avatar www.94haha.com 1

        很多东西都挺实用呢

        • avatar 九块邮商家案例 0

          VM玩的很熟练,当初我学习这个的时候,感觉很简单的,不过,在做拓朴图察颜实验的时候,特别是多网域架设的时候,真是要搞死人了!

          • avatar xiwen8383 5

            楼主有自己不错的分析思路,赞一个,要对FT有一定基础才估计看的明白和透彻。不属于通俗易懂类型。呵呵~~