VMware vCenter FT 容错详解
Vmware fault tolerance(FT)FT建立在ESX/ESXi主机平台。通过创建一个虚拟机一个完全相同的副本。
FT启动后,VM Tools从每个虚机中发送心跳到VMM,此心跳与HA的心跳类似。VMM检查以确保主要和次要副本都在运行。如果主副本所在的host丢失,VMM将不再发送心跳。此时,次要副本立刻变为活动的,并成为主要副本,服务不会经历任何中断。
FT提供了比HA更高的商业连续性级别。FT发生时,次要立刻被激活,所有关于虚机状态的信息都会被完整的保留。存储在内存中的数据不需要被re-entered或reloaded。而HA则要将任何丢失的虚拟机进行重启。这会结束所有虚拟机进程和状态信息,程序和未保存的用户输入信息都会丢失。
2. VMware FT 容错提供连续可用性
容错使用 ESX/ESXi 主机平台上的 VMware vLockstep 技术以提供连续可用性。通过确保主虚拟机和辅助虚拟机的状态在虚拟机的指令执行的任何时间点均相同来完成此过程。vLockstep 通过使主虚拟机和辅助虚拟机执行相同顺序的 x86 指令来完成此过程。主虚拟机捕获所有输入和事件 — 从处理器到虚拟 I/O 设备 — 并在辅助虚拟机上进行重放。辅助虚拟机执行与主虚拟机同一系列的指令,而仅可看到单个虚拟机映像(主虚拟机)在执行工作负载。如果运行主虚拟机的主机或运行辅助虚拟机的主机发生故障,则会发生透明故障切换,仍在无缝工作的主机将借此变为主虚拟机的主机。使用透明故障切换,不会有数据损失,并且可以维护网络连接。 在发生透明故障切换之后,将自动重新生成新的辅助虚拟机,并将重新建立冗余。整个过程是透明且全自动的,并且即使 vCenter Server 不可用,也会发生。
3. VMware FT 容错的工作方式
VMware 容错可通过创建和维护等同于主虚拟机并可在发生故障切换时替换主虚拟机的辅助虚拟机来为虚拟机提供连续可用性。
可以为大多数任务关键虚拟机启用容错。并会创建一个重复虚拟机(称为辅助虚拟机),该虚拟机会以虚拟锁步方式随主虚拟机一起运行。VMware vLockstep 可捕获主虚拟机上发生的输入和事件,并将这些输入和事件发送到正在另一主机上运行的辅助虚拟机。使用此信息,辅助虚拟机的执行将等同于主虚拟机的执行。因为辅助虚拟机与主虚拟机一起以虚拟锁步方式运行,所以它可以无中断地接管任何点处的执行,从而提供容错保护。
4. VMware FT 容错与HA协作
5. VMware FT容错的要求
与 VMware HA 在默认情况下保护群集内的每个虚拟机不同,VMware 容错在单个虚拟机上启用。要使群集支持VMware 容错,必须满足以下必备条件:
群集/主机必备条件
虚拟机要求
在可以打开容错前,虚拟机必须满足最低要求。
- 虚拟机文件必须存储在共享存储器上。可接受共享的存储解决方案包括光纤通道、(硬件和软件)iSCSI、NFS 和 NAS。
- 虚拟机必须存储在虚拟 RDM 或厚置备的虚拟机磁盘 (VMDK) 文件(已启用“群集功能”选项)中。如果将虚拟机存储在精简置备或厚置备的 VMDK 文件(未启用群集功能)中,则在尝试启用容错时将会出现一则指示必须转换 VMDK 文件的消息。用户可以接受此自动转换(需要关闭虚拟机),允许转换磁盘并使用容错保护虚拟机。此转换过程所需的时间根据磁盘的大小和主机处理器类型而有所不同。
- 虚拟机必须在一个受支持的客户机操作系统上运行。
6.1 容错和不支持的 vSphere 功能
容错虚拟机不支持以下 vSphere 功能。
- 快照 在虚拟机上启用容错前,必须移除或提交快照。此外,不可能对已启用容错的虚拟机执行快照。
- Storage VMotion 不能为已启用容错的虚拟机调用 Storage VMotion。要迁移存储器,应当先暂时关闭容错,然后再执行 Storage VMotion 操作。在完成迁移之后,可以重新打开容错。
- DRS 功能 容错虚拟机会自动配置为禁用 DRS。DRS 最初将放置一个辅助虚拟机,但在对群集进行负载平衡时,DRS 不会提出建议,也不会对主虚拟机或辅助虚拟机进行负载平衡。主虚拟机和辅助虚拟机在正常运行期间可以进行手动迁移。
6.2 不与容错兼容的其他功能
7. VMware FT 容错启用步骤
尝试为群集启用容错之前应该完成的任务包括:
- 启用主机证书检查(如果您正在从先前版本的 Virtual Infrastructure 升级)
- 为每台主机配置网络
- 创建 VMware HA 群集,添加主机,并检查合规性
- 在为群集和主机准备好容错之后,便可为虚拟机打开容错。
7.2 为主机配置网络
在要添加到 VMware HA 群集的每台主机上,必须配置两个不同的网络交换机,以便使主机也可以支持 VMware容错。需要多个千兆位网络接口卡 (NIC)。对于支持容错的每台主机,总共需要两个 VMkernel 千兆位网卡:一个专用于容错日志记录,一个专用于 VMotion。VMotion 和容错日志记录网卡必须位于不同子网上。其他网卡建议用于虚拟机和管理网络流量。
7.4 为虚拟机打开容错
步骤
1 选择“主机和群集”视图。
2 右键单击虚拟机并选择容错 > 打开容错。
当你启用FT时,提示会转换VMDK以及自动disable DRS,参考上文:
特定的虚拟机将指定为主虚拟机,并在另一台主机上建立辅助虚拟机。现在,主虚拟机已启用了容错功能。虚拟机运行在Host 56上,FT保护副本运行在Host 55上。
8. VMware FT 容错测试
打开两个VM的concole,一个完全是另外一个镜像,且为read-only,是不接受任何输入的:
7. 1 虚拟机开关机
不管你是在console选择还是在vCenter操作,主次VM都会同时开关机,要不然怎么是镜像呢:
7.3 重启HOST
重主VM所在的host,次VM立即接管工作,零宕机时间:
7.4 结论
- 只支持1个虚拟CPU
- 需要启用FT的虚拟机,其虚拟磁盘格式必须从原来的THIN DISK或者ZEROED THICK DISK 方式转化成EAGER ZEROED THICK DISK 磁盘格式,这个转化过程会占用大量的时间,因为这这个转化的过程和安全擦除操作类似,需要涉及对虚拟磁盘中每个扇区做清零操作。
- 只能防止Host级别的物理故障或任何导致主VM所在host丢失的情况。