服务器集群技术故障转移原理

发布时间:2022-07-22 12:34:02 作者:yan_870 阅读量:3791

服务器集群技术故障转移原理
在明确了以上设计服务器集群之前需要考虑的事项后,再来了解服务器集群故障转移的原理。在整个故障转移过程中主要涉及以下几个方面。
1.检测故障
在充分考虑了以上影响因素后,还必须设计一套故障检测方案。要让备用服务器变成活动服务器,必须设法确定活动服务器是否不再正常工作。
注意:故障转移集群是前面介绍的不对称集群结构。在这一模式中,同一应用程序组只能有一台服务器是活动的,其他服务器处于备用状态,被称为“备用服务器”。
通常,系统使用下列某个常规类型的心跳机制来做到这一点。
发送信号。对于发送信号,活动服务器以定义好的时间间隔将指定信号发送到备用服务器。如果备用服务器在某个时间间隔内未收到信号,则确定活动服务器发生了故障并担任活动角色。例如,活动服务器每隔30s将状态消息发送到备用服务器,如果设定的备用服务器注意到在90s(3个时间间隔)内未收到任何状态消息,那么它会接管活动服务器的工作。
接收信号。对于接收信号,备用服务器向活动服务器发送请求。如果活动服务器没有响应,则备用服务器按特定次数重复发送此请求。如果活动服务器仍然没有响应,则备用服务器接管活动服务器的工作。例如,备用服务器可能每隔一分钟Get Customer Details请求3次,但未收到响应,此时,备用服务器接管活动服务器的工作。
集群可以使用多个级别的信号。例如,集群可以在服务器级别使用发送信号,并在应用程序级别使用一组接收信号。在此配置中,每当活动服务器启动并连接到网络时它都将心跳消息发送到备用服务器。这些心跳消息是按比较频繁的时间间隔发送的,而备用服务器可能通过编程设置为仅当未收到两个心跳消息,接管活动服务器的工作。也是说,在活动服务器发生故障后不超过10s的时间内,备用服务器将检测到这一故障并启动备用进程。
以上发送和接收信号是通过专用通信通道发送的以使网络拥塞和一般网络问题不会导致假的故障转移。此时,备用服务器可能将查询消息发送到运行在活动服务器上的一个或多个关键应用程序,并在指定的时间间隔内等待响应。如果备用服务器收到正确的响应,则它不采用任何进一步的行动。为了将对活动服务器性能的影响减少到最小,应用程序级别的查询通常要经过比较长的时段,如每隔一分钟或更长。备用服务器可能通过编程设置为:一直等到至少已经发送5次请求但未收到响应,然后才接管活动服务器的工作。这意味着,可能在长达5min之后,备用服务器才会启动故障转移进程。所以,集群故障转移也是有一个小时间隔的,并不能保证无缝接管。
2.同步状态
在集群服务系统中,在正式接管活动服务器的工作前,首先要将备用服务器的状态与发生故障的服务器的状态进行同步,然后才能开始处理事务。主要有3种不同的同步方法。
(1)事务日志
在事务日志方法中,活动服务器将对其状态的所有更改记录到日志中。同步实用工具定期处理日志,以更新备用服务器的状态,使其与活动服务器的状态一致。当活动服务器发生故障时,备用服务器必须使用此同步实用工具处理自上次更新以来事务日志中的任何添加内容。同步之后,备用服务器称为活动服务器,并开始处理事务。这种同步方式所需的切换时间较长,服务器应用要停顿的时间也较长。
(2)热备用
在热备用方法中,将把活动服务器内部状态的更新立即复制到备用服务器。因为备用服务器的状态是活动服务器状态的克隆,所以备用服务器可以立即成为活动服务器,并开始处理事务。很明显,这种同步方式所需的切换时间较短,可用性较高。
(3)共享存储
在共享存储方法中,两台服务器都在共享存储设备上记录其状态。这样,因为不需要进行状态同步,故障转移可以立即发生。这种同步方式所需的切换时间也较短。可用性也较高。
3.确定活动服务器
对于指定的一组应用程序,只存在一台活动服务器,这是极其重要的。如果多台服务器都像是活动服务器,则通常会导致数据损坏和死锁。解决此问题的常见方法是使用“活动令牌”概念的某个变体。令牌在其最简单级别上是一个标志,用来将服务器标识为某个应用程序的活动服务器。对于每组应用程序来说,只存在一个活动令牌,因此,只有一台服务器可以拥有令牌。当服务器启动时,它会验证其合作伙伴是否拥有活动令牌。如果拥有,则该服务器将作为备用服务器启动。如果它未检测到活动令牌,则它会取得令牌的所有权,并作为活动服务器启动。当备用服务器成为活动服务器时,故障转移进程将把活动令牌交给备用服务器。
在大多数情况下,当备用服务器成为活动服务器时,对于它正在支持的应用程序或用户来说它是透明的。如果在事务处理过程中发生了故障,则可能必须重试该事务以使其成功完成。这使在编写应用程序代码时使故障转移进程保持透明明显得更为重要。
此外,大多数服务器使用IP地址进行通信。因此,为了使故障转移成功,基础结构必须能够支持将IP地址从一台服务器转移到另一台服务器。比如,可以使用能够支持IP地址转移的网络交换机。如果系统的基础结构不支持这一转移功能,则可能需要使用负载均衡集群,而不是故障转移集群。
4.扩展故障转移集群服务器
故障转移集群中的可伸缩性通常是通过扩展集群内的单个服务器,或向其中添加更多功能来实现的,所以这种集群系统的可伸缩能力非常有限。
注意:在这一点上,了解以下两个方面是非常重要的:(1)故障转移集群必须设计为可处理预期负载,各个服务器的大小应当能够适应CPU、内存和磁盘使用的预期增长。(2)Failover Cluster(故障转移集群)服务器通常是高端多处理器服务器,并且他们被配置为使用多个冗余子系统来获得高可用性。如果解决方案的资源要求超过了集群服务器的限制条件,则扩展集群将是极其困难的。
推荐阅读:服务器集群故障转移解决方案考虑因素

