Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Proxmox 虚拟环境

作为另一种选择,您可以考虑在 Proxmox VE 中构建实验室。在内部,EVE-NG、带有 libvirtd 的 Ubuntu 原生 KVM 和 Proxmox VE 上的虚拟机管理程序是相同的。在这三个环境中, QEMU 都运行虚拟机。每个环境都有自己的 CLI 和 GUI,并使用 Debian 或 Ubuntu Linux 发行版。

Proxmox VE 相对于 EVE-NG 和 Ubuntu 原生 KVM with libvirtd 的优势是:

  • 易于构建虚拟机管理程序群集,这限制了单个 BMS 的范围。
  • 易于连接共享存储,例如 Ceph。
  • 使用 SDN 选项在服务器之间虚拟化网络。
  • REST API作您的系统。

Proxmox VE 相对于 EVE-NG 和 Ubuntu 原生 KVM with libvirtd 的缺点是:

  • 构建 UKSM 内核无法保存多个 vJunos 交换机实例的 RAM 使用情况。因此,每个 vJunos 交换机虚拟机都需要 5 GB RAM。
  • 不运行压缩或支持 qcow2 映像,而是在存储选项上将其扩展为原始映像。因此,每个 vJunos 交换机虚拟机都需要 32 GB 的存储空间。

本文档包含使用本地配置的单个Proxmox服务器和标准Linux网桥在Proxmox VE上创建vJunos交换机VM的示例。这有助于与前面描述的其他两个环境进行比较。由于您尚未使用适用于 VM 的 Proxmox GUI,因此在 Proxmox VE 上创建虚拟机更改后,您必须在创建 juniper.conf 映像以及 Linux 桥接和 VM 接口后在本地运行配置更改。借助 CLI 示例,您可以更轻松地将其包含在脚本中以启动多个 vJunos 交换机虚拟机。

注意:

对于具有多个服务器的横向扩展实验室,我们建议使用具有 VXLAN 的 SDN 作为网络传输选项,而不是本地 Linux 网桥。

Proxmox VE准备

安装虚拟机管理程序后,创建用于实验室中的 vJunos 交换机虚拟机和其他计算机的网络。如上面的示例所示,使用 Proxmox GUI 创建标准 Linux 网桥,如下所示的三个,并确保它们被激活。

A screenshot of a computer Description automatically generated

为每个 Linux 网桥分配一个名称,您可以选择将 MTU 设置为 9200。创建 VM 后,可以使用脚本更改 MTU 值。避免填充/更改任何其他值。

A screenshot of a computer Description automatically generated

对于其余所有步骤,请使用服务器的 SSH 在本地运行 BASH 命令。首先,将 vJunos-switch 的 qcow2-image 下载到服务器。

现在,使用 URL: https://support.juniper.net/support/downloads/?p=vjunos 将 vJunos-switch VM 的免费副本下载到目录中,然后验证副本是否已下载。

在 Proxmox VE 上部署 vJunos 交换机虚拟机

注意:

避免使用 Proxmox GUI 创建初始 vJunos 交换机虚拟机,因为 GUI 可能会添加其他参数,从而导致虚拟机无法正常工作。相反,请通过 CLI 创建初始 VM,并将其设置为模板。然后,使用此模板从 GUI 启动所有其他虚拟机。

