数栈运维案例:云上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 ...
随机推荐
- 什么是 IPv6,为什么我们还未普及?
在大多数情况下,已经没有人一再对互联网地址耗尽的可怕境况发出警告,因为,从互联网协议版本 4(IPv4)的世界到 IPv6 的迁移,虽然缓慢,但已经坚定地开始了,并且相关软件已经到位,以防止许多人预测 ...
- DEV插件--Spreadsheet1电子表格
常用操作Spreadsheet常用属性标题栏是否可见 Spreadsheet1.TitleBar.Visible=true标题栏背景颜色 Spreadsheet1.TitleBar.Interior. ...
- 【前端JSP思考】JSP中#{},${}和%{}的区别
JSP中#{},${}和%{}的区别: #{} #{}:对语句进行预编译,此语句解析的是占位符?,可以防止SQL注入, 比如打印出来的语句 select * from table where id=? ...
- FireDAC开发DataSnap应用系统【1】-快储功能
FireDAC是吧DataSnap服务器当成API来调用,而dbExpress使用IAppServer接口. 关键点: 1.客户端调用API要回传数据,那么FireDAC把数据已Stream的格式传递 ...
- Python读取CSV文件并存储到MySQL
在项目中对后台进行测试时,经常会遇到要在数据库新增数据,那么如何快速新增数据来提高工作效率呢? 现整理如下: 代码内容(csv_to_mysql.py): # coding=utf-8import p ...
- 康谋分享 | aiSim5基于生成式AI扩大仿真测试范围(终)
在前面的几章节中探讨了aiSim仿真合成数据的置信度,此外在场景重建和测试流程闭环的过程中,难免会面临3D场景制作重建耗时长.成本高.扩展性低以及交通状况复杂程度难以满意等问题,当前的主要挑战在于如何 ...
- Nacos简介—1.Nacos使用简介
大纲 1.Nacos的在服务注册中心 + 配置中心中的应用 2.Nacos 2.x最新版本下载与目录结构 3.Nacos 2.x的数据库存储与日志存储 4.Nacos 2.x服务端的startup.s ...
- Java字节流--输出流OutputStream和输入流InputStream
OutputStream和InputStream都是抽象类 OutputStream定义和InputStream定义 OutputStream InputStream public abstract ...
- windows 通过cmd使用tail命令
参考: https://www.jianshu.com/p/743964656bb4
- 深度评测:DeepSeek API 在代码分析与审查中的实战应用 (附 Prompt 示例)
人工智能(AI)正在深刻改变软件开发的各个环节,从最初的需求分析 1 到最终的部署维护 1,AI 的身影无处不在.尤其在代码编写.分析和审查方面,AI 辅助工具如 GitHub Copilot 8 已 ...