Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

在 KVM 上部署和管理 vJunos 交换机

总结 阅读本主题,了解如何在安装 vJunos 交换机实例后进行部署和管理。

本主题将介绍:

  • 如何使用 libvirt 在 KVM 服务器上启动 vJunos 交换机。

  • 如何选择 CPU 和内存量,设置连接所需的桥接,以及配置串行端口。

  • 如何将相关 XML 文件部分用于前面列出的配置和选择。

    注意:

    从瞻博网络网站下载示例 XML 文件和 vJunos-switch 图像。

在主机服务器上设置 vJunos 交换机部署

本主题介绍如何在主机服务器上设置 vJunos 交换机部署。

注意:

本主题仅重点介绍 XML 文件中用于通过 libvirt 部署 vJunos 交换机的几个部分。

整个 XML 文件 vjunos.xmlvJunos 实验室软件下载 页面上的虚拟机映像和相关文档一起可供下载。

如果软件包尚未安装,请安装“最低软件要求”部分提到的软件包。请参阅 最低硬件和软件要求

  1. 为计划使用的 vJunos 交换机的每个千兆以太网接口创建一个 Linux 网桥。

    # ip link add ge-000 type bridge

    # ip link add ge-001 type bridge

    在这种情况下,实例将配置 ge-0/0/0 和 ge-0/0/1。

  2. 启动每个 Linux 网桥。

    ip link set ge-000 up

    ip link set ge-001 up

  3. 对提供的 QCOW2 vJunos 映像制作一份实时磁盘副本。

    # cd /root

    # cp vjunos-switch-23.1R1.8.qcow2 vjunos-sw1-live.qcow2

    为您计划部署的每个 vJunos 创建一份不同的副本。这能确保您不会对原始图像进行任何永久更改。实时映像还必须由部署 vJunos 交换机的用户id(通常是 root 用户)可写。

  4. 通过修改以下部分指定提供给 vJunos 的核心数。

    以下部分用于指定向 vJunos 提供的核心数量。最低需要的核心数为 4,足以用于实验室用例。

    所需的默认核心数为 4,足以满足大多数应用的需求。这是 vJunos 交换机支持的最低 CPU。您可以将 CPU 模型保留为 IvyBridge。更高一代的 Intel CPU 也将使用此设置。

  5. 如果需要,通过修改以下节来增加内存。

    以下示例显示了 vJunos 交换机所需的默认内存。默认内存足以满足大多数应用程序的需求。如果需要,您可以增加值。它还显示了要生成的特定 vJunos 交换机的名称,即本案例中的 vjunos-sw1

  6. 通过修改 XML 文件,指定 vJunos 交换机映像的名称和位置,如以下示例所示。

    您必须为主机上的每个 vJunos 虚拟机提供其自己唯一命名的 QCOW2 映像。这是 libvirt 和 QEMU-KVM 所必需的。

  7. 创建磁盘映像。

    # ./make-config.sh <juniper.conf> <config.qcow2>

    vJunos 交换机通过将另一个磁盘连接到包含该配置的 VM 实例来接受初始配置。使用提供的脚本 make-config.sh 创建磁盘映像。

    XML 文件引用此配置驱动器,如下所示:

    注意:

    如果您不希望进行初始配置,请从 XML 文件中移除上述节。

  8. 设置管理以太网端口。

    此示例允许您连接到 VCP“fxp0”,该 VCP“fxp0”是 vJunos 交换机所在的主机服务器外部的管理端口。

    您需要通过 DHCP 服务器或使用标准 CLI 配置为 fxp0 配置配置一个可路由的 IP 地址。

    以下部分的“eth0”是指提供与外部环境连接的主机服务器接口,应与主机服务器上此接口的名称匹配。

    如果未使用动态主机配置协议 (DHCP),则在 vJunos 交换机启动并运行后,telnet 到其控制台,并使用 CLI 配置为“fxp0”配置 IP 地址,如下所示:

    注意:

    以下配置只是示例或示例配置片段。您可能还需要设置静态路由配置。

    # set interfaces fxp0 unit 0 family inet address 10.92.249.111/23

    # set routing-options static route 0.0.0.0/0 next-hop 10.92.249.254
  9. 对 VCP 管理端口启用 SSH。

    # set system services ssh root-login allow 命令。

  10. 为在 XML 文件中指定的每个端口创建一个 Linux 网桥。

    端口名称在以下各节中指定。vJunos 交换机的约定是使用 ge-0xy,其中“xy”指定实际端口号。在以下示例中,ge-000 和 ge-001 是端口号。这些端口号将分别映射到 Junos ge-0/0/0 和 ge-0/0/1 接口。如前所述,您需要为在 XML 文件中指定的每个端口创建一个 Linux 网桥。

  11. 为主机服务器上的每台 vJunos 交换机提供唯一的串行控制台端口号。

    在以下示例中,唯一串行控制台端口号为“8610”。

    请勿修改以下 smbios 节。它会告诉 vJunos 这是一个 vJunos 交换机

  12. 使用 vJunos-sw1.xml 文件创建 vJunos-sw1 虚拟机。

    # virsh create vjunos-sw1.xml

    术语“sw1”用于表示这是安装的第一个 vJunos-switch 虚拟机。后续虚拟机可以命名为 vjunos-sw2 和 vjunos-sw3 等。

    因此,将创建虚拟机并显示以下消息:

    从 vjunos-sw1.xml 创建的域 vjunos-sw1

  13. 在这些行被注释掉时,请检查/etc/libvirt/qemu.conf并取消注释以下 XML 行。

    下面给出了一些有效值的示例。取消对指定行的注释。

  14. 重新启动并再次创建 vJunos 交换机虚拟机。
    # systemctl restart libvirtd
  15. 安全关闭主机服务器上部署的 vJunos 交换机(如果需要)。# virsh shutdown vjunos-sw1使用命令关闭 vJunos 交换机。

    执行这一步时,发送至 vJunos 交换机实例的关闭信号允许其正常关闭。

    将显示以下消息。

    域“vjunos-sw1”正在关闭
    注意:

    请勿使用“virsh 销毁”命令,因为此命令会损坏 vJunos 交换机虚拟机盘。

    如果虚拟机在使用“virsh 销毁”命令后停止启动,请为提供的原始 QCOW2 映像创建一个实时 QCOW2 磁盘副本。

