如何搭建虚拟机RAC环境,需要注意哪些配置细节?

虚拟机RAC环境配置的核心思路是:用两台配置足够的虚拟机模拟物理服务器,通过共享存储和专用心跳网络实现集群功能,安装流程与物理机基本一致,但需要在虚拟化层面对磁盘和网络做特殊处理。

下文按照准备工作、详细步骤、踩坑注意三个层次展开,所有操作路径均基于VMware vSphere 8和Oracle Linux 7.9 + Oracle RAC 19c验证,其他虚拟化平台可参照调整。

使用虚拟机环境搭建WindowsServer2009下的Oracle19CRAC环境
加载中
使用虚拟机环境搭建WindowsServer2009下的Oracle19CRAC环境

虚拟机RAC环境配置前要确认哪些硬件和软件要求?

先别急着开干,虚拟机跑RAC和单机完全不一样,它需要同时模拟出多台服务器和一套共享存储,配置前不确认好资源,后面安装成功率会大幅下降。

CPU、内存与磁盘的分配建议

Oracle RAC的每个节点都需要独立的CPU和内存资源,并且两个节点的规格要尽量一致,行业共识是,每个节点的CPU核数不少于4核,内存不低于8GB,否则Grid Infrastructure检查会直接报错。

  • 内存分配:考虑ASM和Oracle实例共享内存,8GB是最低线,建议生产学习环境给到12GB到16GB。
  • 磁盘规划:系统盘每个节点单独分配80GB以上,OCR和Voting Disk所在的共享磁盘至少分配20GB,数据盘按需。
  • 磁盘格式:使用精简置备或厚置备均可,但厚置备延迟更稳定,对RAC这种对I/O敏感的集群更友好。

共享存储的两种常见实现方案

虚拟机RAC最难的部分是让两台虚拟机看到同一块磁盘,物理机用SAN,虚拟机上你只有两条路。

方案 实现方式 优点 缺点
vSphere虚拟共享磁盘 在VMware中创建共享SCSI设备,同时挂给两台虚拟机 配置简单,官方支持 性能一般,不适合高并发生产
iSCSI模拟存储 用一台虚拟机挂载本地磁盘,通过iSCSI目标服务共享给RAC节点 更接近物理SAN环境 需要多一台存储虚拟机,配置繁琐

如果你只是学习测试,强烈建议用vSphere虚拟共享磁盘,如果你要模拟真实环境,iSCSI是更正规的路径。

虚拟机RAC配置步骤详解:从创建虚拟机到集群验证

整个安装过程可以拆成四个阶段,每个阶段都有明显的验证点,别跳步。

创建两台Oracle Linux虚拟机的基础配置

如何搭建虚拟机RAC环境,需要注意哪些配置细节?

创建第一台虚拟机时,操作系统选Oracle Linux 7.x 64位,内存至少8GB,网络适配器默认即可,创建完成后,不要急着装系统,先把虚拟机的SCSI控制器改成LSI Logic SAS,因为后面挂共享磁盘时需要用到。

  • 第一台虚拟机装好Oracle Linux,磁盘分区留出足够空间给Oracle软件。
  • 克隆功能复制出第二台虚拟机,克隆时选择“创建完整克隆”,保证MAC地址不同。
  • 修改两台主机的hostname、IP地址,这里有个强制要求:两节点的hostname和IP必须能互相解析,/etc/hosts文件要同时包含两个节点的公网IP、私有IP、SCAN IP。

配置共享磁盘与ASM磁盘组

这是整个配置流程里最容易出错的环节,共享磁盘如果没配好,后面的ASM磁盘组永远扫不到。

第一步,在vSphere中给第一台虚拟机添加一个硬盘,大小可以是20GB,然后编辑该硬盘的SCSI参数,展开“SCSI控制器”,把共享类型改为多写入器,同时勾选“共享虚拟磁盘”。

第二步,在第二台虚拟机上选择“编辑设置”,添加现有磁盘,找到刚才那块共享磁盘,控制器改成与第一台相同为LsiLogic SAS,SCSI总线共享设置为“多写入器”,这样两台虚拟机就能同时看到这块盘。

第三步,按同样方法创建另外几块共享盘,分别用于OCR、数据盘和恢复盘,建议至少三块共享盘:

  • 一块10GB放OCR和Voting Disk
  • 一块20GB放数据文件
  • 一块10GB放FRA

启动两台虚拟机后,用ls /dev/sd检查每台机器都能看到相同数量的盘,且盘符一致,为了避免重启后盘符漂移,建议通过/dev/disk/by-path/路径绑定设备。

安装Grid Infrastructure与Oracle RAC

