NVIDIA Spectrum SN4700 交换机介绍与简单配置

1. 概述

本文档介绍了 NVIDIA Spectrum SN4700 交换机的基本概念、功能以及配置方法。NVIDIA Spectrum SN4700 交换机是一个开源网络操作系统,专为数据中心和企业网络设计,支持多种硬件平台和丰富的网络功能。


2. SN4700 规格摘要

Image


1. 基本定位/产品概况

  • SN4700 是 Spectrum-3(SN4000 系列)中的高端交换机型号,定位为 Spine / Super-Spine 层使用。
  • 提供 1U 机架高度、高密度端口、高性能吞吐能力。
  • 支持开放网络操作系统(如 ONYX、Cumulus Linux、SONiC、DENT)并支持开放以太网架构。

2. 核心规格摘要

项目 规格或范围
最大端口速率(每端口) 支持从 1 GbE 到 400 GbE 。
端口类型 QSFP-DD 形式(32 个 400 GbE 端口满配) 。
切换容量(Switching Capacity) 12.8 Tb/s 双向吞吐(即 SN4700 标称值) 。
数据包处理能力 8.4 Bpps(十亿包/秒) 。
机箱尺寸 高 44 mm × 宽 428 mm × 深 568.5 mm(约 1.72″ × 16.85″ × 22.3″) 。
重量 约 11.6 kg。
操作环境温度 0 °C ~ 35 °C(工作状态) 。
功耗 典型功耗约 630 W(使用被动线缆时) 。
冗余电源与风扇 支持热插拔冗余电源 (2×,1+1 冗余);风扇为热插拔、冗余设计。

2.1 主要功能特点

  • 支持高度灵活的端口速率组合,从 1 GbE 到 400 GbE,可适应异构服务器/存储环境。
  • 内置可视化与遥测功能,如 “What Just Happened” (WJH) 遥测、硬件加速队列深度直方图、In-band 网络遥测 (INT) 支持。
  • 完整支持 L2/L3 转发、Overlay 网络 (如 VXLAN)、隧道、IPv6、Segment Routing 等高阶网络功能。
  • 共享大容量包缓冲 (例如 64 MB 缓冲) 支撑高突发负载而维持低延迟性能。

3. 初始化配置步骤(Sonic OS)


3.1 连接到交换机

  1. 使用控制台电缆连接到交换机的控制台端口。
  2. 使用终端仿真程序(如 PuTTY 或 Tera Term)连接到交换机,设置波特率为 9600。
  3. 登录到交换机,默认用户名和密码通常为 adminpassword

3.2 生成基本配置

  1. 获取platform信息
    1
    $ show platform summary
    通常可以在结果里面看到类似Platform: x86_64-xxxxx-r0的信息, 例如:
    1
    2
    $ show platform summary
    x86_64-mlnx_msn4700-r0
  2. 查找支持的配置模板
    1
    2
    $ ls /usr/share/sonic/device/<platform>
    $ ls /usr/share/sonic/device/<platform>/<config_templates>/
    通常可以看到类似厂商-交换机型号-模式的文件夹和port_config.ini的文件。
    例如:
    1
    2
    3
    4
    5
    6
    7
    8
    $ ls /usr/share/sonic/device/x86_64-mlnx_msn4700-r0
    Mellanox-SN4700-A96C8V8
    Mellanox-SN4700-C128
    Mellanox-SN4700-O8C48
    Mellanox-SN4700-V48C32

    $ ls /usr/share/sonic/device/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-V48C32/
    port_config.ini
  3. 生成基本配置文件(以Mellanox-SN4700-V48C32为例)
    1
    2
    3
    4
    5
    $ sonic-cfggen -H -k x86_64-mlnx_msn4700-r0 -p /usr/share/sonic/device/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-V48C32/port_config.ini --print-data > /etc/sonic/config_db_temp.json

    $ sudo vi /etc/sonic/config_db_temp.json # modify value of hwsku to "Mellanox-SN4700-V48C32"

    $ sudo cp /etc/sonic/config_db_temp.json /etc/sonic/config_db.json
  4. 保存配置并重启交换机
    1
    2
    $ sudo config save -y -f
    $ sudo reboot
  5. 验证端口状态
    1
    2
    3
    4
    5
    6
    $ show interfaces status
    Interface Lanes Speed MTU FEC Alias Vlan Oper Admin Type Asym PFC
    ----------- --------------- ------- ----- ----- ------- ------ ------ ------- --------------- ----------
    Ethernet0 0,1,2,3 200G 9100 N/A etp1a trunk down up N/A N/A
    Ethernet4 4,5,6,7 200G 9100 N/A etp1b trunk down up N/A N/A
    ...

3.3 配置 VLAN 并启用所有以太网接口

  1. 创建 VLAN 1000
    1
    $ sudo config vlan add 1000 # 创建 VLAN 1000
  2. 将所有以太网接口添加到该 VLAN并启用接口
    1
    2
    3
    4
    5
    # 启用所有以太网接口并将其添加到 VLAN 1000
    $ for intf in $(show interface status | awk 'NR>2 {print $1}' | grep -v Ethernet248); do
    sudo config vlan member add 1000 $intf -u
    sudo config interface startup $intf
    done
  3. 保存配置并验证VLAN配置
    1
    2
    3
    $ sudo config save -y -f # 保存配置
    $ sudo config reload -y # 重新加载配置
    $ show vlan brief # 验证 VLAN 配置
  4. 查看interfaces状态
    1
    2
    3
    4
    5
    6
    7
    8
    $ show interfaces status
    Interface Lanes Speed MTU FEC Alias Vlan Oper Admin Type Asym PFC
    ----------- --------------- ------- ----- ----- ------- ------ ------ ------- --------------- ----------
    Ethernet0 0,1,2,3 200G 9100 N/A etp1a trunk down up N/A N/A
    Ethernet4 4,5,6,7 200G 9100 N/A etp1b trunk down up N/A N/A
    ....

    Ethernet72 72,73,74,75 200G 9100 N/A etp10a trunk up up QSFP28 or later N/A