【干货】快速一键部署 Oracle RAC的秘诀!

作者 余海平

逾8年IT技术架构经验,熟悉云计算、虚拟化、自动化运维等领域,曾为大型企业云计算、高并发电商平台等行业客户提供解决方案,具有长期一线架构经验,现任骞云科技技术工程师。

 

 

上次由我们数据库及服务专家周白分享了骞云SmartCMP数据库的DBaaS功能,介绍了SmartCMP如何为用户提供统一的数据库服务,如何实现将任意数据库部署在任意云平台上以及什么是数据库自服务。接下来我们通过实际的案例,来介绍SmartCMP平台如何实现一键部署Oracle RAC。

 

一、Oracle RAC 应用场景

Oracle RAC即“真正的应用集群软件”,是ORACLE甲骨文公司提供的在低成本服务器上构建高可用性、高性能的数据库系统的解决方案,它广泛应用在企业、政府、金融、教育、医疗等行业。

简单的介绍下Oracle RAC的系统架构,整个集群系统由Oracle Clusterware (集群就绪软件)和 Real Application Clusters(RAC)两大部分组成,一个Oracle RAC数据库由多个服务器节点组成,每个服务器节点上都有自己独立的OS、ClusterWare、Oracle RAC数据库程序等,并且每个节点都有自己的网络监听器,节点之间通过Oracle Clusterware集群软件来管理,主要完成集群成员管理、心跳监控、故障切换等功能。Oracle RAC还能自动存储管理ASM,通过ASM,所有节点的服务和程序去访问同一个共享存储,并最终保证数据的读写一致性。

【干货】快速一键部署 Oracle RAC的秘诀!_第1张图片

 

Oracle RAC系统架构图

 

二、Oracle RAC传统管理思考

Oracle RAC 因其高可用、易伸缩、高并发等优秀的特性,在企业中被大量使用,但是在传统Oracle RAC服务管理上,我们常常会被以下问题所困扰:

  • 技术复杂:Oracle RAC相对单机管理更复杂,部署一套RAC不仅需要Oracle 数据库软件,还需要Oracle Clusterware、共享存储、以及多个网络规划等多种技术,需要专业技术能力,部署步骤多,极容易在部署中出现错误,增加了排查时间,甚至有可能整个环境推倒重来,进一步增加交付周期;
  • 学习成本高:对员工需要培训Oracle RAC集群知识,部署故障处理等;
  • 申请周期长:基础资源可能跨部门,需要一环一环申请,沟通成本高;
  • 非标准化:配置不规范,每个DBA工作习惯和技术水平不一样,导致部署出来的Oracle RAC运行环境不一致,增加运维难度;
  • 重复工作:周期重复性手动部署;

如何提供标准易维护的RAC服务?骞云SmartCMP提供了一个解决方案,将Oracle RAC进行“服务化”,以自助云服务形式展现,客户只需点击申请,一整套的Oracle RAC服务就能自动交付,并能完整提供后续的日常运维操作。

那SmartCMP是如何来完成这些呢?其实和任意应用一样,只需要完成下图四步,就可以快速的将传统的Oracle RAC实现“服务化”,实现用户自助服务。

【干货】快速一键部署 Oracle RAC的秘诀!_第2张图片

 

接下来,我们详细介绍一下骞云SmartCMP是如何完成Oracle RAC的自动化部署的。

 

三、SmartCMP让Oracle RAC上“云”实现自助服务

第一步:IT基础资源纳管

SmartCMP能统一管理数据中心的计算、存储、网络、应用等各种资源,包括私有云、公有云、混合云、容器云、x86物理机等多种类型。并且支持快速导入并管理存量虚拟机。基于同一的云平台管理能力,SmartCMP可以将Oracle RAC部署到VMware vSphere平台、OpenStack、Power,甚至物理机平台上。

第二步:Oracle RAC应用蓝图设计

Oracle RAC的蓝图包括两块内容

 

1、Oracle RAC应用组件

SmartCMP已内置了基于Ansible部署的Oracle RAC软件组件,组件名是OracleRACDeoloyment和OracleRACNodes,企业DBA也可根据业务场景进行调整,修改Oracle RAC 软件组件参数。

2、Oracle RAC应用蓝图

Oracle RAC所需要的所有组件,它包含了两组网卡、两台主机,共享存储以及Oracle RAC软件组件。基于这个架构,我们可以借助SmartCMP蓝图设计能力,设计出标准的Oracle RAC蓝图。

