云数据库产品越来越多,各家云厂商也都推出基于开源MySQL、Postgre等的关系型数据库产品,多副本、高可用、读写分离、分库分表等功能更是集成在各类产品中,降低了机房建设和运维成本,助力更多的客户上云。
唯独鲜见Oracle的云产品输出,除非是Oracle Cloud。
对于当前业务系统基于Oracle系统开发,且改造难度较大,如OA、ERP等系统;或对数据库要求较高,必须使用Oracle数据库的场景,如订单流水、金融交付系统,袋鼠云可以提供阿里、华为、腾讯公有云,阿里、Zstack专有云上完善的云上Oracle RAC实施部署、运维方案,协助客户无缝上云。
云上单机还是集群,Oracle的部署都遵循官方的指导文档,没有差别。
但是在基础配置上面,云环境将网络、服务器、磁盘等以产品化输出,有其特殊性:
- 云交换机:建议云环境中所有的业务系统运行在专有网络VPC中,创建不同网段交换机,供给RAC集群、业务系统使用;同一个VPC网络默认互通
- 云服务器:云环境有地域/可用区一说,同一地域不同可用区类似于同城不同机房,集群计算节点需要在同一个可用区中,购买在同地域不同可用区或不同地域的机器可用于部署业务/数据库灾备环境
- 云盘:同样需要根据规划购买与RAC计算节点同地域同可用区的云盘,并挂载到计算节点上;
不同云环境对一台云服务器上挂载磁盘个数的有不同限制,在集群规划阶段需要考虑预估数据量大小以及云盘大小。
云服务器规格可以升配或减配,对于集群计算节点,可以逐一进行,降低对业务的影响。
云上RAC规划一览
稳定高效运行
1.标准压力测试
Swingbench可以构建真实OLTP事务场景,比如订单类业务、新建客户、订购、下单等流程操作,通过大批量增删改查操作,测试不同并发场景下数据库性能趋势和稳定性,同时结合其他监控工具,观察服务器内存、负载、磁盘等的性能趋势和稳定性;根据压测结果及早发现和优化问题,评估数据库的最佳使用方式。
依据袋鼠云的集群运维经验,短时间、低并发的压测无法验证集群的稳定性,所以在云上集群部署之后,会进行长时间(4小时以上)、高并发的持续压测;
同时对压测出来的集群性能问题进行分析,优化集群参数配置,并主动提供云服务器、存储资源优化建议,以期交付一个稳定、高性能的数据库环境。
阿里云2节点12.2.0.1RAC压测举例:
2.业务回放测试
DBReplay的测试方法,抓取生产环境某一时间段业务负载,单次capture可以多次replay,更接近于正式的生产负载,更直观有效。主要用于数据库升级、迁移,应用程序部署等的预演,量化评估出变更实施后对现有的性能的影响程度。
对于平常压力较大的业务系统,在迁移割接之前有必要进行此类测试。
案例分享
1. 某日企客户
(1)需求分析
- 业务整体上云,需要部署云上Oracle RAC 12C/11G各1套
- 满足高可用、容灾等需求
(2)架构规划
- 规划20G3云盘做OCR/Voting组、60G2云盘做REDODG1/2组、200G1云盘做ARCHDG组、规划500G1云盘做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压测
- 继续使用备份一体机备份生产数据
更多数据库架构问题请了解云掣运维中台