交换机管理

生命周期管理显示可通过 NetQ 进行软件安装或升级的交换机清单。从清单列表中,您可以为交换机分配访问配置文件和角色,并选择用于软件安装和升级的交换机。您还可以停用交换机,这会将其从 NetQ 数据库中删除。

如果您使用带内网络接口管理交换机,请确保在对交换机执行任何 LCM 操作之前,已配置代理

查看 LCM 交换机清单

展开 菜单,然后选择管理交换机。在仪表板中,选择交换机管理选项卡。“交换机”卡片显示 NetQ 发现的交换机数量以及这些交换机上运行的网络操作系统版本。

switches card displaying 525 discovered switches

要查看所有已发现交换机及其属性的表格,请在“交换机”卡片上选择管理

如果您的交换机上运行着多个网络操作系统版本,您可以单击“交换机”卡片图表上的版本段,以打开按该版本过滤的交换机列表。

要查看生命周期管理发现的所有交换机的列表,请运行 netq lcm show switches 命令

netq lcm show switches
    [cl-version <text-cumulus-linux-version>]
    [netq-version <text-netq-version>]
    [json]

交换机表格是网络操作系统升级或 NetQ 安装和升级的起点。如果您要升级的交换机未在此列表中,您可以

  • 使用 ping 验证丢失的交换机是否可达
  • 运行交换机发现,它会在您的网络结构中定位所有运行 Cumulus Linux 的交换机
  • 在交换机上安装 NetQ 代理
  • 验证 NetQ 代理是否为最新版本且运行版本 4.1.0 或更高版本,适用于已安装代理的交换机(单击 Main Menu 菜单,然后单击代理或运行 netq show agents
  • 升级 NetQ 代理(如果需要)

交换机发现

交换机发现会在您的网络中搜索所有 Cumulus Linux 交换机(无论当前是否安装了 NetQ),并确定已安装的 Cumulus Linux 和 NetQ 版本。这些结果可用于在单个过程中在所有发现的交换机上安装或升级 Cumulus Linux 和 NetQ。

如果您打算升级交换机,请使用 UI 生成 AuthKeys。将访问密钥和密钥复制到可访问的位置。您将在稍后的过程中输入 AuthKeys。

要发现运行 Cumulus Linux 的交换机

  1. 展开 菜单,然后选择管理交换机

  2. 在“交换机”卡片上,单击发现

  3. 输入扫描的名称。

  1. 选择您是想通过输入 IP 地址范围来查找交换机,还是使用逗号分隔值 (CSV) 文件导入交换机。

如果您没有交换机列表,则可以手动添加交换机在网络中的地址范围。这样做的好处是可以捕获文件中可能遗漏的交换机。

一个地址范围最多可包含 50 个地址。如有必要,请将范围分解为较小的范围。

要使用地址范围发现交换机

  1. IP 范围字段中输入 IP 地址范围。

    范围可以是连续的,例如 192.168.0.24-64,也可以是非连续的,例如 192.168.0.24-64,128-190,235,但它们必须包含在单个子网内。

  2. (可选)单击 ,输入另一个 IP 地址范围(在不同的子网中)。

    例如,198.51.100.0-128198.51.100.0-128,190,200-253

  3. 根据需要添加其他范围。单击 以删除范围。

如果您决定改用 CSV 文件,则当您再次返回使用 IP 范围时,您输入的范围将保留。

要通过 CSV 文件导入交换机

  1. 单击浏览

  2. 选择包含交换机列表的 CSV 文件。

    CSV 文件必须包含一个标头,其中包含单词“hostname”或“ip”,后跟主机名或 IP 地址的列表。

如果您决定使用其他文件或想改用 IP 地址范围,请单击删除。如果您在选择 CSV 文件选项之前输入了范围,则这些范围将保留。

  1. 从下拉菜单中选择一个访问配置文件。如果您使用 Netq-Default,您将看到一条消息,请求您创建或更新您的凭据

  2. 单击下一步

    当网络发现完成后,NetQ 会显示它找到的 Cumulus Linux 交换机的数量。每个交换机都可能属于以下类别之一

    • 未安装 NetQ 的已发现交换机:找到的未安装 NetQ 的交换机
    • 已安装 NetQ 的已发现交换机:找到的已安装某个版本的 NetQ 的交换机
    • 已发现但已损坏的交换机:找到的不可达的交换机
    • 凭据不正确:找到的不可达的交换机,因为提供的访问凭据与这些交换机的凭据不匹配
    • 操作系统不受支持:找到的交换机正在运行 LCM 升级不支持的 Cumulus Linux 版本
    • 未发现:没有关联 Cumulus Linux 交换机的 IP 地址

执行交换机发现后,您可以安装或升级 Cumulus Linux 和 NetQ。

使用 netq lcm discover 命令,指定单个 IP 地址、交换机在网络中的 IP 地址范围或包含 IP 地址的 CSV 文件。

您还必须指定访问配置文件 ID,可以使用 netq lcm show credentials 命令获取。

cumulus@switch:~$ netq lcm discover ip-range 192.168.0.15 profile_id credential_profile_d9e875bd2e6784617b304c20090ce28ff2bb46a4b9bf23cda98f1bdf911285c9
    NetQ Discovery Started with job id: job_scan_9ea69d30-e86e-11ee-b32d-71890ec96f40

当网络发现完成后,运行 netq lcm show discovery-job 并包含您从上一个命令中获得的作业 ID。如果您未指定作业 ID,则输出将包含来自所有发现作业的所有作业 ID 的列表。

cumulus@switch:~$ netq lcm show discovery-job job_scan_9ea69d30-e86e-11ee-b32d-71890ec96f40
Scan COMPLETED

Summary
-------
Start Time: 2024-03-22 17:10:56.363000
End Time: 1970-01-01 00:00:00.000000
Total IPs: 1
Completed IPs: 1
Discovered without NetQ: 0
Discovered with NetQ: 0
Incorrect Credentials: 0
OS Not Supported: 0
Not Discovered: 0

Hostname          IP Address                MAC Address        CPU      CL Version  NetQ Version  Config Profile               Discovery Status
----------------- ------------------------- ------------------ -------- ----------- ------------- ---------------------------- ----------------
noc-pr            192.168.0.15              00:01:00:00:11:00  x86_64   5.8.0       4.8.0         []                           WITH_NETQ_ROTTEN

NetQ 显示其找到的 Cumulus Linux 交换机的数量。输出显示其发现状态,可以是以下状态之一

  • 未安装 NetQ 的已发现交换机:找到的未安装 NetQ 的交换机
  • 已安装 NetQ 的已发现交换机:找到的已安装某个版本的 NetQ 的交换机
  • 已发现但已损坏:找到的不可达的交换机
  • 凭据不正确:找到的不可达的交换机,因为提供的访问凭据与这些交换机的凭据不匹配
  • 操作系统不受支持:找到的交换机正在运行 LCM 升级功能不支持的 Cumulus Linux 版本
  • 未发现:没有关联 Cumulus Linux 交换机的 IP 地址

执行交换机发现后,您可以使用相应的 netq lcm 命令安装或升级 Cumulus Linux 和 NetQ。

角色管理

您可以为交换机分配四个角色之一:超级脊、脊、叶和出口。

交换机角色标识交换机依赖关系并确定交换机升级的顺序。升级过程从分配了超级脊角色的交换机开始,然后继续升级脊交换机、叶交换机、出口交换机,最后升级未分配角色的交换机。具有给定角色的所有交换机的升级都必须成功,然后升级才能继续进行到具有最近依赖角色的交换机。

角色分配是可选的,但建议使用。分配角色可以防止交换机由于交换机之间或单个附件之间的依赖关系而变得不可达。此外,当您部署 MLAG 对时,分配的角色可以避免升级冲突。

为交换机分配角色

  1. 在“交换机”卡片上,单击管理

  2. 选择一台或多台要分配到同一角色的交换机。对于具有许多设备的大型网络,您可以通过选择批量分配角色并基于设备主机名创建规则来批量分配角色。

  3. 在表格上方,选择 Assign Role 分配角色

  4. 选择适用于所选交换机的角色(超级脊、叶、脊或出口)。

  5. 单击分配

    请注意,角色列已更新为分配给所选交换机的角色。要返回完整的交换机列表,请单击全部

  6. 继续选择交换机并分配角色,直到大多数或所有交换机都分配了角色。

要为一个或多个交换机添加角色,请运行

netq lcm add role (superspine | spine | leaf | exit) switches <text-switch-hostnames>

对于单个交换机,运行

netq lcm add role leaf switches leaf01

要为多个交换机分配相同的角色,请用逗号分隔主机名(无空格)。此示例配置 leaf01leaf04 交换机,角色为叶

netq lcm add role leaf switches leaf01,leaf02,leaf03,leaf04

要查看所有交换机角色,请运行

netq lcm show switches [version <text-cumulus-linux-version>] [json]

使用 version 选项仅显示具有给定网络操作系统版本 X.Y.Z 的交换机。

角色列显示分配的角色

cumulus@switch:~$ netq lcm show switches
Hostname          Role       IP Address                MAC Address        CPU      CL Version  NetQ Version  Config Profile               Credential Profile                   Last Changed
----------------- ---------- ------------------------- ------------------ -------- ----------- ------------- ---------------------------- ------------------------------------ -------------------------
noc-pr                       192.168.0.15              00:01:00:00:11:00  x86_64   5.8.0       4.8.0-cl4u44~ []                           Netq-Default                         Thu Mar 14 05:34:57 2024
                                                                                               1699073372.80
                                                                                               e664937
noc-se                       192.168.0.15              00:01:00:00:12:00  x86_64   5.8.0       4.8.0-cl4u44~ []                           Netq-Default                         Thu Mar 14 05:35:27 2024
                                                                                               1699073372.80
                                                                                               e664937
spine-1           spine      192.168.0.15              00:01:00:00:13:00  x86_64   5.8.0       4.8.0-cl4u44~ []                           Netq-Default                         Thu Mar 14 05:35:27 2024
                                                                                               1699073372.80
                                                                                               e664937
spine-2           spine      192.168.0.15              00:01:00:00:14:00  x86_64   5.8.0       4.8.0-cl4u44~ []                           Netq-Default                         Thu Mar 14 05:35:27 2024
                                                                                               1699073372.80
                                                                                               e664937
spine-3           spine      192.168.0.15              00:01:00:00:15:00  x86_64   5.8.0       4.8.0-cl4u44~ []                           Netq-Default                         Thu Mar 14 05:35:27 2024
                                                                                               1699073372.80
                                                                                               e664937
tor-2                        192.168.0.15              00:01:00:00:17:00  x86_64   5.8.0       4.8.0-cl4u44~ []                           Netq-Default                         Thu Mar 14 05:35:27 2024
                                                                                               1699073372.80
                                                                                               e664937
exit-1            exit       192.168.0.15              00:01:00:00:01:00  x86_64   5.8.0       4.8.0-cl4u44~ []                           Netq-Default                         Thu Mar 14 05:35:27 2024
                                                                                               1699073372.80
                                                                                               e664937
exit-2            exit       192.168.0.15              00:01:00:00:02:00  x86_64   5.8.0       4.8.0-cl4u44~ []                           CL-auth-profile                      Wed Mar 20 16:03:15 2024

重新为交换机分配角色

  1. 在“交换机”卡片上,单击管理

  2. 从列表中选择角色不正确的交换机。

  3. 单击 Assign Role 分配角色

  4. 选择正确的角色。要使交换机保持未分配状态,请选择无角色

  5. 单击分配

您可以使用相同的命令来分配角色和更改角色。

对于单个交换机,运行

netq lcm add role exit switches border01

要为多个交换机分配相同的角色,请用逗号分隔主机名(无空格)。例如

cumulus@switch:~$ netq lcm add role exit switches border01,border02

使用 NetQ 托管 ZTP 脚本

您可以在 NetQ VM 上托管 零接触配置 (ZTP) 脚本,以配置运行 Cumulus Linux 的交换机。要托管 ZTP 脚本,请将脚本复制到您的 NetQ 服务器,并在 netq lcm add ztp-script CLI 命令中引用您复制到的路径

cumulus@netq-server:~$ netq lcm add ztp-script /home/cumulus/ztp.sh
ZTP script ztp.sh uploaded successfully and can be downloaded from http://10.10.10.10/lcm/asset/ztp.sh
cumulus@netq-server:~$ 

该命令的输出将提供在 DHCP 服务器选项 239 配置中使用的 URL,以指示交换机检索脚本。如果您想将 NetQ VM 用作 DHCP 服务器,则可以使用默认安装的 Kea DHCP 服务器软件包

要列出当前添加到 NetQ 的脚本及其下载 URL 和脚本标识号,请使用 netq lcm show ztp-scripts 命令。您可以使用 netq lcm del ztp-script <text-ztp-script-id> 命令从 NetQ 中删除 ZTP 脚本。

cumulus@netq-server:~$ netq lcm show ztp-scripts json
[
    {
        "scriptId": "file_e96b2807bdb2c77c89334d03952097dd2224a25df68a6e91d6ab19fc9c265974",
        "scriptName": "ztp1.sh",
        "generatedDownloadUrl": http://10.10.10.10/lcm/asset/ztp.sh
    }
]

cumulus@netq-server:~$ netq lcm del ztp-script file_e96b2807bdb2c77c89334d03952097dd2224a25df68a6e91d6ab19fc9c265974
ZTP script ztp1.sh successfully deleted 

使用 LCM 停用交换机

停用交换机或主机将从 NetQ 数据库中删除有关交换机或主机的信息。当 NetQ 代理在稍后日期重新启动时,它会向数据库发回连接请求,以便 NetQ 可以再次监控交换机或主机。

  1. 从 LCM 仪表板中,导航到交换机管理选项卡。

  2. 在“交换机”卡片上,选择管理

  3. 选择要停用的设备,然后在表格上方选择停用设备

如果您尝试停用分配了默认的、未修改的访问配置文件的交换机,则该过程将失败。创建一个唯一的访问配置文件(或使用唯一的凭据更新默认配置文件),然后将配置文件附加到要停用的交换机。

  1. 确认要停用的设备。

  2. 等待停用过程完成,然后选择完成

要停用交换机或主机

  1. 在给定的交换机或主机上,停止并禁用 NetQ 代理服务

    cumulus@switch:~$ sudo systemctl stop netq-agent
    cumulus@switch:~$ sudo systemctl disable netq-agent
    
  2. 在 NetQ 设备或 VM 上,停用交换机或主机

    cumulus@netq-appliance:~$ netq decommission <hostname-to-decommission>