If you plan to use KVM as a transport node or as a host for NSX Manager guest VM, but you do not already have a KVM setup, you can use the procedure described here.

Note: The Geneve encapsulation protocol uses UDP port 6081. You must allow this port access in the firewall on the KVM host.

Procedure

  1. (Only RHEL) Open the /etc/yum.conf file.
  2. Search for the line exclude.
  3. Add the line "kernel* redhat-release*" to configure YUM to avoid any unsupported RHEL upgrades.

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

    If you plan to run NSX-T Data Center Container Plug-in, which has specific compatibility requirements, exclude the container-related modules as well.

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

    The supported RHEL versions are 7.7 and 8.2.
  4. Install KVM and bridge utilities.
    Linux Distribution Commands
    Ubuntu
    apt-get install -y qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils virtinst virt-manager virt-viewer libguestfs-tools
    RHEL or CentOS Linux
    yum groupinstall "Virtualization Hypervisor"
    yum groupinstall "Virtualization Client"
    yum groupinstall "Virtualization Platform"
    yum groupinstall "Virtualization Tools"
    SUSE Linux Enterprise Server Start YaSt and select Virtualization > Install Hypervisor and Tools.

    YaSt allows you to automatically enable and configure the network bridge.

  5. For NSX manager to automatically install NSX software packages on KVM host, prepare the network configuration of the uplink/data interface.

    The KVM host can have multiple network interfaces. For the network interface that you plan to provide as an uplink interface (data interface) for NSX-T purposes, it is important to have network configuration files correctly populated. NSX-T looks at these network configuration files to create NSX-T specific network devices. On Ubuntu, populate /etc/network/interfaces file. On RHEL, CentOS, or SUSE, populate the /etc/sysconfig/network-scripts/ifcfg-$uplinkdevice file.

    In the following examples, interface "ens32" is the uplink device (data interface). Depending on your deployment environment, this interface can use DHCP or static IP settings.

    Note: Interface names might vary in different environments.
    Important: For Ubuntu, all network configurations must be specified in /etc/network/interfaces. Do not create individual network configuration files such as /etc/network/ifcfg-eth1, which can lead to failure of transport node creation.
    Linux Distribution Network Configuration
    Ubuntu

    Edit /etc/network/interfaces:

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

    Edit /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

    If a SLES host already exists, verify that data interfaces is already configured on the host.

    If you do not have a pre-configured SLES host, see the reference configuration for the management and data interface.

    Edit /etc/sysconfig/network/ifcfg-ens32:

    DEVICE="ens32"
    NAME="ens32"
    UUID="<UUID>"
    BOOTPROTO="none"
    LLADDR="<HWADDR>"
    STARTMODE="yes"
  6. Restart networking service systemctl restart network or reboot the Linux server for the networking changes take effect.
  7. After the KVM host is configured as a transport node, the bridge interface 'nsx-vtep0.0' is automatically created by NSX-T.

    In Ubuntu, the /etc/network/interfaces file has entries such as the following:

    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

    In RHEL, the host NSX agent (nsxa) creates a configuration file named ifcfg-nsx-vtep0.0 that has entries such as the following:

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

    In 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
  8. Configure the syslog rotation policy as time-based instead of size-based policy. With a size-based syslog rotation policy, the log files generated might be of very large sizes.