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 交换机映像。

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

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

注意:

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

整个 XML 文件 vjunos.xml 与虚拟机映像和相关文档一起可在 vJunos Lab 软件下载 页面上下载。

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

  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 交换机的用户标识(通常是根用户)也必须可写实时映像。

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

    以下节指定提供给 vJunos 的核心数。所需的最小内核数为 4 个,足以满足实验室用例的需求。

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

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

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

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

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

  7. 创建磁盘映像。

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

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

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

    注意:

    如果您不喜欢初始配置,请从 XML 文件中删除上述节。

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

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

    您需要通过 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 VM。

    # virsh create vjunos-sw1.xml

    术语“sw1”用于表示这是要安装的第一个 vJunos 交换机虚拟机。后续虚拟机可以命名为 vjunos-sw2 和 vjunos-sw3,依此类推。

    结果,将创建 VM,并显示以下消息:

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

  13. 检查/etc/libvirt/qemu.conf并取消注释以下 XML 行是否已注释掉这些行。

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

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

    执行此步骤时,发送到 vJunos 交换机实例的关机信号允许其正常关机。

    将显示以下消息。

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

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

    如果 VM 在使用“virsh destroy”命令后停止引导,请创建提供的原始 QCOW2 映像的实时 QCOW2 磁盘副本。

验证 vJunos 交换机虚拟机

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

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

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

    注意:

    对于驻留在主机服务器上的每个 vJunos 交换机虚拟机,telnet 端口号必须是唯一的。

  3. 禁用自动映像升级。

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

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

    “自动映像升级”

    您可以按如下方式禁用这些消息:

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

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

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