数栈运维案例:云上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压测
- 继续使用备份一体机备份生产数据

数栈运维案例:云上RAC部署、运维及实践案例的更多相关文章
- Thinkcmf 在新浪云上的部署问题
最近要开发一个社团主页,于是想到了CMF内容管理系统的,但是直接在自己的服务器测试成本太高,于是选择了在新浪云上进行部署测试. 但是在安装Thinkcmf的过程中产生了一些技术性的问题.但最后终于在自 ...
- 腾讯云上免费部署HTTPS
接上篇<腾讯云下安装 nodejs + 实现 Nginx 反向代理>,想从头一步到位的同学建议从上篇文章开始阅读.本文将继续介绍如何通过 Nginx 免费部署HTTPS. 留意下,这里的“ ...
- 阿里云上docker部署nginx实现反向代理
简介 需要从镜像仓库找到所需要的nginx版本pull下来.(地址:https://hub.docker.com/) 1.docker pull nginx 1.挂载目录 1.1 获取nginx. ...
- 在阿里云上单机部署k8s
系统:CentOS Linux release 8.1.1911 配置主机名 [root@iZwz9e3t4tj14jzewdtvj8Z ~]# hostnamectl set-hostname la ...
- 在阿里云上单机部署k8s1.18
系统:CentOS Linux release 8.1.1911 配置主机名 [root@iZwz9e3t4tj14jzewdtvj8Z ~]# hostnamectl set-hostname la ...
- 袋鼠云研发手记 | 数栈·开源:Github上400+Star的硬核分布式同步工具FlinkX
作为一家创新驱动的科技公司,袋鼠云每年研发投入达数千万,公司80%员工都是技术人员,袋鼠云产品家族包括企业级一站式数据中台PaaS数栈.交互式数据可视化大屏开发平台Easy[V]等产品也在迅速迭代.在 ...
- 袋鼠云研发手记 | 开源·数栈-扩展FlinkSQL实现流与维表的join
作为一家创新驱动的科技公司,袋鼠云每年研发投入达数千万,公司80%员工都是技术人员,袋鼠云产品家族包括企业级一站式数据中台PaaS数栈.交互式数据可视化大屏开发平台Easy[V]等产品也在迅速迭代.在 ...
- 一文读懂云上DevOps能力体系
简介: 阿里云ECS自动化运维套件架构师,深度拆解云上运维能力体系建设:自动化运维等级金字塔.自动化运维的进阶模式.DevOps的基础核心.云上标准化部署三大能力-- 序言 云计算行业已经有十多年的发 ...
- 在阿里云上遇见更好的Oracle(四)
2016.5.13,北京,第七届数据库技术大会. 从最初的itpub社区,到后来被it168收购,DBA社区的线下聚会发展成2010年第一届数据库技术大会(DTCC).第一届大会汇聚了社区内活跃的各位 ...
- - 反编译 AndroidKiller 逆向 实践案例 MD
目录 目录 反编译 AndroidKiller 逆向 实践案例 MD AndroidKiller 简介 插件升级 基本使用 实践案例 修改清单文件 打印 debug 级别的日志 方式一:直接代理 Lo ...
随机推荐
- ORACLE忘记用户名和密码、解锁、查询
一.Oracle忘记用户名和密码 1.打开命令提示符,输入命令sqlplus ,进入oracle控制台 2.用户名输入 sqlplus/as sysdba,口令:空(回车即可) 3.连接成功后,输入& ...
- Docker Swarm(一)
Docker Swarm(一)即使有了Docker Compose,项目的部署仍然存在问题,因为Docker Compose只能把项目所有的容器部署在同一台机器上,这在生产环境下是不现实的.Docke ...
- Delphi 中拖动无边框窗口的5种方法
1.MouseMove事件中加入: // ReleaseCapture; // Perform(WM_SYSCOMMAND, $F017 , 0); 2.MouseDown事件中加入: // POST ...
- pagehelper的失效问题
pagehelper是常用的分页插件,代码中常用到,使用简便且对代码侵入性较小,很多人都喜欢使用.不过有时会遇到分页失败问题,输出结果没有分页,日志输出sql语句没有分页关键字及分页参数,目测是pag ...
- 【Maven】在 Eclipse 中使用 Maven
在 Eclipse 中使用 Maven 1 安装 Maven 核心程序 下载地址:http://maven.apache.org/ 检查 JAVA_HOME 环境变量.Maven 是使用 Java 开 ...
- 《机器人SLAM导航核心技术与实战》第1季:第5章_机器人主机
<机器人SLAM导航核心技术与实战>第1季:第5章_机器人主机 视频讲解 [第1季]5.第5章_机器人主机-视频讲解 [第1季]5.1.第5章_机器人主机_X86与ARM主机对比-视频讲解 ...
- hashtable底层
一.单线程环境下 底层:hash表结构 (数组 + 链表) 使用无参构造创建对象时 会默认长度11的数组 加载因子0.75 Hashtable<Object, Object> hashta ...
- 康谋分享 | 确保AD/ADAS系统的安全:避免数据泛滥的关键!
为确保AD/ADAS系统的安全性,各大车企通常需要收集.处理和分析来自于摄像头.激光雷达等传感器的数据,以找出提高系统安全性和性能的方法.然而在数据收集过程中,不可避免地会出现大量无价值数据,造成数据 ...
- app自动化的特殊操作
一.截屏 File srcfile=driver.getScreenshotAs(OutputType.FILE); //得到截图源文件对象 File dstfile=new File("C ...
- 前端js需要连接后端c#的wss服务
背景前端js需要连接后端wss服务 前端:js后端:c# - 控制台搭建wss服务器 步骤1 wss需要ssl认证,所以需要个证书,随便找一台linux的服务器(windows的话,自己安装下open ...