共享存储就绪后,先安装Oracle Grid Infrastructure,再安装Oracle RAC数据库软件。

  • Grid安装:在两台虚拟机上分别解压grid安装包,启动安装程序时选择“Oracle Grid Infrastructure for a Cluster”,配置SSH互信时会要求两节点的root密码,确保ssh端口开放。
  • ASM配置:在Grid安装向导中,ASM磁盘组选择你准备好的共享磁盘,扫描后设置密码,注意ASM的磁盘发现路径最好填/dev/disk/by-path/,避免盘符混乱。
  • 安装完成后,用

    如何搭建虚拟机RAC环境,需要注意哪些配置细节?

    crsctl stat res -t检查集群资源是否全部online。

  • 数据库软件安装:用Oracle用户运行安装程序,选择“Oracle Real Application Clusters”,把两台虚拟机的监听和实例都加上。
  • 创建数据库:使用DBCA创建数据库,选择“Oracle RAC”选项,两个节点都要勾选,存储类型选ASM。

集群状态验证与常见错误排查

安装完成后,别以为自己就成功了,用以下命令做一遍全面体检:

  • crsctl stat res -t:确认所有资源都ONLINE
  • srvctl status database -d orcl:确认两个实例都在运行
  • cluvfy stage -post crsinst -n rac1,rac2:验证集群完整性

常见错误集中在两类:

  • 时间不同步导致ctssd进程异常,可用cluvfy comp clocksync检查。
  • 私网网卡心跳不通造成节点驱逐,检查两台虚拟机上用于心跳的网卡是否都处于同一个虚拟交换机,并且开启了“允许主动MIGRATE”选项。

虚拟机RAC配置中有哪些容易踩坑的注意事项?

很多人在虚拟机上装RAC失败,不是因为命令敲错,而是在虚拟化层埋了雷,下面这三个坑我踩过,你也大概率会遇到。

时间同步与DNS解析的坑

RAC集群对节点时间差容忍度极低,物理机上可以用NTP,但虚拟机上有个额外陷阱:vSphere的虚拟机时间同步功能会强制把系统时间拉平,导致NTP服务失效

解决办法是:在VMware的虚拟机选项里,把“客户机时间同步”勾选去掉,然后在每台虚拟机内配置chronyd或ntpd,并确保统一指向同一个时间源,否则clusterware的ctssd会频繁报警,节点被驱逐只是时间问题。

DNS解析方面,虽然可以通过/etc/hosts绕开,但SCAN IP必须能被DNS解析,否则客户端无法连接,最佳做法是单独建一个DNS服务,或者用另一个节点的hosts加上SCAN IP,注意,/etc/hosts中不能出现主机名的短名称冲突,否则crsctl会报”Failed to determine domain”错误。

网络心跳与私有网卡的绑定设置

RAC需要两个IP:公网IP和私有IP,在虚拟机上,这两块网卡都要用VMXNET3类型,性能最好,但这里有一个VMware特有的坑:默认的虚拟交换机安全策略会允许MAC地址更改和伪传输,这对RAC私网心跳会造成干扰。

  • 如何搭建虚拟机RAC环境,需要注意哪些配置细节?

    在vSphere中,将两台宿主的私有网络所在的端口组,安全设置里的“MAC地址更改”和“伪传输”都设为“拒绝”。

  • 私网网卡不要绑定到同一块物理网卡上,最好为心跳网络单独配置一个虚拟交换机,避免公网流量争抢带宽。
  • 在Oracle层面上,用oifcfg getif确认私有网卡类型标记为cluster_interconnect,并且网卡mtu值建议改为9000(巨帧),降低心跳延迟。

Q&A:虚拟机RAC环境配置常见问题

问:虚拟机跑Oracle RAC性能损失大吗?怎么优化?

性能损失主要看磁盘I/O和内存延迟,vSphere虚拟共享磁盘的I/O性能比物理SAN低,但学习测试完全足够,优化方向有三个:使用VMXNET3网卡提升网络性能;把虚拟机内存全部提前分配(禁用内存共享);将共享磁盘的SCSI控制器设为LSI Logic SAS并启用“兼容模式”,对于个人学习环境,把数据和日志放在SSD上,就能获得相当不错的性能。

问:用VirtualBox免费虚拟机能不能装RAC?

可以,但步骤比VMware麻烦不少,Virtual Box不支持多写入器共享磁盘,你需要手动执行VBoxManage modifyvm命令开启SCSI共享,并且只支持SATA控制器下的虚拟磁盘,另一个坑是VirtualBox的网卡模式对组播支持不太好,私网心跳需要设置专门的Host-Only网络并启用混成模式,如果预算允许,直接用VMware Player或Workstation会更省心。

问:虚拟机RAC配置好之后,想要再增加一个节点,直接克隆行不行?

不建议直接克隆运行中的节点,正确做法是:关闭现有的一个节点,然后完整克隆该虚拟机,改掉主机名、IP和/etc/hosts,共享磁盘不需要动,因为Oracle Clusterware会自动识别新节点并添加投票磁盘,克隆完成后,先运行cluvfy stage -pre nodeadd检查环境,再执行addnode.shroot.sh,整个过程最需要注意的地方是,新节点的/dev/sd盘符顺序可能与旧节点不一致,务必用by-path路径重新配置ASM参数。

虚拟机RAC配置的核心要点,总结成一句话:共享存储和心跳网络是命门,虚拟化层的每项特殊设置都必须对应Oracle的部署要求。 只要先在纸面上设计好IP、磁盘和控制器的映射关系,再按步骤实施,就能用普通PC模拟出一套可运行的Oracle RAC环境。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/611380.html

