![在交换机上启用巨型帧但不在设备上启用:自找麻烦?](https://linux22.com/image/603929/%E5%9C%A8%E4%BA%A4%E6%8D%A2%E6%9C%BA%E4%B8%8A%E5%90%AF%E7%94%A8%E5%B7%A8%E5%9E%8B%E5%B8%A7%E4%BD%86%E4%B8%8D%E5%9C%A8%E8%AE%BE%E5%A4%87%E4%B8%8A%E5%90%AF%E7%94%A8%EF%BC%9A%E8%87%AA%E6%89%BE%E9%BA%BB%E7%83%A6%EF%BC%9F.png)
手头上的交换机是 Dell PowerConnect 2716,它支持 VLAN 和巨型帧,但据我所知从其手册中,它只有全局 Jumbo 启用/禁用设置,没有每个端口或每个 VLAN 的 MTU 设置。
该交换机上有两个 VLAN:
- 用于内部流量的通用 LAN,在端口 1-4 上未标记,必须保持在 MTU=1500
- 一个 iSCSI 专用 LAN,端口 5-8 未标记,可利用巨型帧
四台服务器(其中两台为使用起搏器和 IET 构建的 DIY iSCSI HA 集群,为虚拟机提供存储,两台用于运行虚拟机)每台都有三个千兆接口:一个用于 LAN(连接到端口 1-4),一个用于 iSCSI(连接到端口 5-8),第三个用于公共网络/WAN(连接到不同的交换机)
是否可以在交换机(端口 1-16)和每个 SAN 设备(四台服务器中的四张专用以太网卡)上全局启用巨型帧,但保持 LAN 设备为标准 MTU?
理论上,交换机不应该创建/重新排列帧,因此通用 LAN 就不会暴露于大/巨型帧。
是的,我们计划用更好的东西重新设计基础设施。我们可能会抛弃 DIY iSCSI 集群,换上 MD3220i 或类似的东西,保留 PC2716 作为通用 LAN 交换机,并将 iSCSI 链路直接从服务器连接到 SAN……但不是今天。如果一切顺利,可能是 2013 年第四季度或 2013 年第四季度,但现在我必须忍受这个硬件并充分利用它。
答案1
首先,巨型帧在 iSCSI 网络中非常有用,但主要是当您使用软件启动器或软件目标(或两者)时。
即使帧较小(1500 字节),您的 iSCSI 网络仍将正常工作。您会注意到,使用较小的帧时,启动器端和目标端的 CPU 使用率将高于使用巨型帧的情况。
因此,如果您很快将更换启用了巨型帧的专用交换机,那么您只需等待即可。
另一方面,我相信您的假设是正确的,您的常规 LAN 不会受到影响。
答案2
如果您将此交换机用作虚拟集群的前端和后端,我会很感兴趣。您认为它们能够像您描述的那样共存,这是正确的。MTU 是在连接到交换机的客户端上设置的,而不是由交换机本身设置的。交换机只是决定是否可以这样做。话虽如此,检查这一点的最佳方法是在非 iSCSI VLAN 中的交换机上设置两台机器,并在进行数据包捕获的同时来回发送数据。然后对两个数据包捕获运行 diff。这将向您显示任何差异。
答案3
所有这些的关键点在于,给定 L2 子网(即 VLAN)上的所有主机(以及路由器)都配置了相同的 MTU,并且此 MTU 大于或等于此值。同一 VLAN 上的主机之间的不匹配可能会造成真正的混乱。
此外,具有不同 MTU 的主机必须允许正确通信的主要机制是 PMTU 发现,它假设 L3 分离并且允许 ICMP 不可达。