问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Ceph分布式存储是怎么防止脑裂的?

发布网友 发布时间:2022-04-23 05:22

我来回答

2个回答

热心网友 时间:2023-10-16 05:58

解决脑裂问题,通常采用隔离(Fencing)机制,包括三个方面:

共享存储fencing:确保只有一个Master往共享存储中写数据。

客户端fencing:确保只有一个Master可以响应客户端的请求。

Slave fencing:确保只有一个Master可以向Slave下发命令。

Hadoop公共库中对外提供了两种fenching实现,分别是sshfence和shellfence(缺省实现),其中sshfence是指通过ssh登陆目标Master节点上,使用命令fuser将进程杀死(通过tcp端口号定位进程pid,该方法比jps命令更准确),shellfence是指执行一个用户事先定义的shell命令(脚本)完成隔离。

切换对外透明:为了保证整个切换是对外透明的,Hadoop应保证所有客户端和Slave能自动重定向到新的active master上,这通常是通过若干次尝试连接旧master不成功后,再重新尝试链接新master完成的,整个过程有一定延迟。在新版本的Hadoop RPC中,用户可自行设置RPC客户端尝试机制、尝试次数和尝试超时时间等参数。

在“双机热备”高可用(HA)系统中,当联系2个节点的“心跳线”断开时,本来为一整体、动作协调的HA系统,就*成为2个独立的个体。由于相互失去了联系,都以为是对方出了故障,2个节点上的HA软件像“裂脑人”一样,“本能”地争抢“共享资源”、争起“应用服务”,就会发生严重后果:或者共享资源被瓜分、2边“服务”都起不来了;或者2边“服务”都起来了,但同时读写“共享存储”,导致数据损坏(常见如数据库轮询着的联机日志出错)。
运行于备用主机上的Heartbeat可以通过以太网连接检测主服务器的运行状态,一旦其无法检测到主服务器的“心跳”则自动接管主服务器的资源。通常情况下,主、备服务器间的心跳连接是一个独立的物理连接,这个连接可以是串行线缆、一个由“交叉线”实现的以太网连接。Heartbeat甚至可同时通过多个物理连接检测主服务器的工作状态,而其只要能通过其中一个连接收到主服务器处于活动状态的信息,就会认为主服务器处于正常状态。从实践经验的角度来说,建议为Heartbeat配置多条独立的物理连接,以避免Heartbeat通信线路本身存在单点故障。
1、串行电缆:被认为是比以太网连接安全性稍好些的连接方式,因为hacker无法通过串行连接运行诸如telnet、ssh或rsh类的程序,从而可以降低其通过已劫持的服务器再次侵入备份服务器的几率。但串行线缆受限于可用长度,因此主、备服务器的距离必须非常短。
2、以太网连接:使用此方式可以消除串行线缆的在长度方面*,并且可以通过此连接在主备服务器间同步文件系统,从而减少了从正常通信连接带宽的占用。
基于冗余的角度考虑,应该在主、备服务器使用两个物理连接传输heartbeat的控制信息;这样可以避免在一个网络或线缆故障时导致两个节点同时认为自已是唯一处于活动状态的服务器从而出现争用资源的情况,这种争用资源的场景即是所谓的“脑裂”(split-brain)或“partitioned cluster”。在两个节点共享同一个物理设备资源的情况下,脑裂会产生相当可怕的后果。
为了避免出现脑裂,可采用下面的预防措施:
添加冗余的心跳线,例如双线条线。尽量减少“裂脑”发生机会。
启用磁盘锁。正在服务一方锁住共享磁盘,“裂脑”发生时,让对方完全“抢不走”共享磁盘资源。但使用锁磁盘也会有一个不小的问题,如果占用共享盘的一方不主动“解锁”,另一方就永远得不到共享磁盘。现实中假如服务节点突然死机或崩溃,就不可能执行解锁命令。后备节点也就接管不了共享资源和应用服务。于是有人在HA中设计了“智能”锁。即,正在服务的一方只在发现心跳线全部断开(察觉不到对端)时才启用磁盘锁。平时就不上锁了。
设置仲裁机制。例如设置参考IP(如网关IP),当心跳线完全断开时,2个节点都各自ping一下 参考IP,不通则表明断点就出在本端,不仅“心跳”、还兼对外“服务”的本端网络链路断了,即使启动(或继续)应用服务也没有用了,那就主动放弃竞争,让能够ping通参考IP的一端去起服务。更保险一些,ping不通参考IP的一方干脆就自我重启,以彻底释放有可能还占用着的那些共享资源。追问我只想要知道ceph放脑裂的机制。你整这些大多是基于主机平台本身的机制,不是在分布式文件系统层面的机制,跟ceph本身没有什么关系吧?

热心网友 时间:2023-10-16 05:58

看过其他的分布式存储是通过添加一
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怎样备份iPhone的照片? 奇迹的战士怎样加点? 奇迹私服战士8W点的怎么加点PK厉害 房屋装修建材的选购家装建材种类有哪些 家装建材都包含什么 家装应该买什么东西 劓刑简介 电信手机停机保号怎么办理? 定胆定胆方法 3d定胆方法有哪些? 荒野行动从下载到安装要多少内存?安装后要多少? 如何使用root用户运行J版Ceph ceph写分片失败 ios怎么下荒野行动(要详细过程) ceph osd down怎么启动 ceph centos7 集群怎么重启 梦见鱼塘放水结果水倒流回来了,而且很大一下装满整个鱼塘,水没有漫堤... 荒野行动的正版在哪里下载? 昨晚梦见河里涨水了,水特别的满,好像再差一滴水就能溢出来似的 梦到河里涨水了是什么预兆? 梦见下雨河水灌满倒流,然后又下降顺流了 做梦梦到河水是什么意思? 梦见河水一会顺流,一会倒流,最后又顺流是什么意思? 梦见大洪水倒流 梦见一家人出去玩,忽然看见河水在倒流,马上就发洪水了,不过我们都站在了高处 刚才做梦梦到河水倒流,然后又顺流,接着涨水了 刚才做梦梦到河水倒流,接着又顺流,最后涨水, 怎么解释河水倒流? 梦见河水倒流会发生什么事? 刚才做梦梦到河水倒流,然后顺流 接着涨水。 为什么安装荒野行动是显示安装失败 proxmox 可以部署ceph吗 荒野行动pc版 下载不了 孤岛危机2剧情 安装荒野行动PC版总是出现这种情况为什么? openstack怎么查计算节点的vm接口ip地址 为什么荒野行动PC版下载后安装失败?说找不到一个什么软件 如下图 ceph怎么重启集群 centos7 集群修改ceph.conf之后要怎么生效 借点钱上征信吗 借点钱贷款上不上征信 凡普信,好分期,现金贷,借点钱,手机贷,你我贷,达飞云贷,来分期,想问问各位高人。,这些都上征信吗 请问 借点钱APP上征信吗 需要借点钱,朋友给推荐了拍拍贷,但是不知道拍拍贷上不上征信,有没有大神给解解? 网上小额贷款上征信吗? 拍拍贷上不上征信啊?需要借点钱周转,但是又不想影响到自己的征信。 想在拍拍贷上借点钱,请问大家拍拍贷上征信吗? 拍拍贷上不上征信?打算借点钱花花,个人征信可能不太好。 打算借点钱,咨询一下,拍拍贷上征信吗? 闪零易贷上征信吗?