![是否可以借助一台 PC 中的第 2 层交换机和双 NIC 以及 Java 程序实现网络冗余?](https://linux22.com/image/619354/%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E5%80%9F%E5%8A%A9%E4%B8%80%E5%8F%B0%20PC%20%E4%B8%AD%E7%9A%84%E7%AC%AC%202%20%E5%B1%82%E4%BA%A4%E6%8D%A2%E6%9C%BA%E5%92%8C%E5%8F%8C%20NIC%20%E4%BB%A5%E5%8F%8A%20Java%20%E7%A8%8B%E5%BA%8F%E5%AE%9E%E7%8E%B0%E7%BD%91%E7%BB%9C%E5%86%97%E4%BD%99%EF%BC%9F.png)
我正在尝试在网络中实现网络冗余,该网络有 1 台服务器和许多节点,每个节点使用 1 个交换机。根据各种论坛的说法,为了在网络中实现冗余,我应该使用第 3 层交换机。但我认为有一种可能性(可能是错误的)测试场景:- 服务器有 2 个 NIC 卡。从 eth0 即 NIC 1 的线路连接到主交换机,从主交换机线路连接到节点 1 的交换机,并以菊花链形式一直延伸到最后一个节点的交换机。从最后一个节点交换机线路连接到服务器中的 eth1 即 NIC 2,实现完整的冗余。
有人能告诉我这个想法是否真的在同一个网络中有效吗,这意味着所有 ip 在 10.111.17.0 到 10.111.17.254 之间,或者我必须编写程序来维护 ip 地址并检查其连接性。如果一个节点无法与服务器的 1 NIC 通信,则该 java 程序会从具有不同网络地址“10.111.18.xxx”的不同 NIC 发送请求。我可以在每个节点中保留程序,以便它们可以根据 NIC 响应更改自己的 ip。(这些程序现在也是理论上的,如果我得到的答复是肯定的,那么我会尝试找出如何编写这些程序)通过这种方式,我可以在我的网络中实现冗余,并且可以使用第 2 层交换机,因此成本也更低。
关于这个想法有什么建议/想法/线索吗?
答案1
您实际上不需要 L3 交换机来增加弹性,它几乎无关紧要 - 您需要的是双 NIC,最好使用不同的处理器和驱动程序 - 并将它们组合在操作系统内。
然后将其中一个连接到一个交换机,另一个连接到第二个交换机,这些可以很容易地成为 L2 交换机,只要您使用主动/被动,并且两个交换机都连接到一个或多个路由器 - 实际上,即使没有双路由器,只要按照我说的做,您就会增加很大的弹性。顺便说一句,IP 在这里也无关紧要。