李毕生
作者李毕生2023-11-27 17:51
金融解决方案架构师, 华为数据存储解决方案中心

分布式数据库同步复制网络出现了抖动、误码亚健康,怎么才能快速隔离,避免hang死呢?

字数 1575阅读 761评论 0赞 1

近日,与一辽宁金融机构交流,讲国产数据库生产和同城采用同步复制方案,客户问,生产和同城之间的网络出现抖动,误码怎么快速隔离,会不会导致业务挂死?了解到当前有两条裸光纤链路,中间通过波分设备进行转换。现网是基于FC网络采用存储同步复制。FC网络相比服务器直接的IP网络时延和误码率肯定好很多,所以才敢做同步复制。

针对此问题,分布式数据库存算一体本地盘方案就只能采用服务器之间TCP/IP网络进行同步复制,如果出现抖动,误码,拥塞,数据库有没有好的办法呢?我就跟客户讲,大行G行的确就没有采用TCP/IP网络来做同步复制,也担忧网络抖动拥塞导致Hang死,性能下降较多,同步时延和丢包率肯定不如FC网络。因此采用了分布式数据库GaussDB+外置企业存储华为OceanStor Dorado存算分离方案,通过生产和同城之间的FC网络实现同城RPO等于0,针对链路抖动,存储系统是有一套快速隔离机制的,检测到有误码,异常报文,IO未返回,此条链路亚健康降级,会快速的换路进行重试,重试成功就正常返回,如果还出现抖动误码,就在存储主端记录差异位图,IO返回给主机,保证业务恢复,差异位图数据标识此数据没有同步到从端存储,后续链路恢复后后台同步到从端存储。此系列重试检测隔离操作X0秒以内完成,保证IO不会影响上层业务。

或许有客户担忧这个隔离时间是不是太长了,的确曾经一个大行客户测试链路接口卡故障会Hang六秒,认为太长,就接受不了。其实此时间是基于主机OS的超时时间是30秒来定的,存储IO在出现链路故障隔离检测10内返回,没有超过30秒这个主机层的时间,也不能太短,因为太短可能出现链路兵兵切换隔离。

有没有更快的隔离方案呢?其实存储联合华为光产品波分设备推出了一个快速隔离方案。波分设备是接到生产和同城的两端的一个光传输设备DWDM,出FC网络端口和万兆IP,25G网络端口,其通过芯片ms级感知亚健康状态,可以快速检测链路抖动、闪断等,如果其检测到信号低于某一个阈值,就通知存储系统此条链路抖动亚健康,请换链路发IO,这样存储系统就不用被动去检测,而通过波分设备来告知存储主动切换,准确度就更高,也更快,通过此联合方案,可以实现2~5秒快速隔离,对业务影响就基本无感知。这个就是华为SOCC联合方案,即Storage-Optical Connection Coordination解决方案,发挥存储和光传送产品组合的优势,防止网络抖动引发的金融交易失败问题,确保金融行业交易稳定可靠。

生产和同城距离一般50公里左右,链路出现抖动亚健康的确正常,但是关键就是怎么快速隔离,而当前看到国产数据库不少推荐采用服务器节点之间的TCP/IP网络来实现数据库同步复制。听一个客户讲,其对网络质量要求极高,如果链路抖动,误码,有没有快速隔离不影响业务呢?如果因为一个抖动亚健康就导致业务挂死,这个高可用架构是不是太脆弱了!所以很多技术细节不是想当然的说没问题,出了哪怕千分之一的概率的问题,结果没有逃生通道,那就是100%的事故,还是要敬畏数据中心的生产运维和故障管理。就像开篇客户问的链路误码抖动问题,客户说每年都会来那么几次,而采用数据库+专业的企业存储积累的这些快速隔离机制就完美的解决了这些问题,如果处于OS之上的数据库来把存储诸多的高可靠,高可用能力机制再给做一遍,那数据库就相当复杂了,千万行级代码,值得投入吗?这也是为什么G行要采用数据库+外置企业存储这套存算分离架构的核心原因之一。

数据库做好数据的逻辑一致性问题,存储解决存的高可用高可靠问题,各自做好专业领域分工与协同,不挺好的嘛,依托已经很可靠而且全球领先的存储系统,以存强数。试想如果一栋大楼四梁八柱不稳,时不时倒塌一个“节点”,楼里面的“人”何以安生,核心数据敢入住吗?厂商和客户睡得着觉吗?

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广