使用 BASH,在本地服务器上执行后续步骤:

  1. 单独配置 VM:
    1. VM ID/编号。在这个例子中,它是 200.
    2. 运行 VM 映像的存储。在这个例子中,它是存储 local-lvm.
  2. 如果正在运行具有相同 ID 的现有 VM,请删除。如果您犯了错误并希望重试,这将很有用。
  3. 使用所有必需的参数创建新的 vJunos-switch VM,以便稍后正确启动它:
    1. VM 的名称。在示例中, vswitch.您可以更改名称。
    2. RAM 和 CPU。请勿更改。
    3. 此 VM 正确启动所需的特殊 BIOS 和 CPU 选项。请勿更改选项。
    4. 启动顺序和串行屏幕。请勿更改。
    5. 首先是分配给 VM 的 fxp0 接口的网络 net0 。如果需要,请进行更改,但请确保网络可以为 VM 提供 DHCP 租约。
    6. 其次,更多以 net1开头的网络,这将是 vJunos-switch 虚拟机的接口 ge-0/0/0 。您将需要根据您的实验室设计使用更多接口和其他 Linux 网桥进行更改。我们建议您保留每个接口的选项 firewall=0 ,以免使内部设计过于复杂。
  4. 将 vJunos-switch qcow2-image 导入到选定的存储选项中。您可能需要更改 vJunos-switch qcow2 映像文件位置。
  5. 导入要提取到 BASH 变量的配置映像位置。
  6. 将映像位置添加到创建的 VM 以从中启动。
  7. 使用为此 VM 的初始 Junos OS 配置创建默认 juniper.conf 值。
  8. make-config.sh使用脚本创建嵌入个人juniper.conf文件的图像。
  9. 将 Junos OS 配置映像导入到选定的存储选项。
  10. 导入要提取到 BASH 变量的配置映像位置。
  11. 将配置映像位置添加到创建的 VM。
  12. 检查并查看 VM 的完整配置。
  13. 可选:将虚拟机用作未来启动 vJunos-switch 的模板:
    1. 将当前 VM 定义为模板。
    2. 为克隆选择新的 VMID。
    3. 创建克隆 VM 以供以后使用。
    4. 如果需要,请更改克隆的接口分配。
  14. 启动 VM 或其克隆。
  15. 在本地查看已启动 VM 的 Linux 网桥分配。
  16. 在 Proxmox GUI 上查看 VM 是否已启动,然后访问控制台。

查看 vJunos-switch 的默认 Junos OS 配置一章。本章将指导您为 vJunos 交换机虚拟机创建单独的 Junos OS 配置,这在其他环境中也类似。本章还将指导您添加采用配置,以便让每个新的 vJunos 交换机虚拟机自动显示在 Mist 云清单中。在这里,在不重复相同的步骤的情况下,您对远程 SSH 访问使用了与 fxp0 接口上的密码ABC123相同的root最小启动配置。

此时,您必须已创建单独的 Junos OS 启动配置并继续该过程。

现在,我们所有的准备工作都已经完成。可以查看生成的 VM 配置。

由于 VM 不包含任何凭据或其他限制因素,因此请在首次启动此 VM 之前将其用作模板。这允许您稍后以完整或链接到映像克隆的形式启动多个 VM。如果您决定继续,请按照以下步骤作。

如果您尚未决定不使用模板/克隆,请立即启动第一个 vJunos-switch 虚拟机进行测试。

您现在可以在 Proxmox GUI 中查看 VM 控制台。请确保使用正确的按钮,以避免对路由引擎上的外部 VM 屏幕进行任何更改。路由引擎是所有 Junos OS 配置的开始地点,并且具有自己的屏幕。请参见下图,了解要选择的控制台选项。

A screenshot of a computer Description automatically generated

Linux 网桥和虚拟机接口在 Proxmox VE 上创建虚拟机后的更改

启动 vJunos 交换机虚拟机并不能满足大多数实验室的需求。每次启动新 VM 后,都必须调整示例中使用的标准 Linux 网桥。有关详细说明,请参阅 Linux 桥接和 VM 接口在虚拟机创建后更改一章。因此,您无需在此处重复。EVE-NG 会自动管理这些调整。

Proxmox VE 不会通过本地 CLI 提供虚拟机接口详细信息及其名称。但是,这些详细信息可在 GUI 的 REST API 中找到。使用提供的命令pvesh,可以轻松访问虚拟机接口,并提取有关已创建虚拟机接口的基于JSON的信息。因此,使用 pveshjq 命令以及常规 BASH 编程更容易重建新脚本vm-bridge-update.sh。请参阅如下所示的说明。

将以下配置复制并粘贴到您的编辑器中。然后,保存并关闭。

使用新脚本,现在可以在 VM 启动后更新 VM 的 Linux 网桥和接口。所选 API 的第一个节点适用于单个 Proxmox VE 安装。如果您有群集,则可能需要更改上述脚本。

要验证 Linux 网桥增强功能的第一个测试,请检查来自 vJunos 交换机虚拟机的 LLDP 邻接方公告。 juniper.conf 使用说明但没有调整,您不会看到使用 tcpdump ) 的公告。请参阅以下示例。

要执行最终测试,请启动与第一个虚拟机 1:1 连接的第二个 vJunos 交换机。然后,在两个 VM 之间建立具有活动 LACP 的 LAG。Mist 云 GUI 中两个虚拟交换机的配置如下所示。

A screenshot of a computer Description automatically generated

如果在 vJunos 交换机控制台上进行本地检查,应该会看到两台交换机之间存在 LLDP 邻接方和已建立的 LACP 链路。此步骤将验证您的实验室是否按预期工作。