Installation and Initial Configuration

Prior to the installation process, make sure:

  • A supported version of Linux is installed on your machine as listed below

  • To have HTTPS/HTTP access from your client machine (on which a browser is running) to the machine that you intend to run NVIDIA® NEO® on

    Warning

    The default access protocol is HTTPS.

  • The ports listed below are not being used by another application running on the same machine/VM as NEO

NEO Server Requirements

Please refer to "NEO Server Requirements" in the Release Notes page.

Ports NEO Application Uses

Ports

Protocol

Description

Listening

2022

TCP

SSH protocol (relevant for HA mode only)

2224

TCP

Pacemaker PCS service (relevant for HA mode only)

8086

TCP

InfluxDB (relevant for HA mode only)

8088

TCP

InfluxDB

8094

TCP

Telegraf

7658

TCP

NEO GRPC collector used for collection of buffer threshold events

7654

TCP

Used to communicate between NEO telemetry agent and NEO

162

UDP

SNMP traps receiver

Transmitting

22

SSH

Access managed devices

443

HTTPS

Access managed devices

80

HTTP

Access managed devices

161

SNMP

Access managed devices

Ports

Protocol

Description

Listening

162

UDP

SNMP traps receiver

Transmitting

22

SSH

Access managed devices

443

HTTPS

Access managed devices

80

HTTP

Access managed devices

161

SNMP

Access managed devices


NEO GUI Client Requirements

Please refer to "NEO GUI Client Requirements" in the Release Notes page.

Recommended Screen Resolutions

Please refer to "Recommended Screen Resolutions" in the Release Notes page.

Supported NVIDIA Internally Managed Systems

Please refer to "Supported NVIDIA Internally Managed Systems" in the Release Notes page.

Supported Platforms and Operating Systems

Please refer to "Supported Platforms and Operating Systems" in the Release Notes page.

Managed Hosts Supported by NEO

Please refer to "Managed Hosts Supported by NEO" in the Release Notes page.

Using MyMellanox Account

Warning

If you do not have an active support contract, skip these steps, and follow the next procedure instead.

To download NEO software:

  1. Log into MyMellanox.

  2. Go to Software → Management Software → NVIDIA NEO.

  3. Click the “Downloads” tab and click the software image.

  4. Click “Download”.

From Mellanox Website

Warning

If you have a valid support contract, follow the previous procedure instead.

  1. Go to the NEO product page on the website.

  2. Click the "Download Software" button.

  3. Fill the short form and click "Submit".

  4. A direct link to the image download is sent to the email address you provided in the form.

The default NEO installation directory is /opt/neo.

To install NEO software:

  1. Copy the NEO installation package to a local temporary directory (e.g. /tmp).

  2. Enter the temporary directory.

    Copy
    Copied!
                

    cd /tmp

  3. Delete the previous installation folder (if any exist).

    Copy
    Copied!
                

    rm -rf /tmp/neo

  4. Extract the NEO installation package.

    Copy
    Copied!
                

    tar zxvf neo-2.7.0-5.el7.tar.gz

  5. Enter the new created directory.

    Copy
    Copied!
                

    cd neo

  6. Install NEO.

    Copy
    Copied!
                

    ./neo-installer.sh

  7. If a previous NEO installation is detected, you will be asked to confirm proceeding with the upgrade procedure. Type “y” to proceed. See Upgrading NEO below for more information.

    Copy
    Copied!
                

    [root@neo tmp]# ./neo/neo-installer.sh Mellanox NEO Software Installation ====================================================== ====================================================== pip is already installed!   Mellanox NEO SYSTEM PREREQUISITE TESTS   Checking Server architecture ... [ OK ] Checking Installed distribution ... [ OK ] Checking OS Version ... [ OK ] Checking Installer Dependencies ... [ OK ] Checking Python version (2.7) ... [ OK ] Checking Checking Localhost resolving ... [ OK ] Checking Hostname resolving ... [ OK ] Checking SELinux disabled ... [ OK ] Checking basic packages installation ... [ OK ] Checking Plugin ... [ OK ]   NEO Access Credentials Provider 2.7.0-5.el7 PREREQUISITE TESTS

  8. [Optional] In order to use more provisioning templates of NEO supported system types (Linux hosts, Windows hosts, Arista switches and Cisco switches), you may download and install NEO external RPMs. For further details on how to download and install NEO external RPMs, please refer to the community post "HowTo Install NEO Plugins".

    Warning

    You can download and install the external RPMs also after NEO is up and running.

  9. [Optional] Run NEO manually after the installation is complete.

    Copy
    Copied!
                

    /opt/neo/neoservice start

