背景资料:
所以我有一个 Ubuntu 14.04 服务器(1 个千兆网卡)和一个 NAS(Synology DS1815+,4 个千兆网卡)。我会定期使用 Ubuntu 14.04 服务器和我的网络之间的千兆位线路。大多数(但不是全部)流量都流向 NAS。NAS 作为 NFS 共享安装在 Ubuntu 14.04 服务器上。
我刚刚购买了一个 USB 3.0 双千兆网卡适配器(尚未到货)。我的计划是将适配器连接到服务器并将两个网卡连接到 NAS。这将作为 NAS 和服务器之间的直接连接。NAS 正式支持 LACP,USB 网卡适配器也是如此。
问题:
我正在尝试了解 LACP 以及它与 NFS 的关系。我了解 LACP 不会简单地将带宽加倍,但我不确定我是否掌握平衡如何与 NFS 一起工作。关于通过专用连接在 NAS 和服务器之间进行传输,这是我的问题:
LACP 是否会为从单个 NFS 共享的单个文件传输提供任何性能优势?(从我阅读的内容来看,它似乎不会,但只是确保)
LACP 是否会为来自单个 NFS 共享的多个同时文件传输提供任何性能优势?
LACP 是否会对来自多个 NFS 共享的多个同时文件传输提供任何性能优势?(好像会)
NAS 没有正式支持 balance-rr,但如果它有效,那会是比 LACP 更好的选择吗?
另一种债券模式会更合适吗?(从我阅读的内容来看似乎不是这样,但只是确保)
感谢您的帮助!
要回答您的问题:
LACP 是否会为从单个 NFS 共享的单个文件传输提供任何性能优势?(从我阅读的内容来看,它似乎不会,但只是确保)
不,它不会。LACP 将跨 NIC 传播 TCP 会话,而您所描述的是单个会话。LACP 不像 bond-rr 那样对流量进行条带化(这有很多原因)。
LACP 是否会为来自单个 NFS 共享的多个同时文件传输提供任何性能优势?
不,因为这仍然是通过单个会话发送的。
LACP 是否会对来自多个 NFS 共享的多个同时文件传输提供任何性能优势?(好像会)
如果您的 NFS 客户端配置为在挂载时生成多个会话,它可以。大多数是(通常默认为 8 个左右)。但是,根据您的 LACP 算法,情况可能并非如此。一些算法基于 MAC 地址(意味着来自客户端的单个 NIC 永远不会连接到服务器上的多个 NIC)或通过会话传播连接,这将允许这种流量在服务器端的 NIC 之间传播,因为多个创建的会话。
NAS 没有正式支持 balance-rr,但如果它有效,那会是比 LACP 更好的选择吗?
在几乎所有情况下,这绝对不会更好。balance-rr 适用于服务器之间的点对点连接。当涉及到交换机或任何其他中间设备时,它会引入大量的抖动,因为接收端的流量是无序的。但是,它可以很好地用于节点间点对点同步网络。但是,它的扩展性非常大,所以我从来没有在三个节点集群(顶部)之外看到它。
另一种债券模式会更合适吗?(从我阅读的内容来看似乎不是这样,但只是确保)
LACP 是您现在可以使用的最智能的绑定模式。如果管理得当,它工作得非常好,并且可以非常优雅地处理故障转移。
如果您希望通过单个“会话”跨网络链接进行数据条带化,那么 iSCSI 的多路径可以很好地做到这一点。GlusterFS 也更有能力以 LACP 需要良好执行的方式传播流量,并且它的行为类似于 NFS。不过,您真的无法击败 NFS 的简单性。