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

Procedure

  1. 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

    RHEL

    yum groupinstall "Virtualization Hypervisor"
    yum groupinstall "Virtualization Client"
    yum groupinstall "Virtualization Platform"
    yum groupinstall "Virtualization Tools"
  2. Check the hardware virtualization capability.
    cat /proc/cpuinfo | egrep "vmx|svm"

    The output should contain vmx.

  3. Make sure that the KVM module is installed.

    Linux Distribution

    Commands

    Ubuntu

    kvm-ok
    
    INFO: /dev/kvm exists
    KVM acceleration can be used

    RHEL

    lsmod | grep kvm
    
    kvm_intel              53484  6
    kvm                   316506  1 kvm_intel
  4. (For KVM to be used as a host for NSX Manager or NSX Controller) Prepare the network bridge.

    In the following example, the first Ethernet interface (eth0 or ens32) is used for connectivity to the Linux machine itself. Depending on your deployment environment, this interface can use DHCP or static IP settings.

    Note:

    Interface names may vary in different environments.

    Linux Distribution

    Network Configuration

    Ubuntu

    Edit the file /etc/network/interfaces:

    auto lo
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet manual
    
    auto br0
    iface br0 inet dhcp
      bridge_ports eth0

    RHEL

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

    DEVICE="ens32"
      TYPE="Ethernet"
      NAME="ens32"
      UUID="<something>"
      BOOTPROTO="none"
      HWADDR="<something>"
      ONBOOT="yes"
      NM_CONTROLLED="no"
      BRIDGE="br0"
    
    

    Edit the file /etc/sysconfig/network-scripts/ifcfg-br0:

    DEVICE="br0"
       BOOTPROTO="dhcp"
       NM_CONTROLLED="no"
       ONBOOT="yes"
       TYPE="Bridge"
  5. (For KVM to be used as a transport node) Prepare the network bridge.

    In the following example, the first Ethernet interface (eth0 or ens32) is used for connectivity to the Linux machine itself. Depending on your deployment environment, this interface can use DHCP or static IP settings.

    Configure one more interface than in the previous step.

    Note:

    Interface names may vary in different environments.

    Linux Distribution

    Network Configuration

    Ubuntu

    Edit the file /etc/network/interfaces:

    auto lo
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet manual
    
    auto eth1
    iface eth1 inet manual
    
    auto br0
    iface br0 inet dhcp
      Bridge_ports eth0
    

    RHEL

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

    DEVICE="ens32"
      TYPE="Ethernet"
      NAME="ens32"
      UUID="<something>"
      BOOTPROTO="none"
      HWADDR="<something>"
      ONBOOT="yes"
      NM_CONTROLLED="no"
      BRIDGE="br0"
    
    

    Edit /etc/sysconfig/network-scripts/ifcfg-ens33:

    DEVICE="ens33"
      TYPE="Ethernet"
      NAME="ens33"
      UUID="<something>"
      BOOTPROTO="none"
      HWADDR="<something>"
      ONBOOT="yes"
      NM_CONTROLLED="no"
    
    

    Edit the file /etc/sysconfig/network-scripts/ifcfg-br0:

    DEVICE="br0"
       BOOTPROTO="dhcp"
       NM_CONTROLLED="no"
       ONBOOT="yes"
       TYPE="Bridge"
    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 transport node creation failure.

    Once the KVM host is configured as a transport node, the bridge interface "nsx-vtep0.0" will be automatically created. In Ubuntu, /etc/network/interfaces will have entries such as the following:

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

    In RHEL, nsxa will create a configuration file called ifcfg-nsx-vtep0.0, which 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
    
  6. To make the networking changes take effect, restart networking or reboot the Linux server.
  7. Prepare the host for core dumps.

    Linux Distribution

    Prepare for core dumps

    RHEL

    Run the following commands:

    mkdir /var/cores
    chmod 1777 /var/cores
    echo "kernel.core_pattern = /var/cores/core.%e.%t.%p" >> /etc/sysctl.conf
    sysctl -p
    

    Add the following lines in /etc/security/limits.conf:

    * soft core unlimited
    * hard core unlimited
    root soft core unlimited
    root hard core unlimited