私网IP应选10.0.0.0/8或172.16.0.0/12中未被占用的子网如10.10.20.0/24,避开OCR/Voting Disk所在网段及169.254.0.0/16;须用HAIP实现双网卡冗余,禁用bonding,配置arp_ignore=1、arp_announce=2,并验证UDP 12599端口双向连通性。
私网IP网段选哪个才不和OCR/Voting Disk冲突
oracle rac私网必须用独立网段,不能和公网、存储网络重叠,更不能碰ocr/voting disk所在网段——否则集群启动时cssd直接报crs-4678: failed to start css daemon或ora-15018: diskgroup cannot be created。常见踩坑是随手配了192.168.1.0/24,结果发现ocr盘用了同一段nfs挂载,导致crsctl check cluster反复失败。
实操建议:
- 私网优先用
10.0.0.0/8或172.16.0.0/12中未被业务占用的子网,例如10.10.20.0/24(避开10.0.0.0/8里已用的办公网段) - 确认OCR/Voting Disk路径对应IP是否在该网段内:查
ocrcheck -config输出的Device/File Name,再用df -h看挂载点IP;如果是ASM diskgroup,查asmcmd lsdg+ls -l /dev/oracleasm/disks/反推后端存储IP - 避免用
169.254.0.0/16(Link-local),RHEL 7+默认禁用该网段ARP响应,oifcfg getif可能识别不到接口
绑定双网卡做冗余私网要改哪些配置
RAC私网冗余不是简单把两张物理网卡都配同网段IP——那样会触发ARP冲突、心跳包乱序,crsctl stat res -t里ora.cluster_interconnect.haip状态常为OFFLINE或反复INTERMITTENT。
实操建议:
- 必须启用HAIP(High Availability IP),由Oracle自动管理虚拟IP,不要手动配
10.10.20.100/24这类静态地址 - 用
oifcfg setif指定接口而非IP:oifcfg setif -global eth2/10.10.20.0:cluster_interconnect,再加第二张卡oifcfg setif -global eth3/10.10.20.0:cluster_interconnect - 检查绑定是否生效:
oifcfg getif应显示两行相同网段、不同接口;ifconfig | grep -A2 "haip"能看到eth2:1或eth3:1带haip别名的临时IP - 重启
crs前先停掉所有节点的NetworkManager服务,它会劫持HAIP的ARP通告
Linux系统层网卡绑定要不要用bonding mode=1
不用。RAC HAIP自己实现了链路检测与故障切换,底层用Linux bonding反而干扰其判断逻辑——比如bond0状态up但某slave断开,HAIP可能仍往失效链路上发心跳,cvuqdisk校验失败率飙升。
实操建议:
- 私网物理网卡保持独立,不配置
bond0或teamd,让HAIP直管eth2和eth3 - 若硬件强制要求bond(如某些刀片交换机),只用
mode=1(active-backup),且必须关闭miimon或设为≥100ms,否则HAIP的misscount超时机制和bond探测冲突 -
/proc/sys/net/ipv4/conf/all/arp_ignore和arp_announce必须设为1和2,防止HAIP虚拟IP响应非本接口ARP请求
验证私网连通性不能只ping
ping 10.10.20.11通不代表RAC私网可用——HAIP用UDP端口12599通信,且要求双向低延迟(ping测不出端口级阻塞或TCP/UDP栈配置问题。
实操建议:
- 用
nc -u -w1 10.10.20.11 12599测试UDP连通性(需提前在目标节点nc -u -l 12599监听) - 用
cluvfy comp nodecon -n all -verbose跑完整校验,重点看Node connectivity passed for subnet和Check for multiple interfaces on the same subnet两项 - 抓包确认:在私网接口上
tcpdump -i eth2 'udp port 12599' -c 20,两边同时执行,观察是否有单向流量 - 留意
/var/log/oracle/crsd/crsd.log里IPC timeout或missed heartbeat记录,比crsctl check cluster输出更早暴露问题
真正麻烦的是HAIP地址漂移时机和OCR磁盘IO路径的耦合——比如私网延迟突增时,HAIP还没切走,OCR读写已开始超时,这时候单纯调大misscount可能掩盖底层网络抖动,得结合netstat -s | grep -i "retransmit"一起看。