【干货】快速一键部署 Oracle RAC的秘诀!_第3张图片

 

Oracle RAC蓝图

Oracle RAC蓝图包括如下组件:

  1. 两台vSphere VM,OracleRAC-node1和OracleRAC-node2;
  2. 两组网络,分别是Public-Network和私网Private-Network;
  3. 4块共享磁盘,其中3块CRS磁盘,一块DATA数据磁盘;
  4. OracleRACDeoloyment和OracleRACNodes软件组件

 

第三步:Oracle RAC服务配置

设计好蓝图以后,我们就可以将蓝图发布成服务目录,提供给用户使用。SmartCMP的服务发布配置是非常强大的,可以把Oracle RAC发布给不同的部门,让不同的部门使用不同的云资源,走不同的审批流程等等,从而实现“千人千面”的自服务。服务配置可以对每一个蓝图里面的组件都进行配置。

1、配置两台云主机

配置Oracle RAC Server系统资源,可以将server配置到vSphere 指定集群,并进行计算规格配置,存储资源选择等

【干货】快速一键部署 Oracle RAC的秘诀!_第4张图片

 

Server组件配置

 

2、配置Oracle RAC共享存储

在当前案例中,我们给Oracle 配置了4块共享存储,其中3块5G作为CRS共享仲裁盘,1块100G为Oracle RAC数据存储盘。

 

【干货】快速一键部署 Oracle RAC的秘诀!_第5张图片

RAC共享存储配置

3、配置网络信息

点击Public-Network和Private-Network组件,选择需要的网络,Public-Network为Oracle RAC的业务网络,与VIP、SCAN IP同一个网段,Private-Network集群心跳网络。

【干货】快速一键部署 Oracle RAC的秘诀!_第6张图片

 

网段选择

4、Oracle RAC软件参数定义

Oracle RAC软件组件有繁多的参数用来调整安装过程。DBA可根据业务场景,用户背景,选择暴露哪些参数,修改哪些参数的缺省值,从而实现简单和灵活的最优化。如下图,我们选择性的暴露一些安装参数,从而可以在申请时让用户变更。

 

【干货】快速一键部署 Oracle RAC的秘诀!_第7张图片

Oracle RAC软件参数

完成以上配置,发布Oracle RAC服务,有访问权限的用户就可以看到Oracle RAC服务卡片。

【干货】快速一键部署 Oracle RAC的秘诀!_第8张图片

 

Oracle RAC服务卡片

第四步:Oracle RAC服务申请

在服务卡片中,终端用户直接点击Oracle RAC服务卡片就可以直接申请完整的Oracle RAC集群。点击卡片后,出现申请单里面的参数,就是服务配置时DBA运行申请人修改的内容,完成申请单, SmartCMP就自动解析蓝图,匹配相应云资源,完成自动部署Oracle RAC服务。

【干货】快速一键部署 Oracle RAC的秘诀!_第9张图片

 

服务申请

在系统自动化部署时,我们还可以非常直观地看到部署的动态过程,

 

【干货】快速一键部署 Oracle RAC的秘诀!_第10张图片

部署进度

以及部署中输出的详细日志。

 

【干货】快速一键部署 Oracle RAC的秘诀!_第11张图片

详细日志

 

大概1个多小时后,一整套的Oracle RAC服务自动部署完成。

这时,在服务部署拓扑中,我们可以运行时态的Oracle RAC的各种信息,并进行日常的运维操作。

 

【干货】快速一键部署 Oracle RAC的秘诀!_第12张图片

部署拓扑

 

 

四、总结

通过SmartCMP,我们可以将以前非常传统的复杂的Oracle RAC服务变成自动化的简单的云服务,快速交付给非DBA的普通用户使用。这正是基于骞云SmartCMP强大的软件组件、蓝图设计、自服务能力,以及灵活的服务配置能力实现的。DBA架构师不仅可以设置Oracle RAC服务,还可以在此基础上增加Oracle RAC实例、增加RAC节点、DataGuard 容灾等自定义软件服务,让DBA从繁杂系统部署工作中解脱出来,有更多的精力专注于业务系统数据库性能、系统稳定、数据安全等重要工作。用户能以最快的速度获取到所需的标准Oracle RAC数据库服务,大大缩短等待时间、降低沟通成本和风险,提升交付效率。

你可能感兴趣的:(技术分享)