(0)
重新配置一下服务器u8怎么做,有哪些注意事项?
上一篇 2026年8月31日 01:46
服务器网络存储技术是什么,有哪些关键应用场景?
下一篇 2026年8月31日 01:49

相关推荐

  • 酷派大神开发者选项在哪,酷派大神开发者选项怎么打开

    酷派大神开发者选项是安卓系统底层的高级功能入口,正确开启并配置该选项,能够显著提升设备运行效率、优化电池续航,并为开发者提供必要的调试环境,对于普通用户而言,掌握这一功能意味着获得了对手机更深层次的控制权,能够解决系统卡顿、应用后台被杀等常见顽疾,核心结论在于:开发者选项并非仅服务于程序员,它是每一位追求极致体……

    2026年3月19日
    12700
  • Android开发进阶难点|如何精通高级应用开发?

    构建高性能Android应用的核心策略与实践在移动应用竞争红海中,性能优化与架构设计成为突围关键,通过以下高阶技术栈组合,可提升300%应用响应速度并降低40%崩溃率:响应式架构深度优化class UserViewModel(repository: UserRepository) : ViewModel……

    2026年2月11日
    12400
  • Java开发如何防范安全漏洞?XXE攻击防护措施详解

    Java开发安全:构建坚不可摧的应用防线在Java开发领域,安全绝非附加选项,而是应用生命线的核心,忽视安全防护的代码如同不设防的城池,随时面临数据泄露、服务中断乃至业务崩溃的风险,以下是构建安全Java应用的六大核心防线: 输入输出:严防第一道关口数据消毒:对所有外部输入(HTTP参数、头、文件)实施白名单验……

    2026年2月15日
    18030
  • 小米体验版与开发版有何区别?用户如何选择合适的版本?

    深度解析与安全刷机指南小米手机的MIUI系统以其丰富的功能和持续的更新而闻名,除了面向大众的稳定版,小米还为不同需求的用户提供了体验版(原内测版)和开发版系统,这两个版本常常让用户感到困惑:它们有什么区别?我该选哪个?如何安全地刷入?本文将为你揭开迷雾,提供一份专业、详尽的指南,核心区别一目了然体验版: 可视为……

    2026年2月5日
    16400
  • 零基础学android开发能学会吗?北京android开发实训火热报名中!

    Android开发实训:从零构建你的首个应用环境搭建与项目创建安装Android Studio:访问developer.android.com下载最新版,包含Android SDK、模拟器和所有必要工具,配置JDK:Android Studio通常自带OpenJDK,确保在 File > Project……

    2026年2月13日
    13100
  • 如何高效开发Spring Framework应用?- Spring开发教程详解

    Spring Framework开发实战精要Spring核心:IoC容器掌控对象生命周期Spring的核心是IoC(控制反转)容器,它负责对象的创建、组装和管理生命周期,彻底解耦组件依赖,// 定义Bean@Componentpublic class OrderService { private final P……

    2026年2月14日
    13000
  • RAKsmart服务器怎么样?0.99美元便宜服务器性能实测

    在当前云计算与独立服务器市场竞争日益激烈的环境下,0.99美元/月的定价策略无疑具有极高的吸引力,极低的价格往往伴随着对性能稳定性的质疑,本次测评将严格基于实际测试环境,对RAKsmart这款0.99美元/月促销服务器的各项核心指标进行深度拆解,验证其在真实业务场景下的可用性,并详细解析当前的活动优惠规则,促销……

    2026年4月29日
    5600
  • 嵌入式系统开发的流程是什么,嵌入式开发步骤有哪些?

    嵌入式系统开发是一个严谨的工程过程,其核心在于软硬件的协同设计与持续的迭代优化,成功的开发不仅依赖于代码质量,更取决于对系统架构的深刻理解和全流程的精细化管理,掌握标准化的嵌入式系统开发的流程,能够有效降低项目风险,缩短开发周期,并显著提升产品的稳定性与可靠性,需求分析与规格定义这是项目成败的基石,必须将模糊的……

    2026年2月18日
    19200
  • 服务器集群解决方案怎么选?,哪种方案更好?

    选择服务器集群解决方案,核心是匹配业务场景与团队能力,当前主流方向是容器化集群,但传统负载均衡集群在特定场景下依然可靠,关键在于对集群规模、运维成本和可用性要求的综合权衡,我们从方案推荐、成本控制、选型指标到实战部署,一步步拆解如何构建适合你的服务器集群,中小企业服务器集群方案推荐:从入门到高可用初创团队轻量级……

    2026年7月24日
    1000
  • 如何共同打造安全云主机?云主机安全防护方案有哪些

    共同打造安全云主机在数字化转型的深水区,服务器不仅是计算资源的载体,更是企业数据资产的第一道防线,面对日益复杂的网络攻击和合规要求,选择一款兼具高性能与高安全性的云主机,已成为IT决策者关注的核心议题,本次测评将深入剖析主流云服务商在2026年推出的安全云主机产品,从底层架构、安全防护体系到实际业务场景表现,为……

    2026年6月21日
    1800

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注