Warning

During the installation process, a warning message will display when NTP is not configured. To resolve that, please install NTP and run the ntpd process.

Installing NEO for High Availability

NEO High Availability (HA) deployment is composed of a three-node cluster (based on CentOS 7.x) installed with NEO software. The HA mechanism for NEO is based on two standard Linux mechanisms:

  • Pacemaker cluster resource manager – responsible for detection and recovery of machine and application-level failures

  • Rsync – responsible for synchronizing all file systems between the three cluster nodes

Prerequisites

  • CentOS v7.x installed on your machine, where HA is exclusively supported

  • Configure SSH trust between the three nodes. Run the following on each of the three nodes:

    Copy
    Copied!
                

    ssh-keygen ssh-copy-id -i /root/.ssh/id_rsa user@server

  • In order to install NEO as a docker container, SSH trust can be established by using the script "create_ha_trust_on_docker.sh" with the IP addresses of all the nodes as parameters. For example:

    Copy
    Copied!
                

    /opt/neo/common/utils/create_ha_trust_on_docker.sh 10.212.220.7 10.212.220.13 10.212.220.6

    • The script opens port 2022 for SSH on all cluster nodes which is used for file synchronization

    • For the script to run successfully, the names of the containers must be identical on all nodes

  • Configure /etc/hosts and add all 3 server IPs and hostnames for each of the three nodes. For example:

    Copy
    Copied!
                

    # cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 10.250.24.4 neo-server-1 10.250.24.3 neo-server-2 10.250.24.2 neo-server-3

Installing NEO Cluster

Install NEO separately on each node. For further information, refer to Installing NEO section above.

Configuring NEO Cluster

Warning

The following steps are performed on one node only, but will automatically apply to the other two nodes once the cluster is started.

Choose one node and update the parameters in its yaml file, located at: /opt/neo/common/conf/ha.yaml:

  1. [Optional] Hacluster_password – this parameter is set by default to use a pre-configured password. To change the password, please contact NVIDIA Support.

  2. [Optional] ha_file_sync – the periodic time for syncing the persistent data. Default value is 300 seconds. Minimum value is 100 seconds.

  3. ha_nodes – the IP addresses of the three nodes on which NEO is installed, in addition to their priority:

    • local_ip – the IP of the node that is part of the HA cluster

    • priority – either 1, 2 or 3 according to their mode (active/stand-by). Node priority is only considered upon the first NEO startup.

  4. virtualIP – the virtual IP address for the GUI. This IP is the gateway for all nodes.

  5. rsync_user – the username used to authenticate all three nodes of the HA

The following is an example of an ha.yaml file:

Copy
Copied!
            

Hacluster_password: rsync_user: root ha_file_sync: ha_nodes: - local_ip: 10.250.24.2 priority: 1 - local_ip: 10.250.24.3 priority: 2 - local_ip: 10.250.24.4 priority: 3 virtual_ip: 10.250.24.10 ssh_port: 22

Once configuration is completed successfully, make sure to start NEO and check its status as described in the section below.

Operating NEO Cluster

NEO user can start, stop, or restart NEO cluster, or check its status at any time.

  • To start NEO cluster, run:

    Copy
    Copied!
                

    /opt/neo/neocluster start

  • To check NEO cluster status, run:

    Copy
    Copied!
                

    /opt/neo/neocluster status

  • To stop NEO cluster, run:

    Copy
    Copied!
                

    /opt/neo/neocluster stop

  • To restart NEO cluster, run:

    Copy
    Copied!
                

    /opt/neo/neocluster restart

  • To return to the standalone mode from the HA mode, stop neocluster and then starting neoservice.

Connecting NEO Web UI to NEO Cluster

When connecting NEO Web UI to NEO HA cluster, make sure to connect via the virtual IP address of the cluster.

Deploying NEO Virtual Appliances

Warning

When working with NEO over VM, the VM name will be "neo-server-NEO-<version>-${mac-suffix}".

In order to override this name, comment, or remove, the line hostnamectl set-hostname "neo-server-NEO-2.6.0-9-${mac-suffix}" from the file /usr/sbin/ifup-local.

