我有一台 PC 和一台服务器,它们都连接到一台交换机,每台交换机都有 4 个 NIC。两个系统都运行在 SSD 和大量 RAM 上,我正在寻找最快的通信方式。PC 运行 Windows 10,服务器运行 Debian x64(Ubuntu Server)。
我想知道什么更快:
- 在 PC 和服务器上使用桥接(使用 4 个网卡创建桥接)
- ...或者
- 在交换机上使用链路聚合(2x 4 端口一起)
- ...或者
- 执行两项操作,在服务器和 PC 上进行桥接并启用链路聚合
你有什么建议吗?
附加问题:推荐的方法是什么:我通常在 Windows 上安装 SMB,在 MacOS 上安装 AFP/SMB。有没有“更快”的协议?
答案1
由于您是直接从一台机器与另一台机器通信,因此链路聚合的性能优势是有条件的。首先,链路聚合有两种类型:带 LACP 和不带 LACP。要在一台机器与另一台机器通信时获得任何性能优势,您需要使用 LACP。
IEEE 802.3ad 或 802.1AX无 LACP 的链路聚合在链路选择/负载平衡算法方面存在一个非常棘手的问题:默认情况下,它使用 MAC 地址来选择使用哪个链路。如果只有两台机器,您将只能获得一个链路的带宽。如果您不能使用 LACP,则需要调查是否可以更改负载平衡算法,否则不会提高性能。当一台服务器与许多客户端通信或您在两个网络之间创建主干时,无 LACP 的链路聚合更有意义。
链路控制协议(链路聚合控制协议)要求您的交换机和设备都配置为使用 LACP。完成此操作后,双方将能够在您的链路上对任何流量进行负载平衡。这将为您带来所需的性能提升。
桥接(也许我搞混了)不是您想要的。在连接的每一侧的所有 4 个网卡前面放置一个软件交换机会导致网络环路。桥接不起作用。
顺便说一句:现在许多家庭实验室爱好者正在做的是购买两张 10G 或两张 40G 网卡,并使用廉价的直连铜缆 (DAC) 将两台机器直接连接在一起。您可以考虑使用 4 张独立的网卡。
网络文件系统 (NFS) 是共享 IP 网络上高性能网络存储的黄金标准。NFS 具有几乎线速的带宽和极低的延迟。如果您需要更高的性能,存储区域网络 (SAN) 或 Infiniband 是您的不二之选,但它们会迫使您将 IP 网络与共享存储/内存网络隔离。Samba 比 NFS 支持更多的设备,并且具有可接受的带宽。延迟较高。