背景: 我有一台 RHEL6 存储服务器(很多硬盘)和一台 RHEL6 应用服务器(存储量少,CPU/内存很多)。它们目前连接到一台 1GB Catalyst 2960-X 交换机。还有一台 Windows 服务器和 15 台客户端 Windows 计算机,它们几乎充当连接的终端。存储服务器包含所有数据,并通过单个 NFS4 安装链接到应用服务器。
用法: 用户通过 SSH(使用 X11)连接到应用服务器来运行作业。用户也可以选择在存储服务器上运行作业(因为过去我们只有存储服务器)。存储服务器将每晚将其所有数据备份到 Windows 服务器。
问题: 由于应用程序和存储服务器之间会有大量网络流量,有没有更好的方法来连接两者?例如,我可以在两者之间连接一条直线,并在该专用接口上安装 NFS4 挂载。使用通道绑定会更好吗(每台服务器上都有 4 个 NICS)?由于我只使用一个 NFS 挂载,这真的有帮助吗?考虑到我们现在只使用一条线路,因此改进容错能力不是这个系统的问题。或者,我可以将每台服务器上的第二个 NIC 用于单独的 VLAN。这至少会将 SSH/X11 客户端流量与 NFS4/CIFS 流量分开。
答案1
避免服务器之间的直接连接,设置起来会很麻烦,维护起来也很麻烦。在交换机和服务器之间设置以太网通道是首选方案,您可以使用几种不同的策略(源 MAC、目标 MAC 等)在所有 4 个 NIC 上平衡连接负载。但是,在两个主机之间,最大吞吐量仍然只有 1 Gbps,但您可以在应用程序和存储之间拥有 1 Gbps,而应用服务器正在与其他 NIC 上的客户端通信。
如果存储服务器上的存储仅由应用程序服务器和 Windows 服务器访问,则另一种选择是在所有服务器中安装 10 GE NIC,获取便宜的 10GE 交换机,并设置一个小型存储网络。
编辑:另一种选择是将流量分离到单独的 VLAN 上,这样存储流量就有自己的接口,从而更好地保证吞吐量。