导读:本期聚焦于小伙伴创作的《在虚拟机上搭建和使用RAC环境需要注意哪些问题》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《在虚拟机上搭建和使用RAC环境需要注意哪些问题》有用,将其分享出去将是对创作者最好的鼓励。

在虚拟机环境中搭建和使用RAC(Real Application Clusters)集群是很多Oracle学习者和测试人员的常见选择,但虚拟化的特性会带来一些物理机环境下不存在的问题,稍不注意就可能导致集群故障。下面我们就详细梳理相关的注意事项。

在虚拟机上搭建和使用RAC环境需要注意哪些问题

一、硬件资源配置注意事项

虚拟机的硬件资源分配直接影响RAC集群的稳定性,建议按照以下标准配置:

  • 每个RAC节点至少分配4核CPU、8GB内存,生产测试场景可适当提升配置,避免资源不足导致节点无响应
  • 不要过度分配CPU和内存资源,预留足够的宿主机资源,防止多个虚拟机同时高负载时宿主机资源耗尽
  • 虚拟磁盘优先选择厚置备延迟置零模式,避免使用精简置备,减少磁盘扩容和性能波动问题

二、网络规划注意事项

RAC对网络的要求较高,虚拟机环境下网络配置需要额外注意:

  • 至少配置3类网络:公共网络(对外提供服务)、私有网络(节点间心跳通信)、存储网络(连接共享存储),每类网络使用独立的虚拟交换机
  • 私有网络建议选择仅主机模式或者自定义的隔离虚拟网络,避免和公共网络共用,减少广播干扰
  • 关闭虚拟机的网络适配器的MAC地址自动生成选项,固定MAC地址,防止虚拟机重启后MAC变化导致网络不通
  • 所有节点的hosts文件需要正确配置,包含每个节点的公共IP、私有IP、虚拟IP、SCAN IP,且保证节点间网络互通,无丢包

三、共享存储配置注意事项

共享存储是RAC的核心组件,虚拟机环境下共享存储的配置是出错率最高的环节:

  • 优先选择ISCSI或者虚拟共享磁盘模式,不要使用本地磁盘模拟共享存储,避免多节点同时写入时出现数据不一致
  • 如果使用虚拟共享磁盘,需要将磁盘模式设置为独立持久,并勾选共享选项,保证多个节点可以同时访问
  • 存储的udev规则需要正确配置,保证重启后磁盘设备名固定,避免ASM识别不到磁盘

以下是udev规则配置的示例,用于固定ISCSI共享磁盘的设备名:

# 查看磁盘的SCSI_ID
/usr/lib/udev/scsi_id -g -u -d /dev/sdb

# 编写udev规则文件,/etc/udev/rules.d/99-oracle-asm.rules
KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="360014058d2e9ee3a5b449a9a9a9a9a9a", SYMLINK+="asm_disk01", OWNER="grid", GROUP="asmadmin", MODE="0660"

四、系统参数与软件配置注意事项

  • 虚拟机的操作系统版本需要和RAC版本兼容,建议选择Oracle官方认证的操作系统版本,避免兼容性问题
  • 按照Oracle官方文档的要求调整内核参数,比如kernel.shmmaxkernel.shmallnet.ipv4.ip_local_port_range等,不要遗漏参数
  • 关闭虚拟机的SELinux和防火墙,或者开放RAC相关的端口,避免节点间通信被拦截
  • 安装Grid和Oracle软件时,使用cvuqdisk工具提前检查集群的软硬件环境,提前解决不符合要求的问题

五、日常使用注意事项

  • 不要随意快照虚拟机,尤其是集群运行中的节点,快照可能导致共享存储状态不一致,建议停机后再做快照
  • 虚拟机关机时需要先关闭RAC集群服务,再关闭虚拟机,避免数据丢失或者集群状态异常
  • 定期备份RAC的OCR和 Voting Disk文件,虚拟机环境下的存储故障恢复成本更高,备份可以降低风险
  • 如果宿主机需要维护,建议先关闭所有RAC节点虚拟机,再操作宿主机,避免突然断电导致集群损坏

只要按照上述注意事项配置和使用,虚拟机上的RAC环境也可以保持长期稳定运行,满足测试和学习的需要。

RAC虚拟机Oracle共享存储修改时间:2026-06-01 21:19:11

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。