快速入门指南

本快速入门指南提供了安装和运行 Cumulus Linux 的端到端设置过程。

前提条件

本指南假设您具备中级 Linux 知识。您需要熟悉基本的文本编辑、Unix 文件权限和进程监控。Cumulus Linux 包含各种预装的文本编辑器,例如 vinano

您必须能够访问 Linux 或 UNIX shell。如果您运行的是 Windows,请使用像 Cygwin 这样的 Linux 环境作为与 Cumulus Linux 交互的命令行工具。

开始入门

默认情况下,Cumulus Linux 已安装在交换机上。要升级到不同的 Cumulus Linux 版本或重新安装 Cumulus Linux,请参阅 安装管理。要显示交换机上当前 Cumulus Linux 版本,请运行 NVUE nv show system 命令。

首次启动 Cumulus Linux 时,管理端口会发出 DHCPv4 请求。要确定交换机的 IP 地址,您可以将交换机的序列号与您的 DHCP 服务器进行交叉引用。来自交换机的 DHCP 请求在客户端标识符(选项 61)中包含序列号。

开始入门

  • 登录到交换机上的 Cumulus Linux 并更改默认凭据。
  • 配置 Cumulus Linux。本快速入门指南提供了有关更改交换机主机名、设置日期和时间以及配置交换机端口和环回接口的说明。

您可以选择使用 NVUE 命令**或** Linux 命令(使用 vtysh 或手动编辑配置文件)配置 Cumulus Linux。**请勿**同时运行 NVUE 配置命令(例如 nv setnv unsetnv actionnv config)和 Linux 命令来配置交换机。NVUE 命令会替换 /etc/network/interfaces/etc/frr/frr.conf 等文件中的配置,并删除您手动添加或使用 Ansible、Chef 或 Puppet 等自动化工具添加的任何配置。

如果您选择使用 NVUE 配置 Cumulus Linux,您可以通过创建 NVUE 代码片段 来配置尚不支持 NVUE 对象模型的功能。

登录凭据

默认安装包含两个帐户

  • 系统帐户 (root) 具有完整的系统权限。Cumulus Linux 锁定了 root 帐户密码,禁止登录。
  • 用户帐户 (cumulus) 具有 sudo 权限。cumulus 帐户使用默认密码 cumulus。当您首次使用 cumulus 帐户登录时,Cumulus Linux 会提示您更改默认密码。在您提供新密码后,SSH 会话将断开连接,您必须使用新密码重新连接。

ONIE 包含一些选项,允许您在安装新的 Cumulus Linux 镜像时自动更改 *cumulus* 帐户的默认密码。请参阅 ONIE 安装选项。您还可以 使用 ZTP 脚本更改默认密码

在本快速入门指南中,您将使用 *cumulus* 帐户配置 Cumulus Linux。

除 root 帐户外,所有帐户都可以使用远程 SSH 登录;您可以使用 sudo 授予非 root 帐户 root 级别的访问权限。更改系统配置的命令需要这种提升的访问级别。

有关 sudo 的更多信息,请参阅 使用 sudo 委派权限

串行控制台管理

NVIDIA 建议您通过网络(带内或带外)执行管理和配置。完全支持串行控制台。

通常,交换机从制造商发货时会附带配套的 DB9 串行电缆。装有 ONIE 的交换机始终设置为 115200 波特率。

有线以太网管理

Cumulus Linux 交换机始终提供至少一个专用的以太网管理端口,称为 eth0。此接口专门用于带外管理。默认情况下,管理接口使用 DHCPv4 进行寻址。

要为 eth0 设置静态 IP 地址和网关地址

cumulus@switch:~$ nv unset interface eth0 ip address dhcp
cumulus@switch:~$ nv set interface eth0 ip address 192.0.2.42/24
cumulus@switch:~$ nv set interface eth0 ip gateway 192.0.2.1
cumulus@switch:~$ nv config apply

编辑 /etc/network/interfaces 文件

cumulus@switch:~$ sudo nano /etc/network/interfaces
# Management interface
auto eth0
iface eth0
    address 192.0.2.42/24
    gateway 192.0.2.1

配置主机名

主机名标识交换机;请确保您配置的主机名是唯一且具有描述性的。

请勿在主机名中使用下划线 (_)、撇号 (') 或非 ASCII 字符。

要更改主机名

运行 nv set system hostname <hostname> 命令。以下示例将主机名设置为 leaf01

cumulus@switch:~$ nv set system hostname leaf01
cumulus@switch:~$ nv config apply
  1. 使用 hostnamectl 命令更改主机名;例如

    cumulus@switch:~$ sudo hostnamectl set-hostname leaf01
    
  2. /etc/hosts 文件中,将 IP 地址 127.0.1.1 的主机替换为新主机名

    cumulus@switch:~$ sudo nano /etc/hosts
    ...
    127.0.1.1       leaf01
    

终端中的命令提示符不会反映新的主机名,除非您注销交换机或启动新的 shell。

配置时区

交换机上的默认时区是 UTC(协调世界时)。将交换机上的时区更改为您所在位置的时区。

要更新时区

运行 nv set system timezone <timezone> 命令。要查看所有可用的时区,请运行 nv set system timezone 并按 Tab 键。以下示例将时区设置为 US/Eastern

cumulus@switch:~$ nv set system timezone US/Eastern
cumulus@switch:~$ nv config apply
  1. 在终端中,运行以下命令

    cumulus@switch:~$ sudo dpkg-reconfigure tzdata
    
  2. 按照屏幕上的菜单选项选择地理区域和地区。

已运行的程序(包括日志文件)和已登录的用户,看不到时区更改。要为所有服务和守护程序设置时区,请重新启动交换机。

验证系统时间

验证交换机上的日期和时间是否正确。如果日期和时间不正确,交换机将无法与 Puppet 等自动化工具同步,并在您重新启动 switchd 后返回错误。

要显示当前日期和时间,请运行 nv show system time 命令

cumulus@switch:~$ nv show system time
                           operational                  
-------------------------  -----------------------------
local-time                 Wed 2024-08-21 17:39:44 EDT
universal-time             Wed 2024-08-21 21:39:44 UTC
rtc-time                   Fri 2024-08-16 16:50:06    
time-zone                  US/Eastern (EDT, -0400)    
system-clock-synchronized  no                         
ntp-service                n/a                        
rtc-in-local-tz            no                         
unix-time                  1724276384.1403222

要根据配置的时区设置软件时钟,请运行 nv action change system time <YYYY-MM-DD> <HH:MM:SS> 命令;例如

cumulus@switch:~$ nv action change system time 2023-12-04 2:33:30
System Date-time changed successfully
Local Time is now Mon 2023-12-04 02:33:30 UTC
Action succeeded

要显示交换机上的当前日期和时间,请运行 date 命令

cumulus@switch:~$ date
Wed 11 Oct 2023 12:18:33 PM UTC

要根据配置的时区设置软件时钟,请运行 sudo date -s 命令

cumulus@switch:~$ sudo date -s "Tue Jan 26 00:37:13 2021"

有关设置系统时间的更多信息,请参阅 设置日期和时间

NTP 和 PTP

  • 默认情况下,NTP 在交换机启动时启动,并且 NTP 配置包含默认服务器。要自定义 NTP,请参阅 NTP
  • 默认情况下,PTP 在交换机上处于关闭状态。要配置 PTP,请参阅 PTP

使用分支电缆配置分支端口

如果您使用的是 4x10G DAC 或 AOC 电缆,或者您想分支(拆分)交换机端口,请配置分支端口;请参阅 交换机端口属性

测试电缆连接

默认情况下,Cumulus Linux 禁用所有数据平面端口(除管理接口 eth0 之外的所有以太网端口)。要测试电缆连接,请以管理方式启用物理端口。

要以管理方式启用端口,请运行 nv set interface <interface> 命令

cumulus@switch:~$ nv set interface swp1
cumulus@switch:~$ nv config apply

要在端口编号从 swp1 到 swp52 的交换机上以管理方式启用所有物理端口

cumulus@switch:~$ nv set interface swp1-52
cumulus@switch:~$ nv config apply

要查看链路状态,请运行 nv show interface 命令。

要以管理方式启用端口,请编辑 /etc/network/interfaces 文件以添加端口,然后运行 ifreload -a 命令。

cumulus@switch:~$ sudo nano /etc/network/interfaces
...
auto swp1
iface swp1
...
cumulus@switch:~$ sudo ifreload -a

要以管理方式启用所有物理端口,请编辑 /etc/network/interfaces 文件以添加所有接口,然后运行 ifreload -a 命令。

cumulus@switch:~$ sudo nano /etc/network/interfaces
...
auto swp1
iface swp1

auto swp2
iface swp2

auto swp3
iface swp3
...
cumulus@switch:~$ sudo ifreload -a

要查看链路状态,请运行 ip link show 命令。

配置二层端口

默认情况下,Cumulus Linux 不会将所有端口都放入桥接中。要创建桥接并将一个或多个前面板端口配置为桥接的成员,请运行以下命令。

以下示例将前面板端口 swp1 放入名为 br_default 的默认桥接中。

cumulus@switch:~$ nv set interface swp1 bridge domain br_default
cumulus@switch:~$ nv config apply

您可以在一个命令中添加一系列端口。例如,要将 swp1 到 swp3、swp10 以及 swp14 到 swp20 添加到桥接

cumulus@switch:~$ nv set interface swp1-3,swp6,swp14-20 bridge domain br_default
cumulus@switch:~$ nv config apply

以下示例将前面板端口 swp1 放入名为 br_default 的默认桥接中

...
auto br_default
iface br_default
    bridge-ports swp1
...

以下示例将 swp1 到 swp3、swp10 以及 swp14 到 swp20 添加到桥接

...
auto br_default
iface br_default
    bridge-ports swp1 swp2 swp3 swp6 swp14 swp15 swp16 swp17 swp18 swp19 swp20
...

要应用配置,请检查是否有错别字

cumulus@switch:~$ sudo ifquery -a

如果没有错误,请运行以下命令

cumulus@switch:~$ sudo ifup -a

有关以太网桥接的更多信息,请参阅 以太网桥接 - VLAN

配置三层端口

您可以将前面板端口或桥接接口配置为三层端口。

以下示例将前面板端口 swp1 配置为三层接入端口

cumulus@switch:~$ nv set interface swp1 ip address 10.0.0.0/31
cumulus@switch:~$ nv config apply

要将 IP 地址添加到桥接接口,您必须将其放入 VLAN 接口中。如果您想使用非本机 VLAN,请设置桥接 PVID

cumulus@switch:~$ nv set interface swp1-2 bridge domain br_default
cumulus@switch:~$ nv set bridge domain br_default vlan 10
cumulus@switch:~$ nv set interface vlan10 ip address 10.1.10.2/24
cumulus@switch:~$ nv set bridge domain br_default untagged 1
cumulus@switch:~$ nv config apply

以下示例将前面板端口 swp1 配置为三层接入端口

auto swp1
iface swp1
  address 10.0.0.0/31

要将 IP 地址添加到桥接接口,请将地址包含在 /etc/network/interfaces 文件中的 iface 节下。如果您想使用非本机 VLAN,请设置桥接 PVID

auto vlan10
iface vlan10
    address 10.1.10.2/24
    vlan-raw-device br_default
    vlan-id 10
auto br_default
iface br_default
    bridge-ports swp1 swp2
    hwaddress 44:38:39:22:01:78
    bridge-vlan-aware yes
    bridge-vids 10
    bridge-pvid 1
    bridge-stp yes
    bridge-mcsnoop no
    mstpctl-forcevers rstp

要应用配置,请检查是否有错别字

cumulus@switch:~$ sudo ifquery -a

如果没有错误,请运行以下命令

cumulus@switch:~$ sudo ifup -a

配置环回接口

Cumulus Linux 具有预配置的环回接口。当交换机启动时,环回接口(称为 lo)已启动并分配了 IP 地址 127.0.0.1。

环回接口 lo 必须始终存在于交换机上并且必须始终处于启动状态。要检查环回接口的状态,请运行 NVUE nv show interface lo 命令或 Linux ip addr show lo 命令。

以下示例将环回 IP 地址设置为 10.10.10.1/32。

cumulus@switch:~$ nv set interface lo ip address 10.10.10.1/32
cumulus@switch:~$ nv config apply

/etc network/interfaces 文件中,将 IP 地址直接添加到 iface lo inet loopback 定义下

auto lo
iface lo inet loopback
    address 10.10.10.1/32

您可以添加多个环回地址。有关更多信息,请参阅 接口配置和管理

显示平台和系统设置

  • 要显示交换机的主机名、时区和 Cumulus Linux 版本,请运行 NVUE nv show system 命令。
  • 要显示 Cumulus Linux 内核和镜像版本,以及构建日期和时间,请运行 nv show system version 命令。
  • 要显示交换机平台信息,例如系统 MAC 地址、制造商、ASIC 型号、CPU、硬盘驱动器大小、RAM 大小和端口布局,请运行 NVUE nv show platform 命令。

后续步骤

现在您可以根据您的需求配置交换机了。本指南提供了单独的章节,介绍如何配置系统第 1 层第 2 层第 3 层网络虚拟化设置。每个部分都包含示例配置和预构建演示

要深入了解提供 CLI 以简化配置的 NVUE 对象模型,请参阅 NVUE