使用 virsh 程序预配 NetScaler VPX 实例

Last published : Oct 06, 2026
virsh 程序是一个用于管理 VM Guest 的命令行工具。其功能类似于 Virtual Machine Manager。它使您能够更改 VM Guest 的状态(启动、停止、暂停等)、设置新的 Guest 和设备,以及编辑现有配置。virsh 程序对于编写 VM Guest 管理操作脚本也很有用。
要使用 virsh 程序预配 NetScaler VPX,请按照以下步骤操作:
  1. 使用 tar 命令解压 NetScaler VPX 软件包。NSVPX-KVM-*\_nc.tgz 软件包包含以下组件:
    • 指定 VPX 属性的域 XML 文件 \[NSVPX-KVM-*\_nc.xml\]
    • NS-VM 磁盘映像的校验和 \[Checksum.txt\]
    • NS-VM 磁盘映像 \[NSVPX-KVM-*\_nc.raw\]
    示例:
    tar -xvzf NSVPX-KVM-10.1-117_nc.tgz
    NSVPX-KVM-10.1-117_nc.xml
    NSVPX-KVM-10.1-117_nc.raw
    checksum.txt
  2. 将 NSVPX-KVM-&ast;\_nc.xml XML 文件复制到名为 \<DomainName\>-NSVPX-KVM-&ast;\_nc.xml 的文件。\&lt;DomainName\> 也是虚拟机的名称。示例:
    cp NSVPX-KVM-10.1-117_nc.xml NetScaler-VPX-NSVPX-KVM-10.1-117_nc.xml
  3. 编辑 \<DomainName\>-NSVPX-KVM-&ast;\_nc.xml 文件以指定以下参数:
    • name— 指定名称。
    • Mac— 指定 MAC 地址。
      注意:
      域名和 MAC 地址必须是唯一的。
    • source file— 指定绝对磁盘映像源路径。文件路径必须是绝对路径。您可以指定 RAW 映像文件或 QCOW2 映像文件的路径。
      如果您想指定一个 RAW 镜像文件,请按以下示例所示指定磁盘镜像源路径:
      示例:
      <name>NetScaler-VPX</name>
      <mac address='52:54:00:29:74:b3'/>
      <source file='/root/NSVPX-KVM-10.1-117_nc.raw'/>
      指定绝对 QCOW2 磁盘镜像源路径,并将驱动程序类型定义为 qcow2,如以下示例所示:
      示例:
      <name>NetScaler-VPX</name>
      <mac address='52:54:00:29:74:b3'/>
      <driver name ='qemu' type='qcow2'/>
      <source file='/root/NSVPX-KVM-10.1-117_nc.qcow'/>*
  4. 编辑 \<DomainName\>-NSVPX-KVM-&ast;\_nc.xml 文件以配置网络详细信息:
    • source dev— 指定接口。
    • mode— 指定模式。默认接口为 Macvtap Bridge。
    示例:模式:MacVTap Bridge 将目标接口设置为 ethx,模式设置为 bridge,模型类型设置为 virtio
    <interface type='direct'>
        <mac address='52:54:00:29:74:b3'/>
        <source dev='eth0' mode='bridge'/>
        <target dev='macvtap0'/>
        <model type='virtio'/>
        <alias name='net0'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
      </interface>
    此处,eth0 是连接到 VM 的物理接口。
  5. 使用以下命令在 \<DomainName\>-NSVPX-KVM-&ast;\_nc.xml 文件中定义 VM 属性:
    virsh define \<DomainName\>-NSVPX-KVM-\*\_nc.xml
    示例:

    virsh define NS-VPX-NSVPX-KVM-10.1-117_nc.xml
  6. 通过输入以下命令启动 VM:
    virsh start \[\<DomainName\> | \<DomainUUID\>\]
    示例:
    virsh start NetScaler-VPX
  7. 通过控制台连接访客 VM:
    virsh console \[\<DomainName\> | \<DomainUUID\> |\<DomainID\> \]
    示例:
    virsh console NetScaler-VPX

使用 virsh 程序向 NetScaler VPX 实例添加更多接口

在 KVM 上预置 NetScaler VPX 后,您可以添加额外的接口。
要添加更多接口,请按照以下步骤操作:
  1. 关闭在 KVM 上运行的 NetScaler VPX 实例。
  2. 使用以下命令编辑 \<DomainName\>-NSVPX-KVM-&ast;\_nc.xml 文件:
    virsh edit \[\<DomainName\> | \<DomainUUID\>\]
  3. 在 \<DomainName\>-NSVPX-KVM-&ast;\_nc.xml 文件中,追加以下参数:
    1. 对于 MacVTap
      • 接口类型 — 将接口类型指定为“direct”。
      • MAC 地址 — 指定 MAC 地址,并确保 MAC 地址在所有接口中是唯一的。
      • 源设备 — 指定接口名称。
      • 模式 — 指定模式。支持的模式有 - Bridge、VEPA、Private 和 Pass-through
      • 模型类型 — 将模型类型指定为 virtio
      示例:
      模式:MacVTap 直通
      将目标接口设置为 ethx,模式设置为 bridge,模型类型设置为 virtio
      <interface type='direct'>
            <mac address='52:54:00:29:74:b3'/>
            <source dev='eth1' mode='passthrough'/>
            <model type='virtio'/>
       </interface>
      这里 eth1 是连接到 VM 的物理接口。
    2. 对于桥接模式
      注意:
      请确保您已在 KVM 主机中配置了 Linux 网桥,将物理接口绑定到该网桥,并将网桥置于 UP 状态。
      • 接口类型 — 将接口类型指定为“bridge”。
      • MAC 地址 — 指定 MAC 地址,并确保 MAC 地址在所有接口中是唯一的。
      • 源网桥 — 指定网桥名称。
      • 模型类型 — 将模型类型指定为 virtio
      示例:桥接模式
      <interface type='bridge'>
            <mac address='52:54:00:2d:43:a4'/>
            <source bridge='br0'/>
            <model type='virtio'/>
       </interface>