3. NVIDIA网络操作系统可靠性机制

在AI数据中心里,网络操作系统的可靠性不是“设备不宕机”这么简单,而是要在链路抖动、进程异常、配置误操作、升级失败等场景下,仍然保证转发面可用、控制面可恢复、变更可追溯。NVIDIA的网络操作系统主要分为两条产品线:面向开放以太网的Cumulus Linux,以及面向InfiniBand与以太网融合场景的NVOS(NVIDIA Onyx)。两者在可靠性设计上共享同一套思路:控制面与转发面解耦、关键进程独立监控、配置以事务方式提交、系统状态全程留痕。理解这套机制,是后续做故障定位和自愈设计的基础。

一、高可用设计的共同底座:控制面与转发面分离

Cumulus Linux基于Linux内核与FRR(FRRouting)协议栈,NVOS则运行在NVIDIA自有的嵌入式系统之上,但两者都把“转发面持续转发”作为最高优先级。以Cumulus Linux为例,交换芯片由SDK驱动,路由协议进程(bgpd、ospfd、zebra)运行在用户态;即使bgpd崩溃重启,已下发的FIB表项仍保留在芯片中,数据面流量不中断。NVOS同样将协议栈与ASIC转发逻辑分离,协议进程重启期间,已建立的转发表继续生效。

这种分离带来一个关键判断依据:控制面进程重启不等于业务中断。运维人员看到bgpd进程重启告警时,应先确认转发面是否正常,而不是立即重启整机。判断方法通常是查看接口计数是否持续增长、邻居是否在数秒内重新建立、路由表是否收敛回原状态。

Cumulus Linux / NVOS 可靠性分层与自愈路径 控制面(用户态) bgpd ospfd zebra 进程独立运行,崩溃后由systemd拉起 配置变更经事务提交后下发 转发面(ASIC / 内核) FIB / ACL 表项 端口转发引擎 控制面重启期间表项保留 数据包持续转发,业务不中断 下发 保留 进程监控与自愈(systemd / NVOS watchdog) 进程异常退出 watchdog 检测 自动重启进程 邻居重建 / 路由收敛 配置事务与回滚 nv config apply → 生成新版本 失败自动回滚到上一提交点 历史版本可手动切换 日志与审计 syslog / journald 记录进程事件 auditd 记录配置变更操作 变更前后差异可追溯

二、进程监控与自愈:从“发现异常”到“恢复收敛”

Cumulus Linux使用systemd管理关键服务,每个协议进程都有对应的unit文件。以bgpd为例,其unit中通常配置Restart=on-failure与RestartSec=2,表示进程异常退出后2秒内自动重启。NVOS则通过内置watchdog监控关键任务,若某任务在设定周期内未喂狗,watchdog会触发任务重启甚至整机复位。

实际运维中,自愈是否成功要看三个层次:第一,进程是否被拉起;第二,协议邻居是否重新建立;第三,路由表是否收敛到预期状态。可以用以下命令观察:

# 查看进程状态与重启次数
systemctl status bgpd
systemctl show bgpd -p NRestarts

# 查看BGP邻居状态
vtysh -c "show bgp summary"

# 查看路由表条目数变化
vtysh -c "show ip route summary"

如果进程反复重启(NRestarts持续增长),说明存在配置错误、资源不足或上游依赖异常,此时自愈机制只是在“掩盖”问题,需要进一步排查。常见原因包括:BGP邻居配置的AS号不匹配、内存不足导致进程被OOM Killer终止、或某个接口持续flapping导致协议进程反复重算。

三、配置回滚与事务机制:让变更可撤销

Cumulus Linux的配置管理以文件为中心,主要配置文件位于/etc/network/interfaces、/etc/frr/frr.conf等路径。变更前建议先备份,变更后若发现异常,可直接恢复备份文件并重启相关服务。更规范的做法是使用ifreload -a做网络配置的原子重载,它只应用差异部分,减少中断。

NVOS采用更接近“事务”的模型:通过nv config apply提交配置,系统会先生成新版本,再整体应用。如果应用过程中出现错误,系统会自动回滚到上一个已知可用的配置版本。运维人员也可以用nv config history查看历史版本,用nv config apply <version>切换到指定版本。这种机制的价值在于:即使误删了关键ACL或路由策略,也能在秒级内恢复到变更前状态。

建议在每次重大变更前执行一次配置备份,并记录当前版本号。变更后至少观察5分钟,确认邻居、路由、流量三项指标均正常,再将本次变更标记为“稳定版本”。

四、系统日志与审计:让每一次变更都有迹可循

可靠性不仅依赖自愈,还依赖可追溯。Cumulus Linux默认使用rsyslog与journald,关键进程日志可在/var/log/syslog中查看。NVOS则提供/var/log/下的分类日志,并支持将日志转发到外部syslog服务器。审计方面,Linux的auditd可以记录对配置文件的读写操作,NVOS也提供命令审计功能,记录谁在什么时间执行了什么命令。

排查配置类故障时,推荐按以下顺序查看日志:先看journalctl -u bgpd --since "10 min ago"确认进程事件,再看/var/log/syslog中的接口与协议状态变化,最后用ausearch -f /etc/frr/frr.conf确认是否有未授权的配置修改。这样可以把“进程异常”与“人为变更”区分开,避免误判。

机制Cumulus LinuxNVOS关键观察点
进程监控systemd Restartwatchdog + 任务重启NRestarts、进程存活时间
配置回滚文件备份 + ifreloadnv config apply 事务回滚版本号、apply结果
日志审计rsyslog / journald / auditd分类日志 + 命令审计时间戳、操作者、变更内容
转发面保护FIB保留,控制面重启不中断ASIC表项保留接口计数、邻居重建时间

把上述四类机制串起来看,NVIDIA网络操作系统的可靠性逻辑是:转发面优先保业务,控制面进程可自愈,配置变更可回滚,所有事件可审计。实际工作中,遇到告警时先判断影响面——是转发中断还是仅控制面异常;再判断自愈是否完成——进程、邻居、路由三层是否恢复;最后查日志确认根因,决定是否需要人工干预。这套判断顺序,比单纯依赖某一条命令更能保证AI数据中心网络的稳定运行。