我正在尝试在两台机器上安装 Oracle Grid Infrastructure。他们的文件状态:
您必须在 IP 地址子网范围 224.0.0.0/24 和 230.0.1.0/24 上为集群启用多播
于是我跑了:
route add -net 224.0.0.0/24 dev eth2
route add -net 230.0.1.0/24 dev eth2
route -n
生成:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
230.0.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
224.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
# and others
ifconfig eth2
其中包括,表演UP BROADCAST RUNNING MULTICAST
。
然而,当我运行他们的多播测试实用程序时,它失败了:
Test for Multicast address 230.0.1.0
Sep 3 19:40:39 | Multicast Failed for eth2 using address 230.0.1.0:42000
Test for Multicast address 224.0.0.251
Sep 3 19:41:10 | Multicast Failed for eth2 using address 224.0.0.251:42001
我究竟做错了什么?
答案1
的输出是什么netstat -gn
?
默认情况下,您的多播加入将从编号最小的接口发出咳嗽,eth0。由于您尝试通过 eth2 执行此操作,因此您需要另一个步骤来建立连接。
测试实用程序是否提供了指定接口的方法?如果是,则需要明确说明“eth2”。如果这不是一个选项,则可以添加另一个静态路由以确保多播流量使用该接口。
就像是:
route add -net 224.0.0.0 netmask 240.0.0.0 dev eth2
(通过 eth2 路由所有多播)
试试看...
如果一切正常,请确保通过创建/etc/sysconfig/network-scripts/route-eth2
包含静态路由的文件使所有内容持久化。
编辑:
如果你有能力在应用程序中选择接口,那么你不要接口上不需要任何静态路由。这将由 Oracle 测试实用程序来处理 IGMP。
先尝试一下...
如果这不起作用,请验证系统所连接的网络交换机上是否启用了多播。它们是什么类型的交换机?我可以根据交换机型号/类型提供更详细的说明。例如,如果是思科...
sh ip igmp snooping
sh run | i multicast-routing
随后,似乎与该产品相关的已知错误。您确定已经完全修补了吗?这似乎是一个未发布的补丁,因此如果其他一切都已就绪,您可能需要去 Oracle 解决此问题。