System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于分布式存储,具体涉及一种块存储高可用技术系统的实现方法。
技术介绍
1、随着云计算技术的兴起,分布式存储系统以其高性能、大规模、可扩展性强等优势得到广泛的应用。天翼云cstor分布式块存储可以为用户提供高io、高吞吐、低延时的块存储设备。虽然天翼云布式块存储性能强,其扩展性也能持续为用户保证高性能体验,但块存储由于底层架构限制,目前无法支持同城多数据单元可用,机房出现断电/地质灾害等易造成客户业务中断。即原始实现方案存在如下问题:
2、采用本地可用,无法满足同城可用业务的部署要求,需要业务采取上层容灾部署的方式,占用客户业务的资源,带宽等,业务部署同城高可用,涉及多个组件的协同,不同组件可实现的rpo/rto不一致,导致业务的可用性受短板影响,业务层部署高可用,部署复杂,需要配置专人运维,费用高昂,且运维费用会随着使用年限的增长而增加。客户成本逐渐递增不堪重负,部分客户不希望使用高可用/容灾功能;
3、单一业务部署高可用方案,需要针对每个业务单独分析单独部署,单独指定运维人员,不易生成业务部署模板,无法大规模部署,不利于后续天翼云大规模部署后的应用业务拓展。
技术实现思路
1、本专利技术的目的在于提供一种块存储高可用技术系统的实现方法,用于解决
技术介绍
中提出的技术问题。
2、为了实现上述目的,本专利技术采用了如下技术方案:一种块存储高可用技术系统的实现方法,包括如下步骤:
3、s01:指定硬盘的高可用策略和云硬盘的可用分
4、s02:在各个高可用的云硬盘组之间统一命名空间的功能,对外仅体现统一命名空间处理后的云硬盘标识;
5、s03:在io和虚拟化层之外各个分区部署一个控制集群关联模块,实现在不同故障下,正确的剔除有bad data的云硬盘;
6、s04:采用统一映射关联各分区云硬盘;
7、s05:磁盘根据配置的高可用策略将本磁盘的数据同步到其他可用磁盘内,实现数据在各磁盘的高可用分布;
8、s06:虚拟化层根据下发的命令,生成映射关联,将各个分区内的云硬盘通过映射关联统一提供对外识别标识,所有的业务可以通过同一个可用标识接收业务访问;
9、s07:通过虚拟化层提供的块组功能,按照块组管理各个虚拟接入点,在块组内部保证接入地址的就近统一原则。
10、优选的,剔除有bad data的云硬盘的方法为:
11、s031:通过主可用区az收集其他可用区的版本号;
12、s032:若az版本号不一致,同质化虚拟层发消息通知该az临时剔除,并将下发到该az的io设置为重试返回;
13、s033:若主可用区az和其他各个区网络无法握手,则接入虚拟层,识别有接入点无法正常通信获取其他az的可用信息。
14、优选的,所述步骤s033中识别机制为虚拟层和各接入点定时心跳机制丢失。
15、优选的,主可用区az和其他各个区网络无法握手包括:无其他可用区在位,本可用区继续提供业务,上报告警。
16、优选的,主可用区az和其他各个区网络无法握手包括:其他可用区在位,通知虚拟层删除本可用区映射信息。
17、优选的,采用统一映射关联各分区云硬盘的方法为:
18、在云硬盘服务中查看所有的云硬盘;
19、进入操作系统,使用相应的命令或工具识别硬盘;
20、使用分区工具对硬盘进行分区;
21、对每个分区进行格式化,操作系统识别并挂载每个分区,创建目标目录,并将每个分区挂载到相应的目录,统一映射。
22、优选的,所述步骤s05中,同步过程与实际写入过程同步进行。
23、优选的,所述控制集群关联模块的控制逻辑为判读各分区硬盘的io序列num,决策将num和其他不一致的模块云硬盘的映射关联暂时失效,不改动io逻辑,关联失效后不会将该硬盘对外提供接入,同步过程不受影响。
24、优选的,所述版本号收集时只做记录,在非故障非缓冲期不做处理,在正常的业务处理路径上不做特殊处理,卸载高可用对业务系统的压力。
25、优选的,所述云硬盘标识为硬盘id、硬盘uuid或硬盘名称。
26、综上所述,由于采用了上述技术方案,本专利技术的有益效果是:
27、1、提出了一种云架构下块的同城高可用技术,当前无块层次的高可用方案,必须依赖应用在接入/网络/应用/中间件/数据库各层分别部署高可用方案,代价昂贵,运维复杂。
28、2、提出了虚拟层技术,在切换中不需要客户业务感知,虚拟层提供了disk-alian概念,避免了接入点变化导致上层业务重新部署,本方案对业务系统相对现有方案更友好,在虚拟化层提供了块组功能,避免统一业务不同接入点导致的性能波动,对业务系统的性能更友好。
29、3、提出了防止脑裂技术,防止脑裂导致的读写不一致,在脑裂期间,依赖静默等待期,主动停止业务,防止业务误入导致后续读写不一致,采取后台静默修复的机制,在出现单盘数据不一致后从就近的云硬盘获取数据修复,修复期间客户业务正常访问其他硬盘,不感知修复过程。修复完成后自动完成接入,恢复高可用层级,在脑裂的处理上,采取了主机监测和互相纠察相结合的机制,规避误判导致的频繁切换,在切换逻辑中增加了步进式延长切换的设计,避免乒乓效应。
30、4、部署简单,不需要改动网络层,应用层,接入层,在部署上,需要业务层新增组件,不需要额外部署仲裁/同步组件/故障倒换组件等各种中间件,对业务的侵入更少,客户部署简单,运维难度小,可以更容易打动客户部署高可用服务,尤其是在云下已经部署了高可用功能的客户,更容易接受一种侵入更少的部署方式。
本文档来自技高网...【技术保护点】
1.一种块存储高可用技术系统的实现方法,其特征在于,包括如下步骤:
2.如权利要求1所述的一种块存储高可用技术系统的实现方法,其特征在于,剔除有bad data的云硬盘的方法为:
3.如权利要求2所述的一种块存储高可用技术系统的实现方法,其特征在于,所述步骤S033中识别机制为虚拟层和各接入点定时心跳机制丢失。
4.如权利要求2所述的一种块存储高可用技术系统的实现方法,其特征在于,主可用区AZ和其他各个区网络无法握手包括:
5.如权利要求2所述的一种块存储高可用技术系统的实现方法,其特征在于,主可用区AZ和其他各个区网络无法握手包括:
6.如权利要求1所述的一种块存储高可用技术系统的实现方法,其特征在于,采用统一映射关联各分区云硬盘的方法为:
7.如权利要求1所述的一种块存储高可用技术系统的实现方法,其特征在于,所述步骤S05中,同步过程与实际写入过程同步进行。
8.如权利要求1所述的一种块存储高可用技术系统的实现方法,其特征在于,所述控制集群关联模块的控制逻辑为判读各分区硬盘的io序列Num,决
9.如权利要求1所述的一种块存储高可用技术系统的实现方法,其特征在于,版本号收集时只做记录,在非故障非缓冲期不做处理,在正常的业务处理路径上不做特殊处理,卸载高可用对业务系统的压力。
10.如权利要求1所述的一种块存储高可用技术系统的实现方法,其特征在于,所述云硬盘标识为硬盘ID、硬盘UUID或硬盘名称。
...【技术特征摘要】
1.一种块存储高可用技术系统的实现方法,其特征在于,包括如下步骤:
2.如权利要求1所述的一种块存储高可用技术系统的实现方法,其特征在于,剔除有bad data的云硬盘的方法为:
3.如权利要求2所述的一种块存储高可用技术系统的实现方法,其特征在于,所述步骤s033中识别机制为虚拟层和各接入点定时心跳机制丢失。
4.如权利要求2所述的一种块存储高可用技术系统的实现方法,其特征在于,主可用区az和其他各个区网络无法握手包括:
5.如权利要求2所述的一种块存储高可用技术系统的实现方法,其特征在于,主可用区az和其他各个区网络无法握手包括:
6.如权利要求1所述的一种块存储高可用技术系统的实现方法,其特征在于,采用统一映射关联各分区云硬盘的方法为:
7...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。