企业Oracle RAC上云闲谈
随着计算机技术和互联网的不断推进,云计算平台也更加趋于稳定、安全,其显著的性能、方便的资源管理、快捷的应用部署方式越来越为IT业者所接受。目前,云计算已经成为企业数字化转型的重要驱动力。
面对基于Oracle的业务系统需要保留和所有业务系统要上云的情况,企业急需解决Oracle如何上云和上云后的运维保障的问题。本文主要介绍Oracle上云背景、云上的部署方案、数据如何上云、以及上云后数据库的运维保障等一系列内容。
Oracle上云背景
01
企业上云趋势
随着云计算进一步降价,阿里云在2024年2月29日举办的战略发布会上宣布,全线下调云产品官网售价,平均降价幅度超过20%,最高降幅达55%。在这种云计算厂商大规模降价的趋势下,自建机房在经济上已没有太大的优势。另外随着技术的不断进步和应用场景的不断拓展,云计算灵活可扩展、安全可靠、简化IT管理等优势将愈发凸显。综上可知,将会有越来越多的企业上云,其中不乏有规模较大的国企和民企。
02
商业化软件不可改造
商业化软件如基于Oracle的商业化软件EBS、SAP、用友财务系统等,这些系统建设时间长、专业性强、应用代码原厂开发,第三方开发厂商没有去O改造应用代码的能力,客户也没有能力去驱动原厂去做去O代码改造。
03
改造成本太高问题
再就是有一些应用软件为企业定制化开发的业务系统,这类系统上线时间长,开发人员或厂商已失联,或者就是去O改造成本太高,原上云预算也可能成倍超算。
综上,企业上云是为了提高运营效率、降低成本、增强业务灵活性和创新能力。但由于国内的云厂商没有Oracle的云原生产品,Oracle上云,以及上云后的运维保障成为企业信息化系统全面上云的掣肘。
云上部署方案
云下Oracle业务系统的部署架构有两种,即单实例数据库Oracle RAC(本文主要针对RAC架构说明上云),如下图云下RAC架构:
RAC是Real Application Clusters的缩写,允许多个数据库实例分享同一个数据库文件集合。RAC通过使用集群件(Clusterware)来提供高可用性和负载均衡。非RAC数据库是一个单实例数据库,只有一个运行的数据库实例。RAC是多服务器多实例架构,其优势是坏了一个实例,还有其他服务器实例支持,不影响业务的正常运行。
线下部署RAC技术相对复杂,单网络涉及到三类,公共网络、私网心跳网络和光纤存储网络。公共网络负责对外的应用业务,私网负责RAC集群心跳检测,光纤网络负责主机实例和数据存储设备之间的数据访问。可见,线下部署一套RAC,涉及的设备、技术都相对复杂,并且采购建设周期较长。
基于运行Oracle RAC架构,当然也希望在云上也能实现RAC多实例架构。
下面是云上Oracle RAC部署架构:
云上RAC集群部署,需要解决两个关键问题,一是网络,二是共享存储。
针对网络,阿里云的弹性IP和虚拟IP技术很好地解决了Oracle内部IP通信和VIP的问题。同样,阿里云的共享存储也完美地解决了多机同时读写一个SSD云盘的问题。
购买好云资源(包括VPC、交换机、弹性IP、虚拟IP、ECS、共享存储等资源)后,做好相关配置,即可正常步骤安装集群和数据库软件。
Oracle怎么上云
Oracle数据库平迁上云最常用的上云方案,是采用Oracle自有rman工具,通过全库备份+归档备份,将备份文件上传到云上,然后在云上Oracle环境继续用rman工具做恢复+增量数据恢复方式来完成。其主要分为4个阶段:上云前准备,数据上云全备份恢复,增量恢复,云下云上数据库割接等。如下图:
01
上云前准备阶段
该阶段主要工作涉及云下数据库调研、云上资源设计和购买和云上数据库环境部署。
调研一般是看数据库云下的部署环境,如服务器、操作系统版本、数据库版本、数据库大小、是否RAC架构、备份容灾、数据库性能情况等。这些调研信息可作为云上数据库架构设计和资源购买的依据。
数据库云上环境部署和云下部署基本相同,RAC较特殊,需要DBA单独设置相关云资源后再进行部署安装。
02
数据库上云备份恢复阶段
该阶段不影响云下原业务库的正常运行。云下Oracle数据库需要开启归档模式,数据库做全量备份和归档备份,将备份介质传送到云上后,在云上数据库环境上做全备份恢复。
该阶段花费时间较长,但不影响业务。尤其数据上云,考虑备份文件的大小,阿里云有闪电立方、公网拷贝、专线拷贝等多种方式将数据传输到云上。
03
增量恢复阶段
该阶段是重复数据归档备份,归档备份文件上传到云上,在云上环境恢复备份文件这几个动作,目的是尽量保持云上和云下数据库数据一致,节省最后阶段的割接时间。注意:该阶段同样不影响云下原业务库的正常运行。
04
云上云下数据库割接阶段
该阶段会影响业务,需要停业。停业后将最后的归档日志(1-2个)备份,上传到云上后,快速恢复,数据库云上云下数据一致,启动云上数据库,承接应用。该阶段停业时间很短,一般几分钟到几小时内即可完成数据库和应用的全部割接。
以上介绍了Oracle数据库上云的四个阶段。为规避风险,一般我们会采用两阶段上云的方案,第一阶段云上部署数据库环境和应用测试环境,将第一次全量恢复后即可打开数据库,给到应用做测试。测试通过后,第二次按上述方法做正式迁移。
上云后的运维保障
Oracle数据库上云后,需要给到数据库以下保障:
01
备份保障
云上Oracle数据库备份和云下相似,也是用其自带的rman工具来做备份和恢复。自定义rman备份脚本,通过操作系统定时任务执行脚本指令实现自动化备份。
相对云下,云原生产品给备份带来了更多便捷,如阿里云NFS提供高性能、高兼容性的网络文件共享服务,一个NFS可以同时挂载到不同的数据库服务器上,支持多节点访问和数据一致性,可按需扩缩容,特适用于多种云上远程备份场景。
02
容灾保障
容灾保障也是采用Oracle自带的ADG能力来实施。不同于云下,云上有天然的异地灾备优势,通过云厂商内部网络的快捷、安全性,可以在不同的城市、不同的可用区,很方便地搭建容灾环境。
容灾是对备份有力的补充,云上Oracle的备份通过NFS能实现直接异地存储,但一般都是一天备一次,当日的归档日志还在该可用区的云盘上,如果该可用区出现故障,有可能会丢失一天的数据,而容灾可以在不同的城市、不同的可用区实现实时同步和异地的日志归档,避免了数据的丢失。
03
监控和日常运维保障
云掣自研一套运维监控系统,采用三屏一体的监控方式,提升监控的准确性和有效性,以避免错报漏报。三屏即小屏告警,中屏巡检,大屏实时监控。
小屏告警,通过短信、微信、钉钉、手机语音等告警手段,提供即时的异常通知,确保运维人员能够迅速响应系统故障或重要事件,从而减少潜在的服务中断时间。例如可通过打通钉钉群,直接把告警信息发到运维群里,即时通知,即时解决问题。
中屏巡检,运维平台中可通过仪表盘自定义巡检目标。如下图为每日备份的巡检界面:
也可以自定义其他巡检板块,如下CPU性能、磁盘空间、数据库表空间等巡检信息都是直接自定义出来的。
大屏实时监控:
还有一些特殊客户,在一些重点区域,运维中需要提供大屏监控,集中展示关键数据,方便运维值班人员实时监控和快速响应,以提升故障诊断效率和决策支持能力。如下图是某重要单位核心数据库实时探测感知大屏。
至此,Oracle上云和上云后的运维,介绍完毕。