验证 vJunos 交换机 VM

本主题介绍如何验证 vJunos 交换机是否已启动并运行。

  1. 验证 vJunos 交换机是否已启动并运行。
    # virsh list
  2. 连接到 VCP 的串行控制台。

    您可以从 XML 文件中找到要连接到 VCP 串行控制台的端口。此外,您还可以通过在 XML 配置文件中指定端口号的“telnet localhost <portnum>”登录 VCP 的串行控制台:

    注意:

    对于位于主机服务器上的每个 vJunos 交换机虚拟机,telnet 端口号需要是唯一的。

  3. 禁用自动映像升级。

    如果您未在上述步骤中提供任何初始 Junos 配置,则默认情况下,vJunos 交换机将尝试使用 DHCP 进行初始网络设置。

    如果没有可以提供 Junos 配置的 DHCP 服务器,可能会收到重复的消息,如下所示:

    “自动映像升级”

    您可以按如下所示禁用这些消息:

  4. 验证 vJunos-switch xml 文件中指定的 ge 接口是否已启动且是否可用。show interfaces terse使用命令。

    例如,如果 vJunos-switch XML 定义文件指定了两个连接到“ge-000”和“ge-001”的虚拟 NIC,则当您使用 show interface output 下面所示的命令进行验证时,ge-0/0/0/1 接口应处于链路“up”状态。

  5. 验证是否已配置了每个相应“ge”桥接下的 vnet 内接口。启动 brctl vJunos 交换机后,在主机服务器上使用命令,如下所示: