快速入门指南
本快速入门指南提供了安装和运行 Cumulus Linux 的端到端设置过程。
前提条件
本指南假设您具备中级 Linux 知识。您需要熟悉基本的文本编辑、Unix 文件权限和进程监控。Cumulus Linux 包含各种预装的文本编辑器,例如 vi
和 nano
。
您必须能够访问 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 set
、nv unset
、nv action
、nv 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
使用
hostnamectl
命令更改主机名;例如cumulus@switch:~$ sudo hostnamectl set-hostname leaf01
在
/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
在终端中,运行以下命令
cumulus@switch:~$ sudo dpkg-reconfigure tzdata
按照屏幕上的菜单选项选择地理区域和地区。
已运行的程序(包括日志文件)和已登录的用户,看不到时区更改。要为所有服务和守护程序设置时区,请重新启动交换机。
验证系统时间
验证交换机上的日期和时间是否正确。如果日期和时间不正确,交换机将无法与 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
使用分支电缆配置分支端口
如果您使用的是 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。