NEO supports several virtual appliances for selected hypervisors for easier deployment. Before deploying the NEO virtual machine (VM) on Windows 2016, make sure to disable the following security settings so you can access the UI from the host machine:

  1. Click the Start button and launch the "Server Manager":

    image2019-9-1_14-30-28.png

  2. Click "Local Server".

  3. In the "Properties" window, make sure the "IE Enhanced Security Configuration" is set to “On”.

    image2019-9-1_14-31-7.png

  4. Turn off the "IE ESC for Administrators and/or for Users", and click OK:

    image2019-9-1_14-31-47.png

  5. Restart the browser, and attempt logging-in.

Deploying NEO Virtual Appliance on Linux KVM

  1. Go to the VM host (hypervisor) storage directory:

    Copy
    Copied!
                

    cd /images

  2. Copy your release image to the VM host:

    Copy
    Copied!
                

    cp /release/vm/neo-1.4.9-10.qcow2

  3. Run:

    Copy
    Copied!
                

    virt-manager &

  4. Create a new VM:

    1. Choose to "Import existing disk image" for installing the OS:

      image2019-9-1_14-32-20.png

    2. Provide the storage path, and as OS select Linux Red Hat 7.3 or above:

      image2019-9-1_14-32-51.png

    3. Specify the memory usage and the number of CPUs:

      image2019-9-1_14-33-22.png

      Warning

      As the memory usage and the number of CPUs get higher, the performance improves. Memory usage should at least be 8192 MB.

    4. Enter a name for the VM. If you wish to configure the NIC card, select "Customize configuration before install":

      image2019-9-1_14-33-47.png

    5. If you wish to set a fixed MAC address, do so in the NIC section of the VM configuration:

      image2019-9-1_14-34-25.png

      Once the new VM is successfully complete, the following screen with the hostname and login username will appear:

      image2019-9-1_14-34-58.png

  5. Log into the VM and using the following credentials:

    • Username – root

    • Password – 123456

  6. Stop the NEO service. Run:

    Copy
    Copied!
                

    cd /opt/neo ./neoservice stop

  7. Verify the date and timezone are configured properly:

    Copy
    Copied!
                

    date

    If you need to update the timezone, follow the steps below:

    1. Delete the current “localtime” file under /etc/ directory.

      Copy
      Copied!
                  

      cd /etc

    2. Remove the local time.

      Copy
      Copied!
                  

      rm localtime

    3. Select a time zone.

      Copy
      Copied!
                  

      ln -s /usr/share/zoneinfo/US/Pacific localtime

  8. Check the hostname resolution. Run:

    Copy
    Copied!
                

    hostname –i

  9. Make sure you received your local IP.

  10. Start NEO. Run:

    Copy
    Copied!
                

    cd /opt/neo ./neoservice start

  11. Make sure you can access the VM through your browser.

Deploying NEO Virtual Appliance on VirtualBox

Warning

NEO VM uses 64-bit architecture. If you have a 32-bit OS, virtualization might not be enabled on your machine, and an error message of unavailable hardware acceleration will appear. In this case, make sure to enable virtualization through BIOS.

In order to enable virtualization through BIOS, follow the steps below:

  1. Click "File" and choose "Import Appliance".

    image2019-9-1_14-4-55.png

  2. Choose the path for the ova file in the VM files and click Next.

    image2019-9-1_14-35-38.png

  3. Click "Import" to import the VM into VirtualBox. After this step, the VM will be imported and ready to explore NEO on it.

    image2019-9-1_14-36-19.png

  4. Choose “vm” and click start to run it.

    image2019-9-1_14-37-38.png

  5. Once the VM starts, log in using the following credentials:

    • Username – root

    • Password – 123456

  6. Run ifconfig to display the interfaces. As can be seen below, eth0 has already acquired an IP on the network:

    image2019-9-1_14-37-11.png

    Warning

    The MAC address assigned to the VM must be on DHCP records in order to get an IP address from the VM.

  7. Log into NEO GUI using the IP found in the previous step (http://<NEO_server_IP>/neo) with the following credentials:

    • Username – admin

    • Password – 123456

Deploying NEO Virtual Appliance on VMware Workstation

  1. Click “File” → “Open” and open the ovf template.

    image2019-9-1_14-39-2.png

  2. Click “import” to start the NEO VM import process.

    image2019-9-1_14-38-22.png

    The VM can then be seen imported:

    image2019-9-1_14-39-35.png

  3. Click “Power on this virtual machine” to start the VM. Use the following credentials:

    • Username – root

    • Password – 123456

  4. Run ifconfig to display the interfaces. As can be seen below – eth0 already acquired an IP.

    Warning

    The MAC address that is assigned to VM must be on DHCP records in order to get an IP address from the VM.

  5. Log into NEO GUI using the IP found in the previous step (http://<NEO_server_IP>/neo) with the following credentials:

    • Username – admin

    • Password – 123456

      Warning

      If the VM does not succeed at gaining an IP, check the "Automatic Settings" under "Edit" → "Virtual Network Editor". Make sure to untick the checkbox of VirtualBox which is installed on your machine, and then reboot the VM so it can acquire an IP.

Deploying NEO Virtual Appliance on VMware ESXi Server

  1. Connect to ESXi machine using vSphere Client.

    image2019-9-1_14-40-5.png

  2. Click "File" and choose "Deploy OVF Template…".

    image2019-9-1_14-40-30.png

  3. Choose the path for the OVF template and go through the pages by clicking "Next".

  4. Click "Finish" to start deploying.

    image2019-9-1_14-40-58.png

  5. Right-click on the VM and choose "Open Console" and power on the machine.

    image2019-9-1_14-41-26.png

  6. Use the following credentials to log into the machine:

    • Username – root

    • Password – 123456

  7. Run ifconfig to display interfaces. As can be seen below, the VM has already acquired an IP.

    image2019-9-1_14-25-17.png

    Warning

    The MAC address assigned to the VM must be on DHCP records in order to get an IP address from the VM.

  8. Log into NEO GUI using the IP found in the previous step (http://<NEO_server_IP>/neo) with the following credentials:

    • Username – admin

    • Password – 123456

Installing NEO Virtual Appliance on Hyper-V

  1. Launch the Hyper-V.

  2. Click "Action" → "Virtual Switch Manager".

  3. Create a new external virtual switch:

    image2019-9-1_14-42-35.png

  4. Provide a name and make sure you choose the right network adapter connected to the management network:

    image2019-9-1_14-43-8.png

  5. Click "Action" → "New" → "Virtual Machine".

    image2019-9-1_14-43-43.png

  6. Click "Next" in the New Virtual Machine Wizard window.

    image2019-9-1_14-44-12.png

  7. Specify the neo-vm name in the "Specify Name and Location" menu.

    image2019-9-1_14-44-45.png

  8. Click "Next".

  9. Chose the desired generation in the "Specify Generation".

    image2019-9-1_14-45-20.png

  10. Click "Next".

  11. Set the memory size to 8192MB minimum in the "Assign Memory" menu.

    image2019-9-1_14-46-10.png

  12. Click "Next".

  13. Use the virtual switch that appears in the "Connection" drop down menu in the "Configure Network" menu.

    image2019-9-1_14-57-34.png

  14. Click "Next".

  15. Choose "Use an existing virtual hard disk" and browse to the neo-v vhd file in the "Connect Virtual Hard Disk" menu.

    image2019-9-1_14-58-9.png

    image2019-9-1_14-58-45.png

  16. Click "Next".

  17. Click "Finish" in the "Summary" menu when displayed.

    image2019-9-1_14-59-19.png

  18. Right click and choose Connect once you see the neo-vm on your Hyper-V

    image2019-9-1_14-59-53.png

  19. Select "Start" from the "Action" menu to start the VM.

    image2019-9-1_15-1-33.png

  20. Use the following credentials to log in to your VM:

    • Username – root

    • Password – 123456

Installing NEO as Docker Container

  1. Install Docker CE on CentOS 7.X:

    Copy
    Copied!
                

    yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum-config-manager --enable docker-ce-edge yum-config-manager --enable docker-ce-testing yum makecache fast yum -y install --setopt=obsoletes=0 docker-ce-17.03.2.ce-1.el7.centos.x86_64 docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch

    Warning

    In order to upgrade NVIDIA® NEO® docker, users must configure a location on the host to be shared with the docker. To do that please add the following to the docker run command:

    Copy
    Copied!
                

    -v </path/to/shared/folder/on/host>:/neo-data

  2. Run the container:

    Copy
    Copied!
                

    cp <image path> /tmp Service docker start gzip -d <image name.tar.gz> docker load -i /tmp/<image name.tar> docker images (To get image id) docker run -dit --network host -v /dev/log:/dev/log --privileged <image id> /usr/sbin/init

    Alternatively you may pull the image from the docker hub:

    Copy
    Copied!
                

    docker pull mellanox/neo docker run -dit --name 'neo' --restart unless-stopped --network host -v /dev/log:/dev/log --privileged mellanox/neo:latest /usr/sbin/init

  3. The NEO web UI is reachable by default on port 3080 (SSL 3443) (e.g. https://<host_ip>: 3443/neo/). To access the web UI without mentioning the port, you may do so by following the steps below.

    1. In the host (not inside the container) create the file etc/httpd/conf.d/neo.conf with the following content:

      Copy
      Copied!
                  

      <Location /neo> ProxyPass http://127.0.0.1:3080/neo ProxyPassReverse http://127.0.0.1:3080/neo </Location>

    2. Run:

      Copy
      Copied!
                  

      service httpd restart

  4. Get/find the container ID by running in the host (not inside the container):

    Copy
    Copied!
                

    docker ps

    Warning

    Make sure NEO is not running on the Linux host machine before starting the NEO on the container.

  5. Start NEO on the container:

    Copy
    Copied!
                

    docker exec –it <container id> /bin/bash cd /opt/neo ./neoservice start

    Warning

    If the device was rebooted, the running instance will disappear and a new instance should be run.

NEO as Docker Container on Onyx Switch

  1. Log into the switch.

  2. Install NEO.

    Copy
    Copied!
                

    enable configure terminal image fetch <URL pointing to neo docker image file, e.g. scp://<user>:<password>@<server>:<path>/neo-docker.img.gz> docker load <neo image file, e.g. neo-docker.img.gz> ip host <switch-name, e.g. ufm-switch28> <switch-ip, e.g. 10.209.36.15> docker start neo-on-switch <container version, e.g. 2.5.0-5> neo-on-switch now-and-init cpus 1 memory 3000 privileged network

In order to upgrade the NEO software:

  1. Stop the NEO services.

    Copy
    Copied!
                

    /opt/neo/neoservice stop

  2. Copy the NEO installation package to a local temporary directory (for example: /tmp).

  3. Enter the temporary directory.

    Copy
    Copied!
                

    cd /tmp

  4. Extract the NEO installation package.

    Warning

    If a “neo” directory still exists in the current directory—left over from the previous version you had installed—please make sure to remove it before extracting the new NEO installation package.

    Copy
    Copied!
                

    tar zxvf neo-2.4.0-5.el6.tar.gz

  5. Enter the new created directory.

    Copy
    Copied!
                

    cd neo

  6. Install NEO.

    Copy
    Copied!
                

    ./neo-installer.sh

    If a previous NEO installation is detected, you will be asked to confirm proceeding with the upgrade. Type “y” to proceed.

    Copy
    Copied!
                

    [NEO Server]# ./neo-installer.sh Mellanox NEO Software Installation ============================================================= ============================================================= Previous NEO installation detected. Are you sure you want to proceed with the upgrade ? [y/n]

    If there is a conflict between the current installed RPMs and the new RPMs that NEO needs to install, you might be asked to confirm proceeding with the upgrade process twice:

    Copy
    Copied!
                

    Mellanox NEO Software Installation ============================================================= ============================================================= Previous NEO installation detected. Are you sure you want to proceed with the upgrade ? [y/n] In order to proceed with the upgrade process, the following RPMs will be removed: xmltodict-0.9.2-1.noarch isodate-0.5.4-1.noarch six-1.9.0-1.noarch python-pywinrm-0.0.3-1.0.noarch Are you sure you want to proceed with the upgrade ? [y/n]

    Warning

    This will only occur when upgrading from NEO v1.5. Before clicking 'y', make sure the RPMs do not have any dependencies that are not related to NEO.

  7. [Optional] Run NEO manually after the installation is complete.

    Copy
    Copied!
                

    /opt/neo/neoservice start

  8. [Optional] In order to use more provisioning templates of NEO supported system types (Linux hosts, Windows hosts, Arista switches and Cisco switches), you may download and install NEO external RPMs. For further details on how to download and install external NEO RPMs, please refer to the community post "HowTo Install NEO Plugins".

    Warning

    You can download and install the external RPMs also after NEO is up and running.

To uninstall the NEO software, run:

Copy
Copied!
            

/opt/neo/neo-uninstaller.sh

To uninstall NEO as a Docker Container, run:

Copy
Copied!
            

docker stop <container-id> docker rm <container-id>

For NEO running in High Availability mode, run the following:

Copy
Copied!
            

docker exec -it <container-id> /opt/neo/neocluster stop docker stop <container-id> docker rm <container-id>

© Copyright 2023, NVIDIA. Last updated on Nov 16, 2023.