带内系统升级 - ISSU
使用 ISSU 升级和排除活动交换机的故障,最大限度地减少对网络的干扰。
ISSU 包括以下模式
- 重启
- 升级
- 维护模式
- 维护端口
在早期的 Cumulus Linux 版本中,ISSU 是 Smart System Manager。
重启模式
您可以配置交换机以以下模式之一重启。
cold 模式重启系统并重置交换机上的所有硬件设备(包括交换 ASIC)。
fast 模式通过重新加载内核和软件堆栈(无需硬重置硬件)更高效地重启系统,最大限度地减少对流量的影响。在快速重启期间,系统会在恢复到系统的运行模式之前,尽可能使用现有的协议扩展与网络分离。重启过程维护交换 ASIC 的转发表项,数据平面不受影响。在这种模式下,流量中断时间要短得多,因为在重启后系统重新初始化时,只会发生短暂的中断。
warm 模式重启系统,现有路由表项的流量不会中断。Warm 模式重启系统时,不会硬重置交换机 ASIC。虽然此过程不会影响数据平面,但控制平面在重启期间会缺失,并且无法处理路由更新。但是,如果不存在备用路径,交换机将继续使用现有表项转发,不会中断。
当您在 warm 模式下重启交换机时,仅当 BGP 优雅重启选项设置为
full
时,BGP 才会执行优雅重启。要将 BGP 优雅重启设置为 full,请运行nv set router bgp graceful-restart mode full
命令,然后使用nv config apply
应用配置。有关 BGP 优雅重启的更多信息,请参阅 可选 BGP 配置。在 warm 重启模式下的 eBGP 多跳配置中,您必须将 BGP 优雅重启计时器 设置为 180 秒或更长。
Cumulus Linux 支持
- 所有协议的 Fast 模式。
- 用于 802.1X、第 2 层转发、使用 BGP 的第 3 层转发、静态路由以及使用 EVPN 的 VXLAN 路由的 Warm 模式。Cumulus Linux 不支持使用 EVPN MLAG 或 EVPN 多宿主的 warm 启动。
NVIDIA 建议您使用 NVUE 命令配置重启模式并重启系统。如果您喜欢使用 csmgrctl
命令,则必须先停止 NVUE 管理 /etc/cumulus/csmgrd.conf
文件,然后再设置重启模式
运行以下 NVUE 命令
cumulus@switch:~$ nv set system config apply ignore /etc/cumulus/csmgrd.conf cumulus@switch:~$ nv config apply
编辑
/etc/cumulus/csmgrd.conf
文件并将csmgrctl_override
选项设置为true
cumulus@switch:~$ sudo nano /etc/cumulus/csmgrd.conf csmgrctl_override=true ...
保存配置
cumulus@switch:~$ nv config save
以下命令将交换机配置为在 cold 模式下重启
cumulus@switch:~$ nv set system reboot mode cold
cumulus@switch:~$ nv config apply
cumulus@switch:~$ sudo csmgrctl -c
以下命令将交换机配置为在 fast 模式下重启
cumulus@switch:~$ nv set system reboot mode fast
cumulus@switch:~$ nv config apply
cumulus@switch:~$ sudo csmgrctl -f
以下命令将交换机配置为在 warm 模式下重启。
cumulus@switch:~$ nv set system reboot mode warm
cumulus@switch:~$ nv config apply
cumulus@switch:~$ sudo csmgrctl -w
要使用 NVUE 在您上面配置的重启模式下重启交换机
cumulus@switch:~$ nv action reboot system no-confirm
您必须在命令末尾指定 no-confirm
。
要显示系统重启信息,例如重启日期和时间、原因和重置模式(fast、cold、warm),请运行 NVUE nv show system reboot
命令
cumulus@switch:~$ nv show system reboot
operational applied pending
--------- -------------------------------- ------- -------
reason
gentime 2023-04-26T15:11:23.140569+00:00
reason Unknown
user system/root
mode cold cold
required no
升级模式
升级模式将交换机上的所有组件和服务更新到最新的 Cumulus Linux 小版本,而不会影响流量。升级完成后,您必须使用 warm、cold 或 fast 重启之一重启交换机。
如果交换机处于 warm 重启模式,则升级后重启交换机不会导致流量丢失(这是无损升级)。
升级模式包括以下选项
- 您可以将所有系统组件升级到 最新 版本,而不会影响流量。升级完成后,您必须使用 重启模式之一重启系统。
- 您可以执行升级试运行,这将提供有关您要升级的组件的信息,以便您可以查看潜在的升级问题(在某些情况下,由于依赖关系,升级新软件包也可能会升级其他现有软件包)。
以下命令将所有系统组件升级到最新版本
cumulus@switch:~$ nv action upgrade system packages to latest use-vrf default
默认情况下,NVUE nv action upgrade system packages
命令在管理 VRF 中运行。要在非管理 VRF(例如 default
)中运行该命令,您必须使用 use-vrf <vrf>
选项。
cumulus@switch:~$ sudo csmgrctl -u
以下命令提供有关您要升级的组件的信息
cumulus@switch:~$ nv action upgrade system packages to latest use-vrf default dry-run
默认情况下,NVUE nv action upgrade system packages
命令在管理 VRF 中运行。要在非管理 VRF(例如 default
)中运行该命令,您必须使用 use-vrf <vrf>
选项。
cumulus@switch:~$ sudo csmgrctl -d
维护模式
维护模式全局管理 BGP 和 MLAG 控制平面。
- 当您启用维护模式时,BGP 和 MLAG 将优雅关闭。
- 当您禁用维护模式时,BGP 和 MLAG 将根据各个参数设置
enabled
。
要启用维护模式
cumulus@switch:~$ nv action enable system maintenance mode
Action executing ...
System maintenance mode has been enabled successfully
Current System Mode: Maintenance, cold
Maintenance mode since Thu Jun 13 23:59:47 2024 (Duration: 00:00:00)
Ports shutdown for Maintenance
frr : Maintenance, cold, down, up time: 29:06:27
switchd : Maintenance, cold, down, up time: 29:06:31
System Services : Maintenance, cold, down, up time: 29:07:00
Action succeeded
cumulus@switch:~$ sudo csmgrctl -m1
要禁用维护模式
cumulus@switch:~$ nv action disable system maintenance mode
Action executing ...
System maintenance mode has been disabled successfully
Current System Mode: cold
frr : cold, up, up time: 12:57:48 (1 restart)
switchd : cold, up, up time: 13:12:13
System Services : cold, up, up time: 13:12:32
Action succeeded
cumulus@switch:~$ sudo csmgrctl -m0
在禁用维护模式之前,请务必先将端口恢复运行。
要显示维护模式状态,请运行 NVUE nv show system maintenance
命令或 Linux sudo csmgrctl -s
命令
cumulus@switch:~$ nv show system maintenance
operational
----- -----------
mode enabled
ports disabled
cumulus@switch:~$ sudo csmgrctl -s
Current System Mode: cold
frr : cold, up, up time: 00:14:51 (2 restarts)
clagd : cold, up, up time: 00:14:47
switchd : cold, up, up time: 01:09:48
System Services : cold, up, up time: 01:10:07
维护端口
维护端口全局禁用或启用所有配置的端口。
- 当您启用维护端口时,swp 接口遵循各自的管理员状态。
- 当您禁用维护端口时,swp 接口全局处于管理关闭状态,从而覆盖配置中的管理员状态。
要启用维护端口
cumulus@switch:~$ nv action enable system maintenance ports
Action executing ...
System maintenance ports has been enabled successfully
Current System Mode: cold
frr : cold, up, up time: 28:54:36
switchd : cold, up, up time: 28:54:40
System Services : cold, up, up time: 28:55:09
Action succeeded
cumulus@switch:~$ sudo csmgrctl -p0
要禁用维护端口
cumulus@switch:~$ nv action disable system maintenance ports
Action executing ...
System maintenance ports has been disabled successfully
Current System Mode: cold
Ports shutdown for Maintenance
frr : cold, up, up time: 28:55:49
switchd : cold, up, up time: 28:55:53
System Services : cold, up, up time: 28:56:22
Action succeeded
cumulus@switch:~$ sudo csmgrctl -p1
要查看维护端口的状态,请运行 NVUE nv show system maintenance
命令
cumulus@switch:~$ nv show system maintenance
operational
----- -----------
mode enabled
ports disabled