GBase8a集群数据库国产化改造
1、背景
GBase 8a为目前正在使用的分析型数据库之一,该数据库支撑多个省份的业务,在操作系统国产化的要求下,有十几个业务已稳定上线运行的集群需要完成操作系统改造,且各个业务能接受的改造要求和停服时间都不一样,在此背景下,制定了3个主要的改造方案。
方案说明
2.1方案一:在线升级/重装操作系统
方案说明:该方案的核心思路是当集群业务停止后,使用脚本prepare.py备份集群相关文件、刷新集群Redolog,然后先升级操作系统,将其内核由CentOS7升级为CentOS8;再升级GBase 8a集群为对应CentOS8内核的版本,升级完成后校验数据。
方案评估:
(1)优点
1)采用自动化升级脚本,集群升级后即可使用,升级成本较低。
2)相比其他两个方案可节约数据迁移和数据重分布的长耗时。
(2)缺点
1)所有操作都需要在一个割接窗口中完成。
2)操作系统在线升级/重装时间较长,另外数据库升级操作需要4小时。
3)如果操作系统升级失败会造成集群节点损坏,极端情况下主备节点同时损坏则会导致数据丢失。
如果采用该方案升级,可参考如下步骤示意图进行升级
步骤说明
(1)用户停滞集群任务;
(2)检查集群状态,包括节点状态、event情况,确保集群状态正常;
(3)停止集群服务;
(4)备份集群相关文件,刷新Redolog;
(5)操作系统升级;
(6)验证操作系统升级后的集群环境是否正常如:rpm包、防火墙、集群环境变量等;
(7)升级集群版本(所有节点需要正常);
(9)检查集群升级后的状态,检查升级后的开机自启、运维脚本是否生效。
时间周期
数据库产品升级执行时间窗口预计4个小时,且升级时需要确保集群中所有节点的状态正常。在线升级/重装操作系统时间波动较大,特别当机器无法重启的时候。
2.2方案二:数据迁移
方案说明:该方案的核心思路是搭建一套新的GBase集群,在原集群和新集群之间部署dblink,业务通过insert本地表select远程表@网关的形式迁移数据到新集群。
方案评估:
(1)优点
新集群的部署对老集群和现有业务无影响;
在用户确认新集群业务无问题之前,老集群仍然保留,即随时可以回退。
(2)缺点
1)业务需要负责完成数据迁移;
2)业务需要梳理并重新申请周边网络策略;
3)业务需要重新申请账号权限。
方案实施:
该方案实施的大致步骤如下所示
步骤说明
(1)数据库侧负责部署新集群;
(2)数据库侧打通新老集群之间的网络策略,并进行dblink配置;
(3)业务侧在新集群上创建实例,根据业务明确用户资源使用分配;
(4)业务侧申请账号权限;
(5)业务侧梳理并重新申请周边网络策略;
(5)数据库侧导出旧集群元数据(建表语句、视图、存储过程等);
(6)业务侧在新集群依照元数据创建对象;
(7)业务侧通过dblink实现数据迁移(历史+增量数据迁移);
时间周期:
该方案主要耗时在数据迁移上,在带宽不成为瓶颈的情况下,单节点速度在大概在100M/s 左右,具体时间依据业务数据量而定。
2.3方案三:集群扩缩容
方案说明:该方案的核心思路是在不影响CentOS7主集群的基础上,将操作系统为CentOS8操作系统的服务器扩容进主集群中,先扩容管理节点再扩容数据节点,通过数据重分布的方式将主集群中的数据搬移到扩容集群中,等待数据搬移完成后,切换业务集群为新扩容集群,同时将原先CentOS7的集群缩容。
方案评估:
(1)优点:
1)业务无需进行数据迁移;
2)业务无需重新申请账号权限;
3)可以保证数据完整性,风险可控。
(2)缺点:
1)根据集群和机器等情况,至少需要2次停服割接;
2)大数据量下的数据重分布耗时较长、且对于跨distribution的表关联查询会拉复制表,影响关联查询速度。
3)数据重分布会占用内存、cpu、网络资源,对于重分布的表在扩容期间跑业务会受到影响。
4)扩容的方式会消耗与原先同等或者更多的服务器资源,需准备足够服务器资源按照该方式升级。
5)业务需要梳理并申请周边网络策略。
方案实施:
如果采用该方案,可参考如下步骤示意图进行操作
步骤说明:
数据库侧升级集群为对应CentOS8内核的版本;
数据库侧完成新老节点之间的网络策略开通;
业务梳理并申请周边网络策略;
业务侧梳理表分布的先后顺序;
业务侧确定割接时间;
集群扩容割接:管理节点扩容、数据节点扩容
数据节点扩容期间,数据进行同步,同步期间占用资源,且对于跨distribution的表关联查询会拉复制表,影响关联查询速度。
管理节点扩容完毕后,集群元数据同步完成后,再扩容数据节点;
创建新distribution,新的distribution只能包括新扩容的CentOS8节点(同一个distribution下不能有两种操作系统的主机);
设置并行度、表先后顺序进行数据重分布
数据重分布完成,且业务调整连接IP为国产化节点后,缩容下线非国产化节点。
时间周期:
(1)管理节点扩容:预计停服4小时;
(2)数据节点扩容:如果考虑到减少对业务的影响,只在白天重分布,大概1T需要1天时间,以单节点20T数据的集群为例,预计需要20天。对于表特别多的集群,例如xxxx租户集群实际情况需要60天。
3、方案实际应用情况总结
(1)在线升级/重装操作系统应用:该方案存在不可控风险,对于业务已稳定上线的系统,基本不在考虑范围之内。
(2)数据迁移方案应用:
数据迁移的方案除了可以使用dblink进行迁移,还可使用gbase同步工具gcluster_rsynctool。使用该方式的前提为,新集群需和老集群同构。
| 数据迁移方式 | 额外空间 | 新集群架构 | 操作难度 | 备注 |
| 导出导入 | 要求 | 无要求 | 复杂 | 性能好,但需要落地,调度复杂 |
| DBLink | 无要求 | 无要求 | 中等 | 逻辑层复制性能稍差,不支持增量。在带宽不成为瓶颈的情况下,单节点速度在大概在100M/s 左右 |
| 同步工具 | 无要求 | 主分片数量相同(同构)、数据路径必须一致 | 简单 | 底层二进制文件同步,支持全量和增量(不支持ddl)。该工具常用于主备集群的同步。在带宽不成为瓶颈下,单节点速度在120M/s左右。 |
(3)集群扩缩容方案应用:
1)业务不想要投入大量的工作量进行数据迁移,且需要保障数据安全,故选择集群扩缩容的方案进行国产化改造。
2)因缺少机器,原有的扩缩容方案无法实施。租户采用缩扩容的方案进行国产化改造(机器保持不变),即先缩容一部分机器,离线进行操作系统升级/重装,然后将这部分完成国产化的机器重新扩容进集群,如此往复,直到所有主机完成国产化。该方案实施的前提为:租户需将数据清理到一定程度(为保证集群稳定运行,数据至少清理到缩容后磁盘使用率不能超过90%),且该方案需要多次停服割接。但是使用该方案,用户无需梳理并申请周边网络策略、重新申请账号权限。
评论
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25051
- 42023-09-25浏览数:18521
- 52020-05-11浏览数:17526