如何搭建虚拟机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.sh和root.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

相关推荐

  • 服务器CDN加速的优势有哪些,OBS计费规则怎么收费?

    服务器CDN加速通过分布式节点提升访问速度,合理选择OBS计费规则能优化成本,两者结合是高效内容分发的基础,服务器CDN加速优势对比:性能提升与成本优化服务器CDN加速优势有哪些?提升加载速度:边缘节点缓存内容,用户就近获取,延迟显著降低,据统计,CDN能减少加载时间,提升用户体验,尤其适合图片和视频为主的网站……

    2026年8月17日
    700
  • 个人网站设计与实现有哪些技巧?个人网站搭建教程

    服务器测评在数字化转型的浪潮中,服务器作为网站运行的核心基础设施,其性能稳定性直接决定了用户体验与业务连续性,对于个人站长及中小企业而言,选择一款兼具高性价比与卓越性能的服务器,不仅是技术选型问题,更是成本控制与效率提升的关键决策,本文基于真实测试数据与长期运行观察,对当前市场上几款主流云服务器进行深度剖析,旨……

    2026年7月3日
    500
  • 档案软件开发哪个公司好?档案管理软件定制方案推荐

    档案管理是机构组织运作的核心环节,高效、安全、合规的档案软件能显著提升信息价值、降低管理成本并满足严格的法规要求,开发一套专业的档案软件,需要系统性的规划和扎实的技术实践,以下是构建此类系统的关键步骤和深入见解:深度需求洞察:奠定开发基石明确档案类型与生命周期: 详细分析需要管理的档案类别(如文书、合同、工程图……

    2026年2月14日
    13710
  • FTP软件如何配置FTP服务器地址,有哪些注意事项?

    配置FTP服务器地址的核心在于准确填写主机、端口、用户名和密码,并选择与服务器匹配的传输协议;只要这四项信息正确,绝大多数连接问题都能解决,FTP软件配置看似简单,但不少人卡在“服务器地址”这一步,无论是上传网站文件还是备份数据,理解整个配置链条才能一次成功,下面从工具选择、具体步骤到故障排查,帮你理清所有关键……

    2026年8月10日
    1300
  • 如何获取安卓网络开发PDF资源?Android网络开发PDF下载指南

    实现Android应用中的PDF下载功能需综合网络请求、文件存储、权限管理及用户体验优化,核心步骤与最佳实践如下:基础网络请求与文件写入// 使用OkHttp实现(添加依赖:implementation 'com.squareup.okhttp3:okhttp:4.10.0')suspend f……

    2026年2月9日
    10730
  • Unity 3D游戏开发PDF在哪下载?Unity3D游戏开发教程PDF下载

    Unity 3D游戏开发的核心在于掌握一套从引擎基础架构到脚本逻辑,再到性能优化的完整技术闭环,对于开发者而言,获取并研读一份系统性的unity 3d游戏开发.pdf文档,往往是快速构建知识体系、解决开发瓶颈的高效路径,成功的游戏开发并非单纯的技术堆砌,而是对渲染管线、物理系统、脚本生命周期以及资源管理的深度整……

    2026年3月9日
    13400
  • MacBook Air适合开发iOS吗,8G内存运行Xcode卡不卡

    搭载Apple Silicon芯片的MacBook Air完全可以胜任iOS开发工作,其高能效比和统一内存架构为开发提供了坚实基础,但需针对内存管理和编译效率采取特定的优化策略,对于许多初学者和移动端开发者而言,选择一款合适的开发设备至关重要,过去,MacBook Air常因散热和性能被视为入门级备机,但随着M……

    2026年3月1日
    15800
  • js跨域调用失败怎么解决?前端跨域请求失败如何处理

    关于js跨域调用的问题在现代Web开发中,JavaScript跨域调用(Cross-Origin Resource Sharing, CORS)是前后端分离架构下最常遇到的技术瓶颈之一,许多开发者在初期往往将跨域问题简单归结为“浏览器安全限制”,从而忽略了底层网络协议、服务器配置以及CDN加速对接口响应速度和稳……

    2026年6月13日
    3000
  • CUBECLOUDVPS测评,20元/月方案实测对比,CUBECLOUD VPS怎么样

    在当前的建站与业务部署环境中,选择一款性价比与稳定性兼具的VPS至关重要,本次针对CubeCloud旗下20元/月方案进行了为期两周的深度实测,从底层硬件、网络质量到真实负载表现进行全方位解析,为个人开发者及轻量级业务提供客观的选型参考, 方案基础配置与核心参数本次实测的CubeCloud 20元/月方案属于其……

    2026年4月27日
    5300
  • 个人邮箱怎么注册域名?企业邮箱注册域名流程

    低成本建站与品牌独立性的终极测评在数字化转型的浪潮中,域名不仅是网站的地址,更是数字资产的核心,对于个人开发者、独立博主以及初创团队而言,“个人邮箱注册域名”这一看似简单的操作,实则隐藏着关于安全性、品牌独立性以及长期运维成本的巨大差异,本文将深入剖析当前主流域名注册服务商的底层逻辑,结合2026年的最新市场动……

    2026年6月30日
    1300

发表回复

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