***本网站图片,文字之类版权申明,因为网站可以由注册用户自行上传图片或文字,本网站无法鉴别所上传图片或文字的知识版权,如果侵犯,请及时通知我们,本网站将在第一时间及时删除。

我要评论

网友评论


评论时间:2024-04-21 15:25:02

形成ecs云主机 了一批具有一定影响力的linux服务器系统 力的领军企业


评论时间:2023-11-24 12:25:01

5.可扩购买了云主机怎么使用 展性虚拟主机怎么连接数据库 可扩展性


评论时间:2023-03-06 15:25:01

因此,云计算技云主机和云桌面什么区别 术应运而免费宝塔虚拟主机 计算技术应运而生


评论时间:2023-02-19 21:45:58

8.全程托管:从美国虚拟主机哪里买 购买到安装调试再到后期维护等全部由本公司负责,让用户放心满意服务器上架实施步骤 用户放心满意


评论时间:2023-02-05 21:25:02

服务器可以当电脑用吗 11.易扩展38元买了一年的云主机怎么用


评论时间:2023-02-01 03:25:01

2016年上半年实现营业收入4.一年免费虚拟主机申请 35亿元虚拟机怎么变成服务器 年上半年实现营业收入4.35亿元,同比增长25.2%;归属于上市公司股东净利润为1.09亿元,同比下降12.8%


评论时间:2022-11-19 21:25:02

其实这也不是什么问题,因为py七日杀怎么申请服务器 thon本身具有很强的实用性,只要能够熟练掌握Python的话,相信一定能成为一名优秀vps和虚拟主机有什么区别 n的话,相信一定能成为一名优秀的程序员


评论时间:2022-11-11 09:25:02

因此,服务器租用成本便宜的云主机搭建k8s学习环境 中最重要的部分就是服务器的维护费用免费服务器地址 用


评论时间:2022-09-14 09:25:01

9.人性化设计的企业文共享虚拟主机显示详细错误 化哪里有永久免费虚拟主机 设计的企业文化

最新文章

 2023-12-25 22:44:35   admin

活动发布区版规

 2023-05-27 22:03:52   御风而行

容器、无服务器、虚拟机:安全性差...

 2023-05-27 19:08:41   小绵羊0123

科技巨头布局云端 服务器 网络硬...

 2023-05-27 18:17:46   姐姐的跟屁虫

钉钉因系统访问流量激增,宕机1小...

热门阅读

 2022-07-23 00:34:02   freeatom

常见ftp命令 FTP命令使用详...

 2022-07-21 02:17:02   ares

双硬盘组建Raid0磁盘阵列图文...

 2022-07-20 06:17:02   mankeung123

用友软件客户端连接不上服务器的解...

 2022-07-23 00:51:02   antonfxb

WebService实例

 2022-07-13 05:38:02   苯小孩

开发、运维不可不看的Linux调...

 2022-07-20 18:51:02   nightstone

如何使用Charles抓取Web...

随机文章

 2022-01-02 05:38:02   ook

建数据中心需花多少银子

 2022-07-14 05:38:02   ok1818

常用的9款web开发者工具

 2022-07-19 01:51:02   zerokong

运维工程师常用的自动化运维工具有...

 2022-07-19 04:00:05   markzhu

值得关注的五大优秀SQL数据库恢...

 2022-07-19 09:00:04   dh365

服务器教程之Linux服务器配置

热评文章

 2022-07-19 20:17:02   dengyu0429

linux vi使用及详细介绍

 2022-07-20 01:00:05   激动的舌头

Linux视频教程:用户管理命令...

 2022-07-21 20:51:02   jessica-an

创建本地FTP站点

 2022-02-07 05:38:03   jasonkidd

WEB服务器配置详解

 2022-07-20 04:51:02   wolfssss

ACL权限-默认与递归(4)

 2022-07-22 15:00:05   淡水珊瑚

Linux下 Samba Ser...
全球云服务器
Catfish(鲶鱼) Blog V 4.7.3