多宿主Linux主机上每个NIC的路由表

我有一个客户端应用程序,需要5 9的可用性。 为了在NIC级别提供冗余,理论上听起来不错,如果linux主机可以有2个NIC卡,两个NIC卡都configuration为使用不同的网关。 因此,在一个图表中看起来像

客户端A-> NIC1 ————-> Gateway1 ————>服务器

客户端A-> NIC2 ————-> Gateway2 ————->服务器

这将确保如果网关1崩溃,客户端A仍然可以通过网关2到达服务器

我的问题是:

同一台主机上的2个网卡是否可以configuration不同的网关? 上图中的NIC1可以configuration备份网关2,以便网关1崩溃时,NIC1可以使用备份网关2。 如果以上可能,那么linux文件中的configuration是什么样的?

不,不好主意。 在每个级别提供冗余。 在NIC级别使用LACP / Aggregation。 在网关处使用HSRP或CARP。 每个网关应该有它自己的一组冗余网卡。 中间的networking应该有reductant段(交换机或任何你的networking组成)。 沿途的每一块应该有冗余,而不仅仅是两条冗余path。

像您要求的高可用性是非常困难的。 得到一个内外知道这个东西的人,否则你永远不会打五个九。 这大概是每年5分钟的停机时间。 这比听起来要困难得多。

你的devise从根本上来说是有缺陷的, 不要实现它。
如果你实施它,不要保证5个9的可用性。
如果你实施它,并承诺5个可用性,请有一个优秀的律师。 你需要一个。


正如ChrisS所说,你需要在各个层面提供冗余*。 这意味着:

  • 冗余的上行连接到互联网[由您的ISP提供]
  • 冗余UPS和发电机支持的电源[由您的ISP提供]
  • 冗余网关/虚拟路由器[由您的ISP提供]
  • 从您的ISP核心到您的服务器的冗余,物理上分离的path(由您的ISP提供)
  • 冗余防火墙和负载平衡设备[由您提供,虽然您的ISP也可能提供]
  • 冗余交换设备[由您提供,虽然您的ISP也提供此服务]
  • 冗余服务器[由您提供,最好使用冗余子系统:ECC RAM,RAID,双电源]。

请注意,这个列表并不详尽(例如我没有提到冷却)。

您还需要清楚地说明您的正常运行时间是如何计算的 – 24x7x365 24×7几乎不可能实现。 除定期维护外,五个九个更合理。 你的合同的特殊性意味着赚取巨额利润和被起诉的不同之处。


要直接回答你的问题:

Can the 2 NICs on the same host be configured with different gateways?
是。 这被称为多宿主主机 ,是几种可能的实现之一。 实际上,按照你想要的方式工作,不仅需要向路由表中抛出两个“默认”(0.0.0.0/0)路由,

Can NIC1 in the above diagram be configured with a backup gateway2, so that if gateway 1 crashes, NIC1 can use backup gateway2?
编号NIC1没有连接到gateway2