我只是猜测arp是我的问题……
我有一个linux drbd服务器集群设置,由于一些电源问题不得不拔掉连接两台服务器的交换机.结果,两台服务器成为主服务器并使用相同的IP地址几秒钟. (这导致了裂脑情况,但这是另一个问题)
我的问题是,现在一些服务器似乎能够看到群集的共享IP地址,而有些服务器却看不到.我想知道这是否可能是某些交换机/端口将流量发送到一台服务器而另一些发送到另一台服务器的情况?
如果这是问题,我该如何解决?
>和…这是在交换机上还是在服务器上完成的?
解决方法
如果它确实是一个arp问题,问题将局限于进行路由的网络设备(因为ARP用于 – 将L3地址(IP)映射到L2地址(MAC))或可能在服务器坐的ARP缓存中在同一个IP子网中.除非是L3开关,否则它不会涉及开关.
要解决cisco路由器上的问题,可以运行以下命令清除arp缓存并允许它重建:
clear arp
要从服务器中删除可能缓存错误信息的错误arp条目(因此,不是无法访问的服务器,而是无法访问的服务器),您可以手动删除ARP中的伪造条目缓存,其中IP地址是无法访问的服务器的IP.请注意,相同的语法似乎在Linux和Windows上都有效:
arp -d <ip-address>
您还可以从服务器发送无偿ARP,无法联系到同一IP子网上的其他主机来更新其ARP缓存(我的笔记中有这个,但我承认我没有长时间使用它)我不记得这是否允许你跳过上面的步骤,或者只是缩短其他主机在运行上述命令后添加arp条目的过程):
arping -q -A -c 1 -I eth0 <ip-address> arping -q -U -c 1 -I eth0 <ip-address>
以上所有内容都是针对ARP问题的,但您在问题中特别提到了一个开关.如果它是仅使用L3进行管理的交换机,则数据流问题必须是MAC缓存的问题,而不是ARP缓存.在这种情况下,您可以在交换机上运行以下命令以清除动态缓存内容:
clear mac-address-table dynamic