[发明专利]存储集群系统的配置修改方法、存储集群及计算机系统有效
申请号: | 201711054330.9 | 申请日: | 2017-10-31 |
公开(公告)号: | CN109729129B | 公开(公告)日: | 2021-10-26 |
发明(设计)人: | 周思义;梁锋;智雅楠;黄西华 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L12/24 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 熊永强;李稷芳 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 存储 集群 系统 配置 修改 方法 计算机系统 | ||
本申请提供一种修改存储集群配置的方法、装置及计算机系统等。采用一致性复制协议的存储集群,在半数存储节点发生故障的前提下,若确定故障后的存储集群中存在至少一个存储节点,该存储节点上的最新的日志索引号大于或等于存储集群向客户端提供的已提交日志的索引号,则由仲裁模块向未故障的存储节点发送强制集群配置变更指令,所述强制集群配置变更指令用于指示所述未故障的存储节点修改本地的集群配置信息;且仲裁模块更新配置库中存储的集群配置信息,使其指示新的集群配置。这样解决半数存储节点故障后存储集群不可用的问题,提高了存储集群的可用性。
技术领域
本申请涉及分布式存储集群技术,尤其涉及一种存储集群系统发生故障后的集群配置修改技术。
背景技术
存储集群中部署有分布式的多个存储节点,这多个存储节点可以采用一致性复制协议,例如Raft协议,来保证数据的一致性。
Raft协议是一种常用的一致性复制协议,它规定最新数据要保存在大多数(超过半数)存储节点中,然后存储集群才能继续提供数据复制服务(或称为数据写服务)。也就是说,每次数据更新,Raft协议中的存储主节点要得到大多数节点(包括存储主节点自己)已保存最新数据的响应,然后存储集群才能继续提供数据复制服务。当一定数量的存储节点发生故障后,Raft协议要求修改集群配置,使得在新的集群配置下仍满足最新数据保存在大多数节点中,在这个前提下才能继续提供数据复制服务。而在Raft协议中,集群配置的修改过程其实也是一个数据复制过程,只是复制的数据(或称为日志)是一个用于修改集群配置的配置变更命令,因此在执行集群配置的修改时也要遵循前述“保存在大多数”的规定。
在现有的Raft协议中,当少于半数的存储节点发生故障后,存储主节点发送的配置变更命令可以得到大多数未故障的存储节点的响应,所以能够继续提供数据复制服务。具体的,当少于半数的存储节点发生故障后,存储主节点向剩余的所有未故障的存储节点发送配置变更命令,该命令被所有未故障的存储节点保存且向存储主节点返回响应(返回响应即指示保存成功);由于未故障的存储节点超过半数,满足Raft协议要求,因此存储主节点指示所有未故障存储节点各自修改自己的集群配置信息,从而使存储集群在新的集群配置下继续提供数据复制服务。当存储主节点也在故障节点中时,Raft协议要求先执行重新选择存储主节点的过程,新的存储主节点再执行前述集群配置修改过程。
但是,当半数的存储节点同时发生故障时,现有的Raft协议无法获得大多数存储节点对于配置变更命令的响应,所以无法满足Raft协议的要求,也就不能对集群配置的修改达成决定,从而导致存储集群无法完成集群配置的修改。这样,即便存储集群中实质上还保存有满足用户需求的数据,也无法再继续提供数据复制服务了。
图1为一个存储集群的示例。该存储集群包括两个可用区(available zone,AZ)。一个AZ一般由多个数据中心组成,每个可AZ具有独立的供电和独立的网络等。当一个AZ出现通常的故障时,例如电源、网络、软件部署、洪水等灾害,一般不会影响其它AZ。AZ与AZ之间一般通过低延迟网络连接。AZ1和AZ2中分别部署有2个存储节点(存储层),即对称部署。两个AZ对称部署,意味着两个AZ内分别部署有相同数量的存储节点。两个AZ内还分别部署有2个计算节点(计算层)。计算节点例如可以包括结构化查询语言(structured querylanguage,SQL)读写节点和SQL读节点。存储节点包括1个存储主节点和3个存储备节点。根据Raft协议的规定,4个存储节点中需要有3个或3个以上的存储节点保存最新数据。假设图1中存储主节点L、存储备节点F1和F2中已保存最新数据。如图1所示,当AZ1发生故障(或任意两个其它存储节点发生故障)后,由于4个存储节点中的半数即2个已经故障,那么配置变更命令即便被发出最多也只能得到AZ2内这2个存储节点的响应,无法满足大多数响应的要求,所以集群配置变更失败,即便保存最新数据的存储备节点F2还存在,该存储集群也无法继续提供数据复制服务。
由以上分析和示例可见,在应用Raft等一致性复制协议的存储集群中,急需一种技术方案,该技术方案能够在半数的存储节点发生故障之后仍能保证存储集群在一定条件下继续提供一致性数据复制服务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711054330.9/2.html,转载请声明来源钻瓜专利网。