我有一台服务器与一组机器通信,瓶颈是网络带宽。好消息是有两个接口,而服务器只能使用一个。在不更改服务器代码的情况下,两个接口的利用率分别为 100% 和 0%。
我想要的是两个接口上的透明循环调度,并且改动最小,程序不应该被改变。这是因为我无法物理访问服务器,任何配置错误都很难恢复。我认为最好的解决方案是设置一个虚拟接口,使用两个底层接口以循环方式处理所有流量。
如果不使用“粘合”技术,我该如何做到这一点?
编辑:
为什么绑定不是一个选项?因为我只有服务器的远程 ssh 访问权限,现有接口上的任何配置错误都会导致服务器停机几天,直到千里之外的本地管理员接管。因此,轻量级(即“透明”)的解决方案是最好的。
答案1
粘合是解决方案——您对此的不适应不会改变这是您在这种情况下应该做的事情的事实。任何其他解决方案都将是不成熟的黑客,而粘合是众所周知的、有详尽记录的并且非常可靠。
如果您只能通过 SSH 访问服务器,并且担心在配置绑定时中断网络,那么您有两种选择:
- 让具有本地访问权限的人为您设置绑定。
(理想情况下,您应该在部署系统之前自己完成此操作,或者能够访问机器。让远程人员做这种事情会很昂贵...)
或者
- 使用看门狗。
看门狗可以像添加一个 cron 作业一样简单,该作业会将您的旧配置恢复到原位并在 5 分钟后重新启动机器,因此如果您弄乱了网络配置,只需等待 5 分钟,它就会为您修复。这
是一种常见的技术,我自己在修改远程防火墙时也使用它,这样我就不用亲自上门或尴尬地打电话了,因为我总是弄乱了规则……
至于绑定的实际配置,我已经有一段时间没有在生产中使用 Linux 了,所以我确信我的知识已经过时了——不过我相信有很多优秀的教程可供谷歌搜索。
答案2
除了增加带宽(假设这些是千兆接口)或某种程度的绑定之外,您没有其他选择。您需要以下之一Linux 绑定模式;可能是“balance-rr”。如果操作谨慎,您可以在不停机的情况下完成此设置……但这并非万无一失。
我会质疑服务器访问或配置问题。是否存在带外管理系统是否提供访问权限?ILO?DRAC?IPMI?我想如果出现内核崩溃或系统崩溃,您也会遇到同样的情况。
如果可以等到本地有资源可用,我会这么做。一般来说,让管理员了解此类变更可能是一个好主意。