ib网络配置Windows_ib网络配置Windows

ib网络配置Windows_ib网络配置Windows家用万兆网络指南 1 – 不如先来个最简单的100G网络本文看点:100Gb 网卡介绍 100Gb 网络光纤介绍 如何设置一个简单的直通网络Mellanox 网卡驱动的 windows 安装Mellanox 网卡驱动的 linux 安装Infiniband 网络的设

家用万兆网络指南 1 – 不如先来个最简单的100G网络   本文看点:   100Gb 网卡介绍 100Gb 网络光纤介绍 如何设置一个简单的直通网络Mellanox 网卡驱动的 windows 安装Mellanox 网卡驱动的 linux 安装Infiniband 网络的设置   注意:因经验和知识有限, 难免文章中会出现错误, 请不吝赐教.   先上图.
ib网络配置Windows_ib网络配置Windows
ib网络配置Windows_ib网络配置Windows   前言   对于内网有重型应用的玩家, 例如大容量 NAS, FULL SSD NAS, 4k视频编辑, 家里有好几台电脑, 家里有服务器, 家里塞满了42U 机柜, 在家办公的程序猿等等等等.   千兆网络的瓶颈开始凸显, 千兆网理论传输速度128MB/s, 而随便一个 SATA SSD 都能超过.   尤其是2018年开始, 部分地区的宽带运营商已经开始提供千兆宽带入户的服务.   是时候开始尝试万兆了!   本系列文章从最简单拓扑开始, 一步一步教大家如何在家搭建万兆网络 (包括但不限于10/40/56/100Gbps) 以及各种所需的相关知识.   给钱包系好安全带, 让我们开始.   本次目标   本次我们会演示用 100G 网卡直接将两台机器 (包含 windows, linux) 连起来并通信. 本文也同样适合其他 Mellanox 网卡, 除去安装 Mellanox 网卡驱动的部分, 本文适合任何两台机器的直连教程 (比如你可以找根网线把两台电脑按照本文教程连起来然后直接传数据, 比用移动硬盘节省50%时间).   网卡   我手头有很多万兆或超过万兆的网卡, 让我们这次使用带宽最高的 Mellanox MCX455A-ECAT ConnectX-4 VPI 卡.
ib网络配置Windows_ib网络配置Windows
ib网络配置Windows_ib网络配置Windows   看到 “Mellanox MCX455A-ECAT ConnectX-4 VPI” 这一长串是不是比 “ASUS ROG-STRIX-RTX2070-O8G-GAMING” 还吓人? 不要担心, 看完本系列文章, 就可以利用这个魔咒搓火球了.   我们来依次解释.Mellanox 是厂商, 该厂产品覆盖 Infiniband 网络和以太网网络的网卡, 交换设备, 软件等. 以前被应用于超算. 现在越来越多的高性能数据中心和云计算, 大数据, 机器学习等业务也开始采用. 2016 Sort Benchmark 竞赛中, 腾讯云方案用 98.8 秒就完成了 100TB 的数据排序, 其中用到的网卡就是 Mellanox 的 100G 网卡.ConnectX-4 是产品名称, Mellanox 的网络适配器有 ConnectX 1 – 5 代. 这个卡是其第4代.MCX455A-ECAT 是卡的具体型号, 没必要记住编号来推断卡的参数, 直接去 Mellanox 官网查询即可.VPI 指的是这个卡是个VPI卡, 同时支持 Infiniband 和以太网, 可以在两种模式中切换.ETH(以太网), 就是你平时用的网.Infiniband 网络, 是区别于以太网的另外一种基于 Infiniband 协议的传输网络, 不可以与以太网络直接通信(后续文章我们会介绍如何将以太网与IB网络耦合).IPoIB, IP over Infiniband, 用 Infiniband 承载 IP 数据包, 这样上层的协议(例如tcp, udp等)就能直接运行了.   注意 Mellanox 的型号很多, 因此完全会出现卡长得一样但型号不一样的状况. 一定要确认好型号, 不要上当.   例如, 跟这个卡长得一样的卡还有个叫 Mellanox MCX455A-FCAT ConnectX-4 VPI 的, 注意到了么? 是 FCAT, 不是 ECAT. 这个卡就是 40/56GbE 的卡, 不是 100G 的.   电缆   100G QSFP28 光纤.
ib网络配置Windows_ib网络配置Windows
ib网络配置Windows_ib网络配置Windows   光模块是 2 个 Mellanox MMA1B00-C100 Optical Transceiver 100GbE QSFP28 MPO 850nm SR4 up to 100m DDMI   光纤是 10m 12芯 OM3 MPO.   下面是名词解释,Mellanox 厂商与网卡相同, 防止出现兼容性问题.MMA1B00-C100 光模块型号.Optical Transceiver 光收发器.100GbE 100Gb 以太网, 实际上也能跑 Infiniband.QSFP28 是光模块的接口型号, 与网卡上的接口对应.MPO 是光纤的接口型号. 与光模块的光收发口对应.850nm 光模块的激光波长.SR4 up to 100m 接口标准和传输距离, 指的是 100GBASE-SR4, 用 OM4 光纤可以传输 100m 距离.DDMI Digital Diagnostics Monitoring Interface 的缩写, 带诊断功能.OM3, OM4, 多模光纤标准, 由 ISO 11801 定义, 其中 OM3 光纤线外表是水蓝色的(如图), OM4是紫色的(也有可能是水蓝色), 越好的传输距离越远.
ib网络配置Windows_ib网络配置Windows
ib网络配置Windows_ib网络配置Windows   如图, 光模块左边是 QSFP28 接口, 右边是 MPO 接口.   硬件安装   我们这次要组一个直通网络, 即两台机器直接连到一起 (因为买不起100G交换机…).   那么就很简单了, 打开机箱, 把卡插在电脑 PCIe x16 接口上, 关闭机箱.   注意卡需要 PCIe 3.0 x16, 有的机器不支持 PCIe 3.0, 有的看上去是 PCIe x16 插槽, 但实际可能是个 x4. 稍后我们讲解辨别方法, 总之先把卡怼上去就行.   电缆也简单, 直接插进去, 插到位会有咔哒锁定的感觉或声音. 插反了会插到一半插不进去. 拔电缆的时候拔塑料拉手, 别直接拔线或模块, 会弄坏电缆.   驱动安装   首先我们先演示 linux 的驱动安装.   我准备了两台 Lenovo ThinkStation C30, 环境信息分别是: hostname: m01.lobj.eth6.org hardware: E5-2680v2 x2, 64G REG ECC, Intel X520-2 10G Ethernet Adapter.   hostname: m02.lobj.eth6.orghardware: E5-2670 x2, 64G REG ECC, Intel X520-2 10G Ethernet Adapter.   我们开始安装驱动, 我这里在 m01 机器上示例, 其他 linux 机器按照同样操作即可.   安装驱动依赖   直接粘贴以下命令就行了, 注意我的机器是 centos, 别的 linux 发行版本自己换一下.   下载安装 OFED   OFED 就是网卡的驱动, Mellanox 所有网卡的驱动都用 OFED, 所以很方便, 直接去官网, 在导航选 Products->Software->Infiniband/VPI Drivers. 然后根据操作系统下载即可.   下载好了解压缩, 然后安装:   注意驱动默认会帮你更新网卡的固件到最新版本. 如果不想更新的话看驱动的帮助文档, 有相关的配置参数.   Linux 以太网互通   接下来演示两台机器利用以太网互通并跑分.   开启 openibd   openibd 是网卡需要的 daemon 程序, 并且会给内核加载需要的mod, 我们开启并设置为开机启动.   开启 mst   mst 可以更方便的管理网卡, 查看网卡信息.   可以看到这里有一堆网卡, 因为我之前的其他网卡没有拔掉, 其中 /dev/mst/mt4115_pciconf0 是 100G 网卡.   使用 ibv_devinfo 命令查看设备信息   这个命令可以方便的看到网卡端口的连接状态和协议, 我们可以看到 state: PORT_DOWN (1), 说明线没插好. link_layer: InfiniBand 说明网卡运行在 IB 模式. 我们首先测试以太网, 所以接下来我们把网卡修改成以太网模式.   修改网卡为以太网模式   注意这里的 -d 命令后面的参数是 mst status 看到的网卡路径 /dev/mst/mt4115_pciconf0. set LINK_TYPE_P1=2, 是把网卡设置到模式2(ETH,以太网, 模式1是IB).   然后这里我们要重启机器让配置生效.   重启之后, 连接正常的话, 两个网卡的LED就应该都显示绿色了(代表正常通信).
ib网络配置Windows_ib网络配置Windows
ib网络配置Windows_ib网络配置Windows   配置 IP 地址   我们把 m01 机器配置 IP 为 192.168.122.2/24 网关为 192.168.122.1, m02 机器配置 IP 为 192.168.122.1/24 网关为 192.168.122.1. 即机器A的网关是自己的IP, 机器B的网关是机器A的IP. 这样两台机器就能相互通信了.   修改的时候记得修改 MTU 以提升吞吐性能, 这个卡最多支持 9000+ 的 MTU, 一般设置到 9000 即可.下面是用 ping 测试.   跑分!   激动人心的跑分环节到了, 走起~   这里我们使用 iperf, 具体安装过程请直接搜索, 这里就不赘述了.   iperf 需要用 numactl 绑定 CPUID, 以避免 NUMA 访问的性能问题.   什么? 才 55G? 这是怎么回事?   debug   这时候我们就要debug了, 看看性能瓶颈在哪里.   利用 OFED 提供的 mlnx_tune 工具可以直接自动检查性能瓶颈.   问题在这里:   PCI 带宽是 x16 的没问题, 但是速度为什么只有 5GT/s? 这是 PCIe 2.0 的速度. PCIe 3.0 是 8GT/s.   一般这种问题是 BIOS 设置错误或者需要更新 BIOS, 最惨的情况是, 可能你的主板太老了根本不支持, 或者真的坏了…   再次跑分!   我们修改了 BIOS 设置后, 确认 mlnx_tune 命令没问题之后, 再次跑分:   97.9Gbits/sec 舒服了. 什么? 为啥不是 100Gbits/sec? 总要有些损耗的嘛.   Linux IB网络互通   接下来我们再测试 IB 网络的互通, 这里其实主要给大家演示如何使用 IB 网络.   切换网卡工作模式   同样, 利用 mlxconfig 命令切换并重启.   开启 OpenSM   这一步极其重要, IB 网络需要子网管理器, 由于我们是直连, 没有 IB 网络的子网管理硬件设备, 所以必须要在机器上开启子网管理器, IB 网络才能正常通信. 这也是为什么有人买了 IB 网卡但插上亮黄灯显示网络连接断开不能用的原因.   如图, 没开 OpenSM, 网卡会亮黄灯, 同理插到 IB 交换机上的话, 也是黄灯长亮.
ib网络配置Windows_ib网络配置Windows
ib网络配置Windows_ib网络配置Windows   如上, 开启 opensm.   查看 IB 连接信息   OFED 中提供了 iblinkinfo 命令, 可以让我们方便查看 IB 网络的拓扑信息.   这里简单介绍下, 方便大家以后使用.   CA: m01 HCA-3 CA代表该设备是网卡, m01 HCA-3 是 m01 这台机器上的 HCA 卡 3号.0x0000000000000123 是设备(网卡或交换机) 的GID, 用于全局标记设备, 全局唯一.2 是 lid, 用于在子网内标记设备, 子网内唯一, 是 OpenSM 程序分配的.1 是设备的端口号, 我们的网卡只有一个端口, 序号是 1.4 X 25.78125 Gbps, 由于是 QSFP28 链路, 该规范可以把端口拆分成 4 个 SFP28 链路, SFP28 是 25Gbps, 我们的端口是 QSFP28, (Q代表Quad是4个xxx的意思), 所以链路是 4 X 25 Gbps, 总计 100Gbps. 你也许会问为啥小数点后面还有一堆? 这跟光传输网络有关, 想详细了解可以去查询 wikipedia.刚才说到了可以拆分成 4 个 SFP28, 所以如果买一条 QSFP28 转 4 个 SFP28 的电缆, 的确可以一拖四, 交换机上也可以用这种电缆来实现更高的密度接入.Active/ LinkUp, Active 代表 IB 在协议层运行正常, LinkUp 代表物理层(电缆, 硬件设备)连接正常.==> 1 1[ ] “m02 HCA-1” ( ) 表示当前设备连接的对端设备, 第一个是 lid, 第二个是端口号, 后面是机器名和设备号.   测试 IB 吞吐性能   OFED 提供了 ib_send_bw 命令, 可以测试 IB网络的吞吐性能.   可以看到在 4096bytes 情况下 BW average[MB/sec] 9582.67, 折合约 78.5Gbps. MsgRate[Mpps] 2., 每秒传输2.45百万数据包. 增大包大小(也要提升MTU), 会得到更大带宽.   测试 IB 延时性能   一些特殊的场景例如高频交易等, 对网络延时很敏感, OFED 还提供了 ib_send_lat 命令用于延时测试.   可以看到, 64 字节的包 99% 都在 0.87 微秒完成了传输, 4096 字节的包 99% 都在 2.23 微秒完成了传输. 可以说是相当强悍, 这个数据比高频交易用的 solarflare 的大部分网卡都要强. 当然, 这是 IB 协议的情况下, 具体到以太网情况数据是没这么好看的.   Windows 10 以太网络互通   好了, 演示完毕 linux 后, 我们演示 windows. 我把 m02 linux 机器的卡拔掉, 插到我的 windows机器上.   windows 机器配置就比较辣鸡了, Intel i5-7600K, 32G DDR4. windows 10 1803.   另一个卡还是插在 m01 这台 linux 机器上.   驱动安装   同样的下载地址, 我们选择 Win_OF2 驱动安装, windows 容易弄混, ConnectX-3 及以下的卡用的是 Win_OF, ConnectX-4 及以上的卡用的是Win_OF2. 一路Next即可, 但最后要看一下, 可能会安装失败, 如图:
ib网络配置Windows_ib网络配置Windows
ib网络配置Windows_ib网络配置Windows   安装程序提示 “The wizard was interrupted”.   这时候勾选下面的 “Show the windows installer log”, 然后 Finish 查看日志, 拉到最后面, 应该是这个样子:   ”MainEngineThread is returning 1603″, 出现这个错误需要停止 windows 的 WMI 服务再试一试.   打开 windows 的服务后, 选择Windows Management Instrumentation 然后右键选择所有任务, 停止.
ib网络配置Windows_ib网络配置Windows
ib网络配置Windows_ib网络配置Windows   然后再次安装试一试. 如果还不行, 恭喜你, 重装系统吧.   配置 IP 地址   这个就很简单了, 正常配置就行, 不会的请自己搜索.   修改网络为以太网模式   同上, 用 CMD 先运行 mst status 来确定设备路径, 然后用 mlxconfig 修改接口运行模式. 最后重启生效.   检查工作是否正常   这里跟 linux 有些区别, 用 mlx5cmd 命令.   可以看到 PCIe 版本没问题, 但是这次带宽出了问题, WIDTH=x4, 我这里插的是主板上的 PCIE x 16 口, 但我查了下, 我的辣鸡军规星主板只支持一个 x16, 因此我只能把显卡拔掉用核显, 把网卡插在原来显卡的位置.   重启后:   OK 终于正常了.   跑分!   这次我们换个跑分方式, 试试 samba 传输文件, 我在另一端的 linux 机器 m01 上开了 samba-server, 然后用 tmpfs 弄了个内存盘给samba用. windows 这边也开内存盘.
ib网络配置Windows_ib网络配置Windows
ib网络配置Windows_ib网络配置Windows   为什么! 才 1.24GB/s (折合 9.92Gb/s)! 实际上瓶颈有很多, 包括 windows 本身没有优化, samba 本身也有瓶颈. 甚至内存盘都有瓶颈(并不是内存带宽, 而是内存分配器之类的问题).   跑 iperf 试试:
ib网络配置Windows_ib网络配置Windows
ib网络配置Windows_ib网络配置Windows
ib网络配置Windows_ib网络配置Windows
ib网络配置Windows_ib网络配置Windows   也才 30Gbps, 这是为什么? 因为 windows 下的 iperf 是 cygwin 实现的, 也有瓶颈, 而且, 机器上的 Intel i5-7600K 只有 4 核心……   总之, 要用 100G 卡跑满, 首先弄 8 个核心吧.   价格   100G 网卡 800块QSFP28 光模块 300块.MPO 10m OM3 光纤 100块.   总结   100GB 也有电缆, 电缆会便宜很多, 1m 100左右, 还附带模块.   注意不要把 QSFP 和 QSFP28 弄混, QSFP 是 40G 的, QSFP28 是 100G 的, 二者接口长得一样, 很容易弄混.   光模块的光端类型除了 MPO 接口的, 还有单模 LC 等类型的. 不建议买单模, 一个是贵, 另外一个是发热量巨大.   100G QSFP28 网卡接口是向下兼容的, 可以插 QSFP28, QSFP, SFP+, eSFP, SFP 等 ( 有的需要转接头). 但具体还是要看网卡的 Manual, 以及不同品牌的兼容性只能自己测. 所以如果没经验, 建议买网卡也买同样品牌的电缆或者光模块.   直连网络其实很好弄, 两台机器配置同一子网内的IP, 一个当做路由就行了.   如果准备弄高性能 NAS, 例如全 SSD NAS, 或者全 RAID0 一直爽的 NAS, 又想低成本, 可以直接买两个 10G 网卡像这样直连. 这样就省下了买 10G 交换机的开销. 垃圾佬 10G 卡比 Thunderbolt 卡便宜多了(后续文章会写用便宜的10G网卡组网).   本次内容就到这里了, 有任何疑问或建议欢迎在下面评论或私信我. 也欢迎加入垃圾佬交流群, 共同交流 50TB+ 级 NAS, CEPH, 万兆局域网, 家用服务器等.
ib网络配置Windows_ib网络配置Windows
ib网络配置Windows_ib网络配置Windows   Reference   https://community.mellanox.com/s/article/getting-started-with-connectx-4-100gb-s-adapter-for-linuxIBM Knowledge Center

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/90190.html

(0)
上一篇 2024年 6月 18日 上午7:02
下一篇 2024年 6月 18日 上午7:10

相关推荐

关注微信