最近,很多用户对GaussDB Dorado存算分离方案很感兴趣,此方案的部署架构如下图。
生产中心1主2从3个数据库节点,下挂1台OceanStor Dorado企业存储,各自映射Dorado存储的LUN盘给3个数据库节点(基于应用系统的数据库实际容量,按需分配),每个节点一组LUN空间,而不是几块本地盘,外置存储的LUN接入OS操作系统,生成对应的盘符,创建文件系统,给数据库使用。同时还映射一个LUN盘共享给3个节点,是共享的redo日志卷。同城中心也是类似部署架构,3个节点冗余,映射存储的LUN给3个数据库节点,作为数据空间使用,映射日志卷给3个节点共享使用。生产和同城的日志卷存储LUN做存储同步复制,链路是FC光纤或者ROCE链路。 数据库架构的业务流如下: 1,配置双集群容灾关系后,会进行首次主备集群之间全量数据building,数据库之间采用IP网络复制。 2,主集群的主DN生成WAL(Write Ahead Logging前写日志,XLog)日志写入共享日志卷; 3,写入的日志卷通过Dorado存储同步复制到对端灾备集群的共享日志卷,保障RPO=0; 4,主集群的备DN节点从共享日志盘读取WAL日志完成数据回放。 5,备集群的3个DN节点从共享日志盘读取WAL日志完成数据回放。(RTO<120s) 从上面流程可以看出,GaussDB Dorado存算分离方案是改变了数据库的架构和IO流程的:日志卷做到了主备的共享访问,类似主备集群;复制流从基于IP网络的数据库复制,改成了基于存储FC网络的同步复制,网络质量更好;备节点是基于共享日志去回放到自己的数据空间,而不是主从IP网络复制回放。 此方案实现了Oralce 存储架构的平滑迁移,原位替换,核心价值主要体现在: 1,整体架构可靠性不降级,维持了经典的数据库 存储架构,数据库干好数据库逻辑,SQL引擎,存储引擎;存储系统管盘及RAID管理,空间管理,亚健康,慢盘,超时快速隔离,更可靠。 2,主备双集群同城实现了RPO=0,复制网络是基于低时延无损的FC或ROCE网络,时延低,更可靠。 3,计算资源和存储解藕,各自精细化管理,容量不够扩容只需要扩存储资源,不需要扩数据库节点,更节约成本。 4,生产和同城是主备双集群,而不是一个集群,彼此是隔离的,假如生产中心主集群故障或者升级,不会影响备集群支撑业务。经常有部分数据库专家推荐生产和同城一个集群拉远,其实是有风险的,假如网络抖动或者软件BUG会导致生产和同城都挂掉,没有达到故障隔离的目标,就类似Oracle 生产和同城拉远做集群,其实极少这么部署的。 来源:毕须说 公众号