VMware FT 原理跟介绍-阿里云开发者社区

开发者社区> 技术小牛人> 正文

VMware FT 原理跟介绍

简介:
+关注继续查看

1. VMware FT 容错简介

Vmware fault tolerance(FT)功能创建一个虚拟机设置可以提供连续性能力。FT建立在ESX/ESXi主机平台。通过创建一个虚拟机一个完全相同的副本。

虚拟机的主要副本,处于活动状态,接受请求,服务信息,并运行程序。次要副本,接收与主副本相同的输入。次要副本完成的所有任务都依照主副本的变动。主副本所有非决定性的活动都将被捕捉,发送到运行在其他host上的次要副本,次要副本在一秒内将活动进行重演。

FT启动后,VM Tools从每个虚机中发送心跳到VMM,此心跳与HA的心跳类似。VMM检查以确保主要和次要副本都在运行。如果主副本所在的host丢失,VMM将不再发送心跳。此时,次要副本立刻变为活动的,并成为主要副本,服务不会经历任何中断。

FT提供了比HA更高的商业连续性级别。FT发生时,次要立刻被激活,所有关于虚机状态的信息都会被完整的保留。存储在内存中的数据不需要被re-entered或reloaded。而HA则要将任何丢失的虚拟机进行重启。这会结束所有虚拟机进程和状态信息,程序和未保存的用户输入信息都会丢失。

clip_image002

2. VMware FT 容错提供连续可用性

VMware HA 通过在主机出现故障时重新启动虚拟机来为虚拟机提供基本级别的保护。VMware 容错可提供更高级别的可用性,允许用户对任何虚拟机进行保护以防止主机发生数据、事务或连接丢失等故障。

容错使用 ESX/ESXi 主机平台上的 VMware vLockstep 技术以提供连续可用性。通过确保主虚拟机和辅助虚拟机的状态在虚拟机的指令执行的任何时间点均相同来完成此过程。vLockstep 通过使主虚拟机和辅助虚拟机执行相同顺序的 x86 指令来完成此过程。主虚拟机捕获所有输入和事件 — 从处理器到虚拟 I/O 设备 — 并在辅助虚拟机上进行重放。辅助虚拟机执行与主虚拟机同一系列的指令,而仅可看到单个虚拟机映像(主虚拟机)在执行工作负载。

如果运行主虚拟机的主机或运行辅助虚拟机的主机发生故障,则会发生透明故障切换,仍在无缝工作的主机将借此变为主虚拟机的主机。使用透明故障切换,不会有数据损失,并且可以维护网络连接。 在发生透明故障切换之后,将自动重新生成新的辅助虚拟机,并将重新建立冗余。整个过程是透明且全自动的,并且即使 vCenter Server 不可用,也会发生。

clip_image004

3. VMware FT 容错的工作方式

VMware 容错可通过创建和维护等同于主虚拟机并可在发生故障切换时替换主虚拟机的辅助虚拟机来为虚拟机提供连续可用性。

可以为大多数任务关键虚拟机启用容错。并会创建一个重复虚拟机(称为辅助虚拟机),该虚拟机会以虚拟锁步方式随主虚拟机一起运行。VMware vLockstep 可捕获主虚拟机上发生的输入和事件,并将这些输入和事件发送到正在另一主机上运行的辅助虚拟机。使用此信息,辅助虚拟机的执行将等同于主虚拟机的执行。因为辅助虚拟机与主虚拟机一起以虚拟锁步方式运行,所以它可以无中断地接管任何点处的执行,从而提供容错保护。

虚拟机和辅助虚拟机可持续交换检测信号。这使得虚拟机对中的虚拟机能够监控彼此的状态以确保持续提供容错保护。如果运行主虚拟机的主机发生故障,系统将会执行透明故障切换,此时会立即启用辅助虚拟机以替换主虚拟机,并将启动新的辅助虚拟机,同时在几秒钟内重新建立容错冗余。如果运行辅助虚拟机的主机发生故障,则该主机也会立即被替换。在任一情况下,用户都不会遭遇服务中断和数据丢失的情况。

容错虚拟机及其辅助副本不允许在相同主机上运行。容错功能使用反关联性规则,这些规则可确保容错虚拟机的两个实例永远不会在同一主机上。这可确保主机故障无法导致两个虚拟机都缺失。

容错可避免“裂脑”情况的发生,此情况可能会导致虚拟机在从故障中恢复后存在两个活动副本。共享存储器上锁定的原子文件用于协调故障切换,以便只有一端可作为主虚拟机继续运行,并由系统自动重新生成新辅助虚拟机。

clip_image006

4. VMware FT 容错与HA协作

关于VMware HA,参考《VMware vCenter 高可用性 HA 详解》。

clip_image008

5. VMware FT容错的要求

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

群集/主机必备条件

clip_image010

虚拟机要求

在可以打开容错前,虚拟机必须满足最低要求。

虚拟机文件必须存储在共享存储器上。可接受共享的存储解决方案包括光纤通道、(硬件和软件)iSCSI、NFS 和 NAS。

虚拟机必须存储在虚拟 RDM 或厚置备的虚拟机磁盘 (VMDK) 文件(已启用“群集功能”选项)中。如果将虚拟机存储在精简置备或厚置备的 VMDK 文件(未启用群集功能)中,则在尝试启用容错时将会出现一则指示必须转换 VMDK 文件的消息。用户可以接受此自动转换(需要关闭虚拟机),允许转换磁盘并使用容错保护虚拟机。此转换过程所需的时间根据磁盘的大小和主机处理器类型而有所不同。

虚拟机必须在一个受支持的客户机操作系统上运行。有关详细信息,请参见 VMware 知识库文章,网址为 http://kb.vmware.com/kb/1008027

6. VMware FT 容错互操作性

6.1 容错和不支持的 vSphere 功能

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

快照 在虚拟机上启用容错前,必须移除或提交快照。此外,不可能对已启用容错的虚拟机执行快照。

Storage VMotion 不能为已启用容错的虚拟机调用 Storage VMotion。要迁移存储器,应当先暂时关闭容错,然后再执行 Storage VMotion 操作。在完成迁移之后,可以重新打开容错。

DRS 功能 容错虚拟机会自动配置为禁用 DRS。DRS 最初将放置一个辅助虚拟机,但在对群集进行负载平衡时,DRS 不会提出建议,也不会对主虚拟机或辅助虚拟机进行负载平衡。主虚拟机和辅助虚拟机在正常运行期间可以进行手动迁移。

6.2 不与容错兼容的其他功能

clip_image012

7. VMware FT 容错启用步骤

要为群集启用 VMware 容错,必须满足此功能的必备条件,然后在主机上执行特定的配置步骤。完成这些步骤并创建群集后,还可以检查配置是否符合启用容错的要求。   
尝试为群集启用容错之前应该完成的任务包括:

启用主机证书检查(如果您正在从先前版本的 Virtual Infrastructure 升级)

为每台主机配置网络

创建 VMware HA 群集,添加主机,并检查合规性

在为群集和主机准备好容错之后,便可为虚拟机打开容错。

7.1 启用主机证书检查

使用主机证书检查,可以将 ESX/ESXi 主机配置为相互验证身份,从而确保维护一个更安全的环境。对于容错虚拟机所在的 ESX/ESXi 主机来说,这是必需的。如果安装了 VMware vCenter Server 4.0 版本,系统会自动启用主机证书检查。如果所用版本是从上一版本升级的版本,则必须手动执行此过程。

7.2 为主机配置网络

在要添加到 VMware HA 群集的每台主机上,必须配置两个不同的网络交换机,以便使主机也可以支持 VMware容错。需要多个千兆位网络接口卡 (NIC)。对于支持容错的每台主机,总共需要两个 VMkernel 千兆位网卡:一个专用于容错日志记录,一个专用于 VMotion。VMotion 和容错日志记录网卡必须位于不同子网上。其他网卡建议用于虚拟机和管理网络流量。

我这里NIC不够,把FT和VMotion放在了同一个vSwitch上:

clip_image014

7.3 创建 VMware HA 群集,添加主机

参考《VMware vCenter 集群及 DRS 详解 》,在为群集和主机准备好容错之后,便可为虚拟机打开容错。

7.4 为虚拟机打开容错

步骤   
1 选择“主机和群集”视图。    
2 右键单击虚拟机并选择容错 > 打开容错。    
当你启用FT时,提示会转换VMDK以及自动disable DRS,参考上文:

clip_image016

特定的虚拟机将指定为主虚拟机,并在另一台主机上建立辅助虚拟机。现在,主虚拟机已启用了容错功能。虚拟机运行在Host 56上,FT保护副本运行在Host 55上。

clip_image018

clip_image020

8. VMware FT 容错测试

打开两个VM的concole,一个完全是另外一个镜像,且为read-only,是不接受任何输入的:

clip_image022

7. 1 虚拟机开关机

不管你是在console选择还是在vCenter操作,主次VM都会同时开关机,要不然怎么是镜像呢:

clip_image024

clip_image026

clip_image028

7.2 虚拟机系统崩溃

运行一个程序,人为将主VM蓝屏,发现此时次VM同时蓝屏,再一次证明两边运行的指令是同步的。

clip_image030

7.3 重启HOST

重主VM所在的host,次VM立即接管工作,从ping的相应来看,应该是零宕机时间:

clip_image032

clip_image034

clip_image036

本文转自   流原炫   51CTO博客,原文链接:http://blog.51cto.com/xiaoyuanzheng/1545929

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
9497 0
使用SSH远程登录阿里云ECS服务器
远程连接服务器以及配置环境
2464 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
9055 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13186 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
21912 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
4012 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
6895 0
5723
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载