LACP NFS 性能混乱

LACP NFS 性能混乱

背景信息:

我有一台 Ubuntu 14.04 服务器(1 千兆网卡)和一台 NAS(Synology DS1815+,4 千兆网卡)。我经常用尽 Ubuntu 14.04 服务器和我的网络之间的千兆线路。大部分但不是全部流量都流向 NAS。NAS 被安装为 Ubuntu 14.04 服务器上的 NFS 共享。

我刚刚购买了一个 USB 3.0 双千兆网卡适配器(尚未到货)。我的计划是将适配器连接到服务器,并将两个网卡连接到 NAS。这将作为 NAS 和服务器之间的直接连接。NAS 正式支持 LACP,USB 网卡适配器也支持。

问题:

我正在尝试了解 LACP 及其与 NFS 的关系。我知道 LACP 不会简单地将带宽加倍,但我不确定我是否理解 NFS 的平衡工作原理。关于通过专用连接在 NAS 和服务器之间进行传输,我的问题如下:

LACP 是否会对从单个 NFS 共享进行的单个文件传输提供任何性能优势?(从我读到的内容来看似乎不会,但只是想确认一下)

LACP 是否会为从单个 NFS 共享同时传输多个文件提供任何性能优势?

LACP 是否会对来自多个 NFS 共享的多个同时文件传输提供任何性能优势?(似乎会)

NAS 不正式支持 balance-rr,但如果它有效,那会是比 LACP 更好的选择吗?

另一种债券模式是否更合适?(从我读到的内容来看似乎不是这样,但只是想确定一下)

感谢您的帮助!

答案1

回答您的问题:

LACP 是否会对从单个 NFS 共享进行的单个文件传输提供任何性能优势?(从我读到的内容来看似乎不会,但只是想确认一下)

不会。LACP 会将 TCP 会话分散到 NIC 上,而您描述的是单个会话。LACP 不会像 bond-rr 那样对流量进行条带化(这样做有充分的理由)。

LACP 是否会为从单个 NFS 共享同时传输多个文件提供任何性能优势?

不,因为这仍然是通过单个会话发送的。

LACP 是否会对来自多个 NFS 共享的多个同时文件传输提供任何性能优势?(似乎会)

如果您的 NFS 客户端配置为在挂载时生成多个会话,则可以。大多数都是这样(通常默认为 8 个左右)。但是,根据您的 LACP 算法,情况可能并非如此。某些算法根据 MA​​C 地址(意味着客户端的单个 NIC 永远不会连接到服务器上的多个 NIC)或会话来传播连接,这将允许这种流量由于创建了多个会话而传播到服务器端的 NIC 上。

NAS 不正式支持 balance-rr,但如果它有效,那会是比 LACP 更好的选择吗?

在几乎所有情况下,它肯定不会更好。balance-rr 适用于服务器之间的点对点连接。当涉及交换机或任何其他中间设备时,它会引入极大的抖动,因为接收端的流量是无序的。但是,它对于节点间点对点同步网络来说可以很好地工作。不过,这非常难以扩展,所以我从未在三个节点集群(顶部)之外看到它。

另一种债券模式是否更合适?(从我读到的内容来看似乎不是这样,但只是想确定一下)

LACP 是您目前可以使用的最智能的绑定模式。如果管理得当,它工作得很好,并且可以很好地处理故障转移。

如果您希望通过单个“会话”跨网络链路进行数据条带化,那么使用 iSCSI 多路径可以很好地完成此任务。GlusterFS 还能够以 LACP 需要的方式更有效地传播流量,并且其行为类似于 NFS。不过,NFS 的简单性确实无可匹敌。

相关内容