我们有一个MD3000iarrays可以通过三台独立的服务器(所有刀片服务器通过机箱网卡访问)访问。 控制器1(端口0和1)都链接到服务器A.服务器B和C(都比服务器A的活动less得多)链接到控制器0(端口0和1)。 服务器A位于单独的VLAN上(通过刀片机箱背面的交换机连接到MD3000i),服务器B和C位于其自己的VLAN(也通过刀片机箱背面的交换机连接到MD3000i )。
我们遇到的问题是服务器A从MD3000i中读取吞吐量明显更好。 例如,在查看通过该服务器运行的备份作业时,作业率大约为3,000MB /分钟。 但是,在查看通过服务器B或C运行的备份作业时,作业率低至200MB / min。
如果通过MDSM查看iSCSI MAC传输统计信息,控制器之间的读数会非常不同(除总体容量外):
Mac transmit statistics MAC transmit legend F = Frame Count B = Byte Count MF = Multicast Frame Count BF = Broadcast Frame Count PF = Pause Frame Count CF = Control Frame Count FDF = Frame Deferral Count FED = Frame Excess Deferral Count FLC = Frame Late Collisions Count FA = Frame Abort Count FSC = Frame Single Collision Count FMC = Frame Multiple Collisions Count FC = Frame Collision Count FDR = Frame Dropped Count JF = Jumbo Frame Count iSCSI Host | Port | F | B | MF | BF | PF | CF | FDF | FED | FLC | FA | FSC | FMC | FC | FDR | JF Controller 0 | port 0 | 440573739 | 651904980400 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 Controller 0 | port 1 | 440549412 | 651892177000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 Controller 1 | port 0 | 109676946034 | 148467634266838 | 0 | 0 | 512 | 131072 | 512 | 1024 | 1024 | 1024 | 512 | 1792 | 2304 | 2304 | 589824 Controller 1 | port 1 | 402653242 | 111669157090 | 524288 | 524288 | 2304 | 720896 | 2304 | 3328 | 3840 | 4352 | 2048 | 3584 | 5632 | 2048 | 1114112
我的怀疑是服务器B和C所使用的网卡没有达到我们正在寻找的性能所需的能力(请注意,巨型帧计数为0 – 巨型帧是我见过的build议多个服务器正在访问一台MD3000i控制器)。 服务器A通过Broadcom BCM57085 NetXtreme II访问MD3000i,而服务器B和C通过Intel PRO / 1000 MB双端口访问MD3000i。
到目前为止,我还没有一个确定控制器0(服务器B和C)读取吞吐量慢的原因的方法。
是的,缺less巨型框架是最有可能的问题。
对于1500字节的MTU帧,在iSCSI,校验和,TCP / IP,以太网帧等之间可能会有大约200-250字节的开销。 这留下了大约1250个字节可用于数据传输。 另一方面,9000 MTU巨型帧可以传输大约7倍的数据量,但开销相同。
您可能还想查看卡片是否具有TCP卸载引擎(TOE),并确保它们已启用。 这对吞吐量有很好的影响,特别是CPU开始瓶颈时。