生产环境准备搭建3节点Oracle 12c RAC实现高可用
现在有两个选择
一个是直接在物理机上搭建,少了虚拟化平台这一层效率更高,但是管理不便,某节点故障之后需要重新配置,耗时较长,心跳网络还需要单独布线
二个是在vSphere虚拟化平台上搭建,可以直接通过vCenter进行远程管理,某节点故障之后可以通过虚拟机克隆快速恢复,心跳网络通过虚拟交换机即可,但是担心稳定性及效率,还有据说虚拟化平台上搭建的rac Oracle不提供技术支持
还有就是共享存储已经做了存储级别的主备同步,是否还有必要做Dataguard进行数据库级别的主备同步?原因呢?
还望各位大佬不吝赐教,给出最佳的生产环境实践方案
建议虚拟化。参考附件。 四台存储(两两双活,接入不同的x86集群)+ 1台心跳存储 ,很稳定。虽然实施遇到一些问题,但也最终解决了。
附件:
vmware-oracle-databases-on-vmware-best-practices-guide2016.pdf (3.09 MB)
收起生产环境 Oracle 12c RAC 是使用 物理机 还是 虚拟化平台,主要取决于该应用系统的业务价值以及系统的业务吞吐量、并发访问、资源使用等指标。
1、业务价值方面来讲,如果业务系统不是承载公司核心业务的系统,一般使用vSphere虚拟化平台,易于配置部署管理。如果该系统承载对公司贡献值极高的业务,那么推荐使用 物理机 搭建部署 Oracle RAC,稳定性、高可用和性能方面都能得到最大程度的保证。
2、其次,要考虑业务系统的吞吐量、并发访问以及交易时长等业务指标。
通常,业务并发访问很高、吞吐量极大的系统,对CPU、IO、内存、网络资源消耗很高,对系统性能要求严苛,基本上只能考虑物理机环境了,高吞吐量、高 IO,不适合运行于虚拟化环境。
3、成本上,虽然虚拟化环境可以降低硬件资源的投资成本,但是vSphere上的 Oracle RAC运维管理更加复杂,技术成本上需要投入更多的资金。
因此,要根据应用系统的实际情况,综合业务价值、业务系统特点、资金成本等,具体情况具体分析。
收起感谢各位专家的耐心解答,已经采用物理机部署的方案,在生产环境稳定运行2年,目前一切正常
不采用vSphere虚拟化平台搭建的原因一是担心效率问题,二是担心管理复杂度的问题
RAC的心跳网络也需要设计好,验证好,做到高可用,无单点故障
不建议采用存储级别的主备同步,因为存储级别的同步对数据库来说可能有问题,内存中的数据还未写入磁盘,只同步了磁盘没有同步内存,会造成数据不一致,数据文件就是坏的,数据库无法打开
特别提醒一点,物理机设置时间同步之后一定要及时写入硬件,出现过时间同步未写入硬件数据库重启后时间大幅度提前的情况,数据库时间不能回拨,可通过CTSS让另一个节点把时间拉回来但是非常缓慢,还有就是停库,等待超过差异的时间
最后再次感谢大家,让我们共同进步!
物理机上做RAC,性能高,这是毋庸置疑的。但物理机硬件故障时,集群多少会受影响。
虚拟化集群上做RAC集群,可以避免硬件故障带来的维护停机,最大体现虚拟化的优点。还可以在l线扩容,无需重启系统。但虚拟环境,多少会损失一些性能。而且,x86虚拟环境,没有unix系统。
至于哪种环境稳定,虚拟化和unix平台差不多。安全性,当然unix最高。
至于选择哪个环境来搭,还要取决于各自现有的硬件条件、维护人员技术水平、资金投入是否充足、虚拟化环境中各种安全保障系统的完备情况、unix系统补丁升级维护等等诸多因素决定的。
另外,虚拟化环境一般不会只给RAC使用吧,但物理机的资源只能RAC专用。这投入产出比很明显了。
所以,我觉得具体在什么环境中实现,完全取决于自己能满足什么条件。技术上都可以,只要能力够。看喜好。