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
WarningThe 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
If you do not have an active support contract, skip these steps, and follow the next procedure instead.
To download NEO software:
Log into MyMellanox.
Go to Software → Management Software → NVIDIA NEO.
Click the “Downloads” tab and click the software image.
Click “Download”.
From Mellanox Website
If you have a valid support contract, follow the previous procedure instead.
Go to the NEO product page on the website.
Click the "Download Software" button.
Fill the short form and click "Submit".
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:
Copy the NEO installation package to a local temporary directory (e.g. /tmp).
Enter the temporary directory.
cd /tmp
Delete the previous installation folder (if any exist).
rm -rf /tmp/neo
Extract the NEO installation package.
tar zxvf neo-2.7.0-5.el7.tar.gz
Enter the new created directory.
cd neo
Install NEO.
./neo-installer.sh
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.
[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
[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".
WarningYou can download and install the external RPMs also after NEO is up and running.
[Optional] Run NEO manually after the installation is complete.
/opt/neo/neoservice start
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:
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:
/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:
# 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
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:
[Optional] Hacluster_password – this parameter is set by default to use a pre-configured password. To change the password, please contact NVIDIA Support.
[Optional] ha_file_sync – the periodic time for syncing the persistent data. Default value is 300 seconds. Minimum value is 100 seconds.
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.
virtualIP – the virtual IP address for the GUI. This IP is the gateway for all nodes.
rsync_user – the username used to authenticate all three nodes of the HA
The following is an example of an ha.yaml file:
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:
/opt/neo/neocluster start
To check NEO cluster status, run:
/opt/neo/neocluster status
To stop NEO cluster, run:
/opt/neo/neocluster stop
To restart NEO cluster, run:
/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
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:
Click the Start button and launch the "Server Manager":
Click "Local Server".
In the "Properties" window, make sure the "IE Enhanced Security Configuration" is set to “On”.
Turn off the "IE ESC for Administrators and/or for Users", and click OK:
Restart the browser, and attempt logging-in.
Deploying NEO Virtual Appliance on Linux KVM
Go to the VM host (hypervisor) storage directory:
cd /images
Copy your release image to the VM host:
cp /release/vm/neo-1.4.9-10.qcow2
Run:
virt-manager &
Create a new VM:
Choose to "Import existing disk image" for installing the OS:
Provide the storage path, and as OS select Linux Red Hat 7.3 or above:
Specify the memory usage and the number of CPUs:
WarningAs the memory usage and the number of CPUs get higher, the performance improves. Memory usage should at least be 8192 MB.
Enter a name for the VM. If you wish to configure the NIC card, select "Customize configuration before install":
If you wish to set a fixed MAC address, do so in the NIC section of the VM configuration:
Once the new VM is successfully complete, the following screen with the hostname and login username will appear:
Log into the VM and using the following credentials:
Username – root
Password – 123456
Stop the NEO service. Run:
cd /opt/neo ./neoservice stop
Verify the date and timezone are configured properly:
date
If you need to update the timezone, follow the steps below:
Delete the current “localtime” file under /etc/ directory.
cd /etc
Remove the local time.
rm localtime
Select a time zone.
ln -s /usr/share/zoneinfo/US/Pacific localtime
Check the hostname resolution. Run:
hostname –i
Make sure you received your local IP.
Start NEO. Run:
cd /opt/neo ./neoservice start
Make sure you can access the VM through your browser.
Deploying NEO Virtual Appliance on VirtualBox
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:
Click "File" and choose "Import Appliance".
Choose the path for the ova file in the VM files and click Next.
Click "Import" to import the VM into VirtualBox. After this step, the VM will be imported and ready to explore NEO on it.
Choose “vm” and click start to run it.
Once the VM starts, log in using the following credentials:
Username – root
Password – 123456
Run ifconfig to display the interfaces. As can be seen below, eth0 has already acquired an IP on the network:
WarningThe MAC address assigned to the VM must be on DHCP records in order to get an IP address from the VM.
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
Click “File” → “Open” and open the ovf template.
Click “import” to start the NEO VM import process.
The VM can then be seen imported:
Click “Power on this virtual machine” to start the VM. Use the following credentials:
Username – root
Password – 123456
Run ifconfig to display the interfaces. As can be seen below – eth0 already acquired an IP.
WarningThe MAC address that is assigned to VM must be on DHCP records in order to get an IP address from the VM.
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
WarningIf 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
Connect to ESXi machine using vSphere Client.
Click "File" and choose "Deploy OVF Template…".
Choose the path for the OVF template and go through the pages by clicking "Next".
Click "Finish" to start deploying.
Right-click on the VM and choose "Open Console" and power on the machine.
Use the following credentials to log into the machine:
Username – root
Password – 123456
Run ifconfig to display interfaces. As can be seen below, the VM has already acquired an IP.
WarningThe MAC address assigned to the VM must be on DHCP records in order to get an IP address from the VM.
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
Launch the Hyper-V.
Click "Action" → "Virtual Switch Manager".
Create a new external virtual switch:
Provide a name and make sure you choose the right network adapter connected to the management network:
Click "Action" → "New" → "Virtual Machine".
Click "Next" in the New Virtual Machine Wizard window.
Specify the neo-vm name in the "Specify Name and Location" menu.
Click "Next".
Chose the desired generation in the "Specify Generation".
Click "Next".
Set the memory size to 8192MB minimum in the "Assign Memory" menu.
Click "Next".
Use the virtual switch that appears in the "Connection" drop down menu in the "Configure Network" menu.
Click "Next".
Choose "Use an existing virtual hard disk" and browse to the neo-v vhd file in the "Connect Virtual Hard Disk" menu.
Click "Next".
Click "Finish" in the "Summary" menu when displayed.
Right click and choose Connect once you see the neo-vm on your Hyper-V
Select "Start" from the "Action" menu to start the VM.
Use the following credentials to log in to your VM:
Username – root
Password – 123456
Installing NEO as Docker Container
Install Docker CE on CentOS 7.X:
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
WarningIn 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:
-v </path/to/shared/folder/on/host>:/neo-data
Run the container:
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:
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
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.
In the host (not inside the container) create the file etc/httpd/conf.d/neo.conf with the following content:
<Location /neo> ProxyPass http://127.0.0.1:3080/neo ProxyPassReverse http://127.0.0.1:3080/neo </Location>
Run:
service httpd restart
Get/find the container ID by running in the host (not inside the container):
docker ps
WarningMake sure NEO is not running on the Linux host machine before starting the NEO on the container.
Start NEO on the container:
docker exec –it <container id> /bin/bash cd /opt/neo ./neoservice start
WarningIf the device was rebooted, the running instance will disappear and a new instance should be run.
NEO as Docker Container on Onyx Switch
Log into the switch.
Install NEO.
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:
Stop the NEO services.
/opt/neo/neoservice stop
Copy the NEO installation package to a local temporary directory (for example: /tmp).
Enter the temporary directory.
cd /tmp
Extract the NEO installation package.
WarningIf 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.
tar zxvf neo-2.4.0-5.el6.tar.gz
Enter the new created directory.
cd neo
Install NEO.
./neo-installer.sh
If a previous NEO installation is detected, you will be asked to confirm proceeding with the upgrade. Type “y” to proceed.
[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:
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]
WarningThis 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.
[Optional] Run NEO manually after the installation is complete.
/opt/neo/neoservice start
[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".
WarningYou can download and install the external RPMs also after NEO is up and running.
To uninstall the NEO software, run:
/opt/neo/neo-uninstaller.sh
To uninstall NEO as a Docker Container, run:
docker stop <container-id>
docker rm <container-id>
For NEO running in High Availability mode, run the following:
docker exec -it <container-id> /opt/neo/neocluster stop
docker stop <container-id>
docker rm <container-id>