假设我有两台需要超低延迟的服务器(数据库、文件等)。是否可以使用 10GbE 直接连接这两台服务器,这样每台服务器都有 1 个(在现实世界中会有 2 个)到“主”网络的连接,但有 1 个网卡和以太网电缆直接连接到第二台服务器,没有交换机或路由器,只有直接连接
Internet/Datacenter
|
|
|
|
|
|
|
--------------------
| |
------------| Switch |-----------
| | | |
| -------------------- |
| |
| |
| |
| |
| |
| |
| |
Network Card 1 (eth0) Network Card 1 (eth0)
| |
-------------------- --------------------
| | | |
| Server 1 | | Server 2 |
| | | |
-------------------- --------------------
| |
Network Card 2 (eth1) Network Card 2 (eth1)
| |
| |
| Direct 10GbE |
-------------------------------------------
我的第一个问题是,这有可能吗?除了标准文件之外,他们是否需要配置任何不寻常/特殊的服务来让他们通过这个网络进行通信/etc/sysconfig/network-scripts/
?它们都在 eth1 上拥有静态 IP,但路由之类的东西将如何工作?我不是网络专家,所以这可能是一个新手问题
第二个问题,这样做有什么意义吗?这样做比仅仅让他们通过交换机通过标准网络连接进行通信,或者给他们第二个专用网络仅用于服务器内通信(因为客户端访问服务器时会在标准网络上使用带宽)有什么好处吗?假设延迟是首要考虑因素。
我知道这种方法存在一些问题,例如,当我们添加第 3 台服务器时,我们必须为每台服务器提供另一张网卡,并且可能设置一些非常复杂的复制三角结构,但由于这是假设,所以我们忽略它。
由于延迟是关键问题,光纤是否比以太网更好(速度并不重要,只要能达到几 Gb/秒)
我从 Linux 的角度提出这个问题,因为这是我的背景,但它可以适用于任何服务器/设备
答案1
从技术上来说,没有理由你不能做到这一点。
实际上,在这种情况下,我可能会做类似的事情。从纯粹的 Linux 角度来看,这真的很容易,只需为连接提供一个带有 /30 位掩码的 IP 地址,为您提供 2 个 IP 地址,然后它就是一个简单的点对点链接。
如果想要扩大网络,可以购买 10GE 交换机,然后为服务器之间的流量设置单独的 VLAN。Force10 系列交换机中有一些非常出色的设备,可以进行线速 10GE 交换,并具有巨大的缓冲区。
答案2
我无法从 Linux 的角度发表评论,但我只会运用我的知识并提出更多问题。
您是否如此依赖低延迟,以至于需要保持这些服务器同步?它们都在运行数据库还是其他什么东西?10GbE 应该足以满足 2 台服务器保持同步的大部分需求。我宁愿花钱在 2 台服务器中间买一个像样的交换机,而不是走你正在考虑的路线。
您可以使用合适的交换机标记这些端口来优先处理流量,甚至对需要实时的流量进行 QoS。
我的想法。
答案3
我实际上已经在两台笔记本电脑之间做过这个了。大多数现代 LAN 适配器都有自动协商功能,因此您可以使用普通的 LAN 电缆。
放静止的IP 地址不与您使用的任何其他子网在同一范围内 - 例如,如果我的系统位于 192.168.xx 子网中,我会在它们之间使用 10.0.0.x 子网。否则,它应该可以正常工作
答案4
- 我很确定您需要一条交叉电缆来连接服务器 1 和服务器 2。
- 您将获得非常低的延迟,但使用现代交换机的 LAN 的延迟几乎接近于零。我真心怀疑您会看到任何可衡量的性能提升。