NSX Manager can be installed as a virtual appliance on a KVM host.

About this task

The QCOW2 installation procedure uses guestfish, a Linux command-line tool to write virtual machine settings into the QCOW2 file.

Prerequisites

  • KVM set up. See Set Up KVM.

  • Privileges to deploy a QCOW2 image on the KVM host.

  • Verify that the system requirements are met. See System Requirements.

  • Verify that the required ports are open. See Ports and Protocols.

  • If you don't already have one, create the target VM port group network. Most deployments place NSX appliances on a management VM network.

    If you have multiple management networks, you can add static routes to the other networks from the NSX appliance. Prepare management VM port group on which NSX appliances will communicate.

  • Plan your IPv4 IP address scheme. In this release of NSX-T, IPv6 is not supported.

Procedure

  1. Download the NSX Manager QCOW2 image and then copy it where it needs to be.
  2. (Ubuntu only) Add the currently logged in user as a libvirtd user:
    adduser $USER libvirtd
    
    
  3. In the same directory where you saved the QCOW2 image, create a file called guestinfo (with no file extension) and populate it with the NSX Manager VM's properties.

    For example:

    <?xml version="1.0" encoding="UTF-8"?>
    <Environment
         xmlns="http://schemas.dmtf.org/ovf/environment/1"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns:oe="http://schemas.dmtf.org/ovf/environment/1">
       <PropertySection>
             <Property oe:key="nsx_allowSSHRootLogin" oe:value="True"/>
             <Property oe:key="nsx_cli_passwd_0" oe:value="<password>"/>
             <Property oe:key="nsx_dns1_0" oe:value="192.168.110.10"/>
             <Property oe:key="nsx_domain_0" oe:value="corp.local"/>
             <Property oe:key="nsx_gateway_0" oe:value="192.168.110.1"/>
             <Property oe:key="nsx_hostname" oe:value="nsx-manager1"/>
             <Property oe:key="nsx_ip_0" oe:value="192.168.110.19"/>
             <Property oe:key="nsx_isSSHEnabled" oe:value="True"/>
             <Property oe:key="nsx_netmask_0" oe:value="255.255.255.0"/>
             <Property oe:key="nsx_ntp_0" oe:value="192.168.110.10"/>
             <Property oe:key="nsx_passwd_0" oe:value="<password>"/>
       </PropertySection>
    </Environment>
    
    

    In the example, nsx_isSSHEnabled and nsx_allowSSHRootLogin are both enabled. When they are disabled, you cannot SSH or log in to the NSX Manager command line. If you enable nsx_isSSHEnabled but not nsx_allowSSHRootLogin, you can SSH to NSX Manager but you cannot log in as root.

  4. Use guestfish to write the guestinfo file into the QCOW2 image.

    If you are making multiple managers, make a separate copy of the QCOW2 image for each manager. After the guestinfo information is written into a QCOW2 image, the information cannot be overwritten.

    guestfish --rw -i -a nsx-manager1-build.qcow2 upload guestinfo /config/guestinfo
    
    
  5. Deploy the QCOW2 image with the virt-install command.
    user@ubuntu1604:/var/lib/libvirt/images$ sudo virt-install --import --name nsx-manager1 --ram 16348 --vcpus 4 --network=bridge:br0,model=e1000 --disk path=/var/lib/libvirt/images/nsx-manager-1.1.0.0.0.4446302.qcow2,format=qcow2 --nographics
    
    Starting install...
    Creating domain...       |    0 B     00:01
    Connected to domain nsx-manager1
    Escape character is ^]
    
    nsx-manager1 login:
    
    

    After the NSX Manager boots up, the NSX Manager console appears.

  6. For optimal performance, reserve memory for the NSX component.

    A memory reservation is a guaranteed lower bound on the amount of physical memory that the host reserves for a virtual machine, even when memory is overcommitted. Set the reservation to a level that ensures the NSX component has sufficient memory to run efficiently. See System Requirements.

Results

Open the console of the NSX component to track the boot process.

After the NSX component is completely booted, wait 3 minutes and then log in to the CLI as admin. The EULA screen appears. Accept the EULA. Then run the get interface eth0 command to verify that the IP address was applied as expected.

nsx-component> get interface eth0
Interface: eth0
  Address: 192.168.110.25/24
  MAC address: 00:50:56:86:7b:1b
  MTU: 1500
  Default gateway: 192.168.110.1
  Broadcast address: 192.168.110.255
  ...

Ensure that your NSX component has the required connectivity.

  • Make sure that you can ping your NSX component.

  • Make sure that the NSX component can ping its default gateway.

  • Make sure that your NSX component can ping the hypervisor hosts that are in the same network as the NSX component.

  • Make sure that the NSX component can ping its DNS server and its NTP server.

  • If you enabled SSH, make sure that you can SSH to your NSX component.

If connectivity is not established, make sure the network adapter is in the proper network or VLAN.

What to do next

Connect to the NSX Manager GUI by from a supported web browser. The URL is https://<IP address or hostname of NSX Manager>. For example: https://192.168.110.75.

Note:

You must use HTTPS. HTTP is not supported.