如果计划将 KVM 用作传输节点或 NSX Manager 客户机虚拟机的主机,但尚未设置 KVM,您可以使用此处介绍的过程。

注: Geneve 封装协议使用 UDP 端口 6081。您必须在 KVM 主机上的防火墙中允许该端口访问。

过程

  1. (仅限 RHEL)打开 /etc/yum.conf 文件。
  2. 搜索行 exclude
  3. 添加行 "kernel* redhat-release*" 以配置 YUM 来避免任何不受支持的 RHEL 升级。

    exclude=[existing list] kernel* redhat-release*

    如果计划运行具有特定兼容性要求的 NSX-T Data Center Container Plug-in,还要排除容器相关模块。

    exclude=[existing list] kernel* redhat-release* kubelet-* kubeadm-* kubectl-* docker-*

    受支持的 RHEL 版本是 7.6 和 7.7。
  4. 安装 KVM 和桥接实用程序。
    Linux 发布版本 命令
    Ubuntu
    apt-get install -y qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils virtinst virt-manager virt-viewer libguestfs-tools
    RHEL 或 CentOS Linux
    yum groupinstall "Virtualization Hypervisor"
    yum groupinstall "Virtualization Client"
    yum groupinstall "Virtualization Platform"
    yum groupinstall "Virtualization Tools"
    SUSE Linux Enterprise Server 启动 YaSt,然后选择 Virtualization (虚拟化) > Install Hypervisor and Tools (安装管理程序和工具)

    通过使用 YaSt,您可以自动启用和配置网桥。

  5. 要使 NSX manager 在 KVM 主机上自动安装 NSX 软件包,请准备好上行链路/数据接口的网络配置。

    KVM 主机可以拥有多个网络接口。对于出于 NSX-T 目的而计划作为上行链路接口(数据接口)提供的网络接口,请务必正确填充网络配置文件。NSX-T 将读取这些网络配置文件以创建 NSX-T 特定的网络设备。在 Ubuntu 上,填充 /etc/network/interfaces 文件。在 RHEL、CentOS 或 SUSE 上,填充 /etc/sysconfig/network-scripts/ifcfg-$uplinkdevice 文件。

    在以下示例中,接口“ens32”是上行链路设备(数据接口)。根据您的部署环境,该接口可以使用 DHCP 或静态 IP 设置。

    注: 在不同的环境中,接口名称可能会有所不同。
    重要事项: 对于 Ubuntu,必须在 /etc/network/interfaces 中指定所有网络配置。不要创建单独的网络配置文件(如 /etc/network/ifcfg-eth1),这可能会导致传输节点创建失败。
    Linux 发布版本 网络配置
    Ubuntu

    编辑 /etc/network/interfaces

    auto eth0
    iface eth0 inet manual
    
    auto ens32
    iface ens32 inet manual
    RHEL 或 CentOS Linux

    编辑 /etc/sysconfig/network-scripts/ifcfg-ens32

    DEVICE="ens32"
      TYPE="Ethernet"
      NAME="ens32"
      UUID="<something>"
      BOOTPROTO="none"
      HWADDR="<something>"
      ONBOOT="yes"
      NM_CONTROLLED="no"
    SUSE Linux Enterprise Server

    如果 SLES 主机已经存在,请确认已在主机上配置了数据接口。

    如果没有预先配置的 SLES 主机,请参见管理和数据接口的引用配置。

    编辑 /etc/sysconfig/network/ifcfg-ens32:

    DEVICE="ens32"
    NAME="ens32"
    UUID="<UUID>"
    BOOTPROTO="none"
    LLADDR="<HWADDR>"
    STARTMODE="yes"
  6. 重新启动网络连接服务 systemctl restart network,或者重新引导 Linux 服务器,以使网络连接更改生效。
  7. 在将 KVM 主机配置为传输节点后,NSX-T 将自动创建网桥接口“nsx-vtep0.0”。

    在 Ubuntu 中,/etc/network/interfaces 文件具有如下条目:

    iface nsx-vtep0.0 inet static
    pre-up ip addr flush dev nsx-vtep0.0
    address <IP_pool_address>
    netmask <subnet_mask>
    mtu 1600
    down ifconfig nsx-vtep0.0 down
    up ifconfig nsx-vtep0.0 up

    在 RHEL 中,主机 NSX 代理 (nsxa) 会创建一个名为 ifcfg-nsx-vtep0.0 的配置文件,其中包含如下条目:

    DEVICE=nsx-vtep0.0
    BOOTPROTO=static
    NETMASK=<IP address>
    IPADDR=<subnet mask>
    MTU=1600
    ONBOOT=yes
    USERCTL=no
    NM_CONTROLLED=no

    在 SUSE 中,

    DEVICE=nsx-vtep0.0
    BOOTPROTO=static
    NETMASK=255.255.255.0
    IPADDR=192.168.13.119
    MACADDR=ae:9d:b7:ca:20:4a
    MTU=1600
    USERCTL=no
    STARTMODE=auto