上个月我在测试机房接一台新的Spectrum-4交换机,原本只是升级固件、配RoCE QoS、再拉两条链路到TOR,听起来半小时的活儿,结果因为PFC死锁配置和原始端口策略互相挤兑,我在CLI里翻了大半个晚上。后来实在受不了,把NVIDIA Mellanox NEO这套平台拉起来,先把设备自动纳管了,再用数字孪生跑了一遍配置变更,问题才彻底搞清楚。今天就把这段时间用它的经验整理出来,给正在做AI Infra或者数据中心网络运维的朋友参考。
NVIDIA Mellanox NEO是NVIDIA网络产品线里的一个软件平台,脱胎于Mellanox的NEO网络编排产品,名字里带着Mellanox纯属品牌延续。它不是传统的网管平台,而是一整套带AI辅助、数字孪生和自动化编排的数据中心网络运维系统,主要面向InfiniBand和Spectrum以太网这两大类交换机构成的高性能算力集群。它能解决的问题很直接:把“一台一台交换机改CLI”变成“整个网络结构统一声明、统一变更、统一监控”,顺便用AI助手把排障门槛拉低。适合谁看?数据中心和智算中心的网络工程师、HPC集群管理员、正在搭AI Infra的SRE,以及被GPU集群网络问题折磨的运维同学。
1. 我为什么把NEO搬进机房:AI网络运维的痛点与选型
1.1 大规模算力集群里,传统CLI运维有多痛苦
先聊一个真实的场景。一个训练集群如果跑到了上千张GPU,背后的网络规模大概是几十台甚至上百台交换机构成的两层或三层结构,再加上RoCEv2和InfiniBand混布,整个网络的复杂度是直线上升的。业务方报“训练变慢”的时候,你从算力节点查起,看网卡速率、看报文丢弃、看对端交换机端口计数,一个流程下来要登录十几二十台设备。
最难受的是有些问题它不直接报错,而是隐藏在统计数字里。比如RoCE网络的PFC暂停帧计数突然飙升,或者某个端口的CRC错误缓慢增长,这些现象在CLI里一条一条翻不是不行,但效率极低,尤其是几百个端口等你做横向对比的时候。我记得有一次排查一个偶发丢包问题,把全网所有交换机端口统计导出来做对比,一台一台手敲命令,光是采集数据就花了一下午。后来用NEO做全网遥测采集,同样是这批数据,几分钟就拉出来了。
还有一个很现实的问题:配置漂移。只要团队里有人临时登录设备改过配置,没有更新文档,后面的变更就可能把网络改出细微差别。规模小的时候这种问题还能靠人肉发现,规模上来以后基本无解。所以我对网络运维工具的第一个要求就是:一定要有全网视角,不能只看单台设备。
1.2 NEO管的东西和传统网管有什么不同
传统网管系统,比如各种基于SNMP的监控平台,它们的核心能力是“看”:看设备在线状态、看端口流量、看CPU内存,出问题发告警。但NEO做的事情比“看”要多得多,它把管理的抽象层级从单台设备提升到了Fabric,也就是网络结构这个层面。
打个比方,传统方式相当于你管理一栋楼里的每一间房,每个房间单独开关灯、单独调空调;NEO的方式是把整栋楼当成一个整体来管,你提需求说“三楼所有房间温度设为24度”,系统自动去协调每个房间的空调设备。具体到网络里,就是你可以定义一个“意图”:比如某组端口需要承载RoCE流量,需要开启无损模式、配置ECN、分配PFC优先级,NEO会自动把这一整套配置翻译成不同厂商接口下的具体命令行,下发到所有相关设备上。
另外NEO的一大特色是同时支持InfiniBand和以太网。市面上通用的网络监控软件通常只管IP网络,而InfiniBand网络有自己的管理协议(比如Subnet Manager),普通工具根本看不到那层信息。对于同时跑IB和RoCEv2的算力集群来说,能用一套平台把两类网络统一纳管,是很省事的。
1.3 为什么选NEO而不是自己写脚本
说到自动化运维,很多同行第一反应是“我自己写脚本不就行了”
