基于Oracle RAC架构迁移上云场景,本文主要讲解Oracle RAC在腾讯云上如何搭建集群,主要分为以下部分来阐述:
首先声明一下,这里只讨论云上RAC的技术架构,所以DG模式暂不展开讨论。对于云平台对oracle rac技术路径主要如下:
方案 | 方案描述 | 优势 | 劣势 |
---|---|---|---|
Tdata | 云化数据库技术路径,云平台提供完整的Oracle RAC产品服务。 | 1.数据库实施部署,运维、监控以及管控平台等均由云平台提供。客户更聚焦在数据库上业务使用场景。 2.人力和技术投入成本较低。 3.上云周期较短。 | 云服务订阅成本较高 |
自建 | 在云平台搭建Oracle RAC,云平台提供底层资源主要包括计算,存储以及网络的基础服务,客户在此基础上对RAC进行搭 | 1.数据库实施部署,运维,监控以及管控,业务使用均由客户来维护。 2.云服务订阅成本较低 | 1.人力和技术投入成本较高。 2.上云周期不确认,依赖于客户技术能力以及对云熟悉程度。 |
基于以上技术架构图,做如下说明:
1. 网络:同一个VPC下面的同一个子网,其中RAC服务器要求有组播能力,其中SCAN-IP对应云上的HAVIP。
2.计算:RAC服务器采用云上虚拟机部署,intel处理器,同时需要配置辅助网卡。
3.存储:采用云上共享块存储。
基于云上客户案例,搭建RAC产品清单如下:
产品类别 | 产品规格 | 产品说明说明 |
---|---|---|
网络 | HAVIP | 需提工单加白 |
弹性网卡 | ||
计算 | 内存型M6机型 | |
oracle软件版本19 | ||
操作系统 SUSE SAP 15SP2 | ||
存储 | 增强型SSD(共享块存储) | 需提工单加白 |
Oracle RAC在虚拟机上搭建过程中,遇到一些常见问题,这边提供一些解决思路供大家参考。
oracle RAC集群对网络有组播要求,目前云上VPC是不支持组播的,因此需要在RAC服务器安装组播插件来满足需求。
1.组播插件名称:Multicast(开源组件)
下载链接:https://github.com/aliyun/multicast_proxy
2.组件核心配置:以其中一个node为例
组播服务器端:(RAC1)
/usr/local/sbin/multis_admin -A -m 230.0.1.0 -j 172.27.16.12
/usr/local/sbin/multis_admin -A -m 224.0.0.251 -j 172.27.16.12
/usr/local/sbin/multis_admin -A -m 224.1.2.3 -j 172.27.16.12
组播客户端:(RAC1)
/usr/local/sbin/multic_admin -A -i 172.27.16.12 -p 42424 -m 230.0.1.0
/usr/local/sbin/multic_admin -A -i 172.27.16.12 -p 8524 -m 224.0.0.251
/usr/local/sbin/multic_admin -A -i 172.27.16.12 -p 65535 -m 224.1.2.3
配置查看如下:
1.RAC应用服务器之间的建立互信机制,操作配置如下:
1)两台RAC应用服务器的互信脚本,sshUserSetup.sh,运行脚本如下
输入指令:sh sshUserSetup.sh -user root -hosts "rac1 rac2" -advanced -noPromptPassphrase
脚本运行完成:
2.节点模拟组播验证组播效果:
采用组件:oracle自带工具mcasttest
1)模拟组播
./mcasttest.pl -n 172.27.16.12,172.27.16.7 -i eth1
2)验证组播效果
在RAC1和RAC2服务器上用tcpdump抓包,查看组播。其中230.0.1.0为组播地址
RAC1服务器抓包情况:
RAC2服务器抓包详情:
oracle RAC的服务器需要两张网卡,需要额外绑定一张弹性网卡,这里需要对弹性网卡进行配置,不然两台机器辅助网卡网络不通。这里特别主要自动化工具配置对centos OS的版本有限制。详情参考官方连接:https://cloud.tencent.com/document/product/576/59353
在部署oracle RAC软件,出现ASM/DB只能启动一台。初步分析是由于系统自带的HAIP(169.254.*.*)在云内无法通信,因为该网关不属于云平台三大私有网段范围内,当前解决思路有两个: 1)方案一:采用关闭HAIP的功能,对集群可靠性有潜在风险
2)方案二:ASM/DB实例的参数cluster_interconnects设置为本机的心跳IP即可。(最优解)
参考文献:
1.Oracle RAC 云上部署 最佳实践:https://bp.aliyun.com/detail/171
2.oracle RAC最佳实践:https://help.aliyun.com/document_detail/402340.html
3.组播multicast安装:https://blog.csdn.net/ctypyb2002/article/details/90720090
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。