争议 | 生产环境搭建 RAC,直接物理机上搭 vs 虚拟化平台上搭,两种方案如何选择?( 三 )


至于对性能和数据库较大的OLTP库 , 还是建议物理机 , 隔离好 , 性能好 , 管理方便 。
@Amol1984 YuSYS 系统工程师:
如果Oracle应用是加载在内存中运行 , 数据文件是在存储上 , 是不是将Oracle应用部署在VMWARE上会来得方便灵活 , 而且性能也不下降 。(判断一般瓶颈为磁盘IO的话) 。
@sunxiaopeng10 东营方圆铜业 CTO:
多了一层虚拟机 , 不确定性太多 。
@王巧雷 sino-bridge 系统工程师:
如果数据量不是特别大 , 性能要求不是很苛刻的都可以放到虚拟化平台上 , Oracle本身已经和VMware深度合作 , Oracle官方服务也支持VMware虚拟化平台 , 两个厂商都提供了一些各种场景下的最佳实践 。其他平台需要再检查一下厂商相关的要求和政策 。如果数据库的数据量比较大 , 性能要求也比较高 , 推荐部署到物理机 。
总结几个点:
1. 放在虚拟化平台管理比较方便 。
2. 节点故障后是可以借助虚拟化做快速恢复 , 但只能快速恢复基本环境 , 还是需要DBA做二次配置 。想要像应用服务器那样单靠VMware做数据保护是不现实的 。
3. 因为中间多了虚拟化层 , 会屏蔽一下配置的复杂性 , 比如存储识别 , 硬件兼容等 , 但同样也会带来一些的性能损失 。
4. 部署到物理机额外的布线工作等确实会多些 , 但是后续和其他方案集成会方便些 , 比如挂接额外存储复制 , lanfree的数据库备份等等 , 比虚拟化平台扩展性好 。
5. 从问题中看 , 还做了存储的复制 。那如果数据库部署到虚拟化 , 是虚拟化先识别复制的存储 , Oracle再挂载数据?这样看部署到物理机方便些 。
6. 存储复制和dg的问题 , 从数据来看 , 存储复制已经可以保证两份数据 。但基于存储复制的方案 , 备端Oracle起服务的步骤会相对复杂些 , 耗时较长;Oracle dg在主备切换快速上线方面有很大的优势 。所以是否需要再做个dg , 主要看你们对备端上线时间的要求 。
@赵海技术经理:
首先一点 , 想通过vsphere克隆的方式完全恢复数据库 , 这个是不可行的 。因为虚拟机层面的复制备份对数据库事务层面是无法感知的 , 所以无法保障数据库在故障场合下的恢复 , 数据库在故障场合下的恢复只能通过rman来做 , 各种数据库备份软件也是通过调用rman实现的 。
其次 , 个人认为究竟采用物理机的模式还是采用虚拟机的模式 , 要看系统本身的负载如何 , 要看业务系统本身性能要求 。因为vsphere实现的虚拟机架构毕竟负载、性能等方面都会受限 。所以一般情况下 , 非重要系统数据库 , 建议采用虚拟机单机数据库方式 , 重要系统采用物理机RAC架构;轻量级数据库可以通过物理机组成RAC资源池 , 整合多个DB到一个高可用资源池当中 , 重量级数据库采用单独物理机RAC 。
个人经验 , 仅供参考 。
@javamud 沈阳天港世纪 系统运维工程师:
物理机上做RAC , 性能高 , 这是毋庸置疑的 。但物理机硬件故障时 , 集群多少会受影响 。
存储层面实现灾备 , 日常维护量较少 , 基本上不用任何操作 , 只要做好监控即可 。优势是可以实现多个系统、多个数据库数据的一致性 。切换的操作相对比较繁琐 。

推荐阅读