数栈运维案例:云上RAC部署、运维及实践案例


数栈是云原生—站式数据中台PaaS,我们在github和gitee上有一个有趣的开源项目:FlinkX,FlinkX是一个基于Flink的批流统一的数据同步工具,既可以采集静态的数据,也可以采集实时变化的数据,是全域、异构、批流一体的数据同步引擎。大家喜欢的话请给我们点个star!star!star!

github开源项目:https://github.com/DTStack/flinkx

gitee开源项目:https://gitee.com/dtstack_dev_0/flinkx

数据库产品越来越多,各家云厂商也都推出基于开源MySQL、Postgre等的关系型数据库产品,多副本、高可用、读写分离、分库分表等功能更是集成在各类产品中,降低了机房建设和运维成本,助力更多的客户上云。

唯独鲜见Oracle的云产品输出,除非是Oracle Cloud。

对于当前业务系统基于Oracle系统开发,且改造难度较大,如OA、ERP等系统;或对数据库要求较高,必须使用Oracle数据库的场景,如订单流水、金融交付系统,袋鼠云可以提供阿里、华为、腾讯公有云,阿里、Zstack专有云上完善的云上Oracle RAC实施部署、运维方案,协助客户无缝上云。

云上单机还是集群,Oracle的部署都遵循官方的指导文档,没有差别。

但是在基础配置上面,云环境将网络、服务器、磁盘等以产品化输出,有其特殊性:

  • 云交换机:建议云环境中所有的业务系统运行在专有网络VPC中,创建不同网段交换机,供给RAC集群、业务系统使用;同一个VPC网络默认互通
  • 云服务器:云环境有地域/可用区一说,同一地域不同可用区类似于同城不同机房,集群计算节点需要在同一个可用区中,购买在同地域不同可用区或不同地域的机器可用于部署业务/数据库灾备环境
  • 云盘:同样需要根据规划购买与RAC计算节点同地域同可用区的云盘,并挂载到计算节点上;

不同云环境对一台云服务器上挂载磁盘个数的有不同限制,在集群规划阶段需要考虑预估数据量大小以及云盘大小。

云服务器规格可以升配或减配,对于集群计算节点,可以逐一进行,降低对业务的影响。

一、云上RAC规划一览

2节点RAC资源配置
主机 cloudrac01 Centos7.6 8C16G
cloudrac02 Centos7.6 8C16G
云盘 3*20G OCRDG 1*100G GIMRDG 2*500G DATADG
1*500G ARCHDG 1*200G FRADG 1*500G /backup
IP信息 Public IP 192.168.33.151 192.168.33.150
Private IP 192.168.22.213 192.168.22.214
VIP 192.168.33.55 192.168.33.56
Scan IP 192.168.33.57

二、稳定高效运行

1、标准压力测试

Swingbench可以构建真实OLTP事务场景,比如订单类业务、新建客户、订购、下单等流程操作,通过大批量增删改查操作,测试不同并发场景下数据库性能趋势和稳定性,同时结合其他监控工具,观察服务器内存、负载、磁盘等的性能趋势和稳定性;根据压测结果及早发现和优化问题,评估数据库的最佳使用方式。

依据袋鼠云的集群运维经验,短时间、低并发的压测无法验证集群的稳定性,所以在云上集群部署之后,会进行长时间(4小时以上)、高并发的持续压测;

同时对压测出来的集群性能问题进行分析,优化集群参数配置,并主动提供云服务器、存储资源优化建议,以期交付一个稳定、高性能的数据库环境。

阿里云2节点12.2.0.1RAC压测举例:

?

2、业务回放测试

DBReplay的测试方法,抓取生产环境某一时间段业务负载,单次capture可以多次replay,更接近于正式的生产负载,更直观有效。主要用于数据库升级、迁移,应用程序部署等的预演,量化评估出变更实施后对现有的性能的影响程度。

对于平常压力较大的业务系统,在迁移割接之前有必要进行此类测试。

?

三、案例分享

1、某日企客户

(1)需求分析

  • 业务整体上云,需要部署云上Oracle RAC 12C/11G各1套
  • 满足高可用、容灾等需求

(2)架构规划

  • 规划20G*3云盘做OCR/Voting组、60G*2云盘做REDODG1/2组、200G*1云盘做ARCHDG组、规划500G*1云盘做DATADG组、100G*1云盘做MGMTDG组
  • 规划云服务32C64G*2作为计算节点
  • 建议客户采用业务分离的模式访问数据库

?

2. 某国企招聘网站

(1) 需求分析

  • 需要同时满足1w人在线访问,并发事务2000以上
  • 自行搭建云上Oracle单机数据库,预计很快到达瓶颈
  • 需要高可用、容灾的架构保障业务的持续运行

(2) 架构规划

  • 新购高规格云ECS作为计算节点,保证充足的计算资源
  • 原单机数据库割接后作为DG备库运行
  • 配置合理备份策略,上传备份集到OSS对象存储,异地保存

?

3、某省级专有云交管平台

汇总全省交管数据,并提供查询、分析平台。

(1)需求分析

  • 自建机房,部署在Windows服务器单机Oracle11.2.0.1
  • 18T数据,并在逐步上涨中
  • 业务调试需要和部里对接、调整,实际没有测试的可能
  • 可维护时间短

(2)架构规划

  • 专有云环境部署,2节点RAC集群,并搭建容灾备库
  • 通过ADG实时同步机房数据,进行DBRelay压测
  • 继续使用备份一体机备份生产数据

?