- 13 Aug 2024
- 13 Minutes to read
- Print
- DarkLight
- PDF
How to Deploy a Nodegrid Appliance
- Updated on 13 Aug 2024
- 13 Minutes to read
- Print
- DarkLight
- PDF
This document outlines best practices and an example of how Service Contractors can deploy a Nodegrid appliance as part of racking and stacking service contracts.
While the Nodegrid appliances support a wide range of deployment options, including Zero Touch Provisioning, supported by ZPE Cloud, is the traditional model of deployment through on-site engineers still quite common.
This guide covers the example deployment of a NetSR in a co-lo data center through an on-site engineer with little to no Nodegrid appliance experience. The deployment is supported remotely by an experienced engineer. The deployment aims to rack-mount the appliance and provide a base configuration that allows the engineers to validate the connectivity to a Nodegrid Cluster Coordinator or ZPE Cloud. The configuration can contain basic network configuration details, like setting of static IP Address details, creation of LACP bonds or the connectivity to management VLANs.
A typical deployment through a remote engineer involves, in most cases, two personas.
Network Architect/Engineer: This person understands the Nodegrid solution and its workings well. They aim to gain access to the appliance remotely to complete the deployment of the device and the site/location.
On-Site Engineer/"Smart-Hands": This person has physical access to the location and is enabled to install a new appliance, but the person has little to no experience with the Nodegrid solution.
The guides draw on experiences from many customer deployments and aim to make deployments repeatable and consistent, especially in environments without ZPE Cloud.
Benefits
Make Nodegrid deployments easy, repeatable and consistent
faster deployments
more consistent configurations
Deployment Preparation
This section outlines which preparation should be performed before the actual installation and deployment of the NetSR appliance by each persona.
Network Architect/Engineer
Create a configuration template for the base configuration using import_settings commands.
Decide on a target Nodegrid OS version, which should be deployed initially
Create a deployment check and instructions for the on-site engineer to follow
Create the specific configuration for the NetSR, based on the base template
Review and share the Nodegrid Safety details with the On-Site Engineer. The details can be found here.
On-Site Engineer/"Smart-Hands"
Prepare a laptop which can be used for the deployment, the laptop should have a network interface (Ethernet) for access via SSH/WebUI and a Serial Console connection (recommended)
The console cable, the required cable and the adapter for a DB9 Serial adapter are part of the box. As an alternative, can the engineer use an existing Cisco console cable
a USB memory stick, min size 2GB, with the correct Nodegrid firmware. Only required if network access is not possible
Access to the Nodegrid OS firmware file (.iso)
All other materials required to install the appliance, like power cables, network cables etc.
Review the Nodegrid
Step by Step - Deployment
For the physical installation of the NetSR and connection of cables, see the hardware installation section for more details.
Power on the unit
Connect the laptop via serial console to the Nodegrid console port. (Baud: 115200,8,N,1,N)
The Console connection will display the boot process. The console connection will display the login prompt after a few minutes, typically 2-5 min.
If required, press ENTER, to display the login prompt.Login to the Nodegrid appliance with the default credentials: admin/admin
During the first login must, the user change the default password to a new secure password (min 8 characters, with a number and a special character)
Perform a Firmware update with a reformat of the portion; see for instructions
Wait until the firmware upgrade process is completed (5-10min)
Login to the Nodegrid appliance with the default credentials: admin/admin
During the first login must, the user change the default password to a new secure password (min 8 characters, with a number and a special character)
Instructions
Validate Firmware Version
Starting from the admin CLI prompt (after login)
check the firmware version with
show /system/about
Example Output
[admin@nodegrid /]# show /system/about/
system: Nodegrid Net SR
licenses: 40
software: v5.8.13 (Sep 7 2023 - 03:00:38)
cpu: Intel(R) Atom(TM) CPU C3758 @ 2.20GHz
cpu_cores: 8
bogomips_per_core: 4400.00
serial_number: 401900000
uptime: 30 days, 22 hours, 50 minutes
boot mode: Legacy
secure boot: Disabled
model: NSR
part_number: NSR-TOP1-DAC
bios_version: 80919T00
psu: 2
revision tag: INITIAL-CONFIG
bios sed compatible: no
ssd sed compatible: no
sed pba version: no
Apply Base Configuration
Starting from the admin CLI prompt (after login)
use the following commands to apply a provided import_settings template
import_settings
Press CTRL+D to commit the changes.
Validate that no path was rejected
Example
[admin@nodegrid /]# import_settings
Type or paste data output from export_settings. Press <CTRL-D> to finish.
/settings/network_settings hostname=nsr01
/settings/network_settings domain_name=zpecloud.com
Path: /settings/network_settings Result: succeeded
Processed paths: 1 Rejected paths: 0
Validate connectivity and configuration
Check the firmware version and serial number
show /system/about/
The output should contain:
software: version should match the specified version
[admin@nodegrid /]# show /system/about/
system: Nodegrid Net SR
licenses: 40
software: v5.8.13 (Sep 7 2023 - 03:00:38)
cpu: Intel(R) Atom(TM) CPU C3758 @ 2.20GHz
cpu_cores: 8
bogomips_per_core: 4400.00
serial_number: 401900000
uptime: 30 days, 22 hours, 50 minutes
boot mode: Legacy
secure boot: Disabled
model: NSR
part_number: NSR-TOP1-DAC
bios_version: 80919T00
psu: 2
revision tag: INITIAL-CONFIG
bios sed compatible: no
ssd sed compatible: no
sed pba version: no
Check the network connection information
show /settings/network_connections/
The output should contain:
carrier state for a required interface be up
ipv4 address should display a valid IP address
the interface name of a VLAN interface should be of the format <parent interface>.<vlan number>, i.e. eth0.254
Shell
[admin@nsr01 toolkit]# show /settings/network_connections/
name status type interface carrier state ipv4 address ipv6 address mac address description
=========== ========== ==================== ========== ============= ================= ============================ ================= ===============
BACKPLANE0 connected ethernet backplane0 up 172.16.0.2/24 fe80::e61a:2cff:fe00:7501/64 e4:1a:2c:00:75:01
BACKPLANE1 connected ethernet backplane1 up e4:1a:2c:00:75:02
BRIDGE connected bridge br1 up 96:10:3a:f5:77:4f
ETH0 connected ethernet eth0 up 192.168.1.2/24 fe80::e61a:2cff:fe00:74ff/64 e4:1a:2c:00:74:ff OOBI-WAN
VLAN254 connected vlan eth0.254 up 192.168.254.2/24 e4:1a:2c:00:74:ff OOBI-WAN
CELLULAR-A connected mobile broadband gsm cdc-wdm7 up 10.177.183.245/30 OOBI-WAN BACKUP
hotspot not active wifi down
loopback2 connected loopback loopback2 up 10.244.255.193/32 c2:4e:77:c3:0e:34
loopback1 connected loopback loopback1 up 10.250.0.1/24 46:c9:6a:94:0c:4d
Check network switch interface information
show /settings/switch_interfaces/
The output should contain:
status: should be enabled for interfaces that should be in use
speed: should be on Auto or a specific speed as defined in the configuration
port vlan id: for an access port it should contain the correct VLAN id, for a trunk interface it will show the default VLAN id
[admin@nsr01 toolkit]# show /settings/switch_interfaces/
interface status description speed port vlan id jumbo frame acl ingress acl egress dhcp snooping mstp status 802.1x status
========= ======== =========== ===== ============ =========== =========== ========== ============= =========== =============
sfp0 Enabled Auto 1 Disabled None None Untrusted Disabled Disabled
sfp1 Enabled Auto 2 Disabled None None Untrusted Disabled Disabled
netS3-1 Enabled LAN01 Auto 1 Disabled None None Untrusted Disabled Disabled
netS3-2 Disabled Auto 1 Disabled None None Untrusted Disabled Disabled
netS3-3 Disabled Auto 1 Disabled None None Untrusted Disabled Disabled
netS3-4 Disabled Auto 1 Disabled None None Untrusted Disabled Disabled
netS3-5 Disabled Auto 1 Disabled None None Untrusted Disabled Disabled
netS3-6 Disabled Auto 1 Disabled None None Untrusted Disabled Disabled
netS3-7 Disabled Auto 1 Disabled None None Untrusted Disabled Disabled
netS3-8 Disabled Auto 1 Disabled None None Untrusted Disabled Disabled
netS3-9 Disabled Auto 1 Disabled None None Untrusted Disabled Disabled
netS3-10 Disabled Auto 1 Disabled None None Untrusted Disabled Disabled
netS3-11 Disabled Auto 1 Disabled None None Untrusted Disabled Disabled
netS3-12 Disabled Auto 1 Disabled None None Untrusted Disabled Disabled
netS3-13 Disabled Auto 1 Disabled None None Untrusted Disabled Disabled
netS3-14 Disabled Auto 1 Disabled None None Untrusted Disabled Disabled
netS3-15 Disabled Auto 250 Disabled None None Untrusted Disabled Disabled
netS3-16 Disabled Auto 1 Disabled None None Untrusted Disabled Disabled
Check network switch VLAN information
show /settings/switch_vlan/
The output should contain:
vlan: should contain vlan 1,2 and any added VLAN ID
untagged/tagged ports: should contain the desired interfaces
[admin@nsr01 toolkit]# show /settings/switch_vlan/
vlan untagged ports tagged ports
==== =========================================================== ============
1 backplane0, netS3-[1..14], netS3-16, sfp0, slot2-0, slot2-1
2 backplane1, sfp1
250 netS3-15 netS3-16
251 netS3-16
Check network switch LAG information
show /settings/switch_lag/
The output should contain:
type: should match LACP
ports: should contain the assigned ports
[admin@nsr01 /]# show /settings/switch_lag/
name id type ports
==== == ==== ==========
lag 1 LACP sfp0, sfp1
Check SFP details
show /system/switch_statistics/sfp0
show /system/switch_statistics/sfp1
The output should contain:
status: Enabled
state: Up
speed: 1G or 10G, depending on the configuration
[admin@nsr01 toolkit]# show /system/switch_statistics/sfp0
interface: sfp0
status: Enabled
state: Down
speed: 10G
rx packets: 0
rx bytes: 0
tx packets: 0
tx bytes: 0
--- SFP Information ---
identifier: 0x03 (SFP)
extended identifier: 0x04 (GBIC/SFP defined by 2-wire interface ID)
connector: 0x07 (LC)
transceiver codes: 0x10 0x00 0x00 0x00 0x40 0x00 0x0c 0x00 0x00
transceiver type: 10G Ethernet: 10G Base-SR
transceiver type 2: FC: short distance (S)
transceiver type 3: FC: Multimode, 62.5um (M6)
transceiver type 4: FC: Multimode, 50um (M5)
encoding: 0x06 (64B/66B)
br, nominal: 10300MBd
rate identifier: 0x00 (unspecified)
length smf,km: 0km
length smf: 0m
length 50um: 300m
length 62.5um: 150m
length copper: 0m
length om3: 0m
laser wavelength: 850nm
vendor name: ZPE
Ping default gateway
shell ping 192.168.1.1 -c 3
The output should contain:
3 packets transmitted, 3 received, 0% packet loss
[admin@nsr01 toolkit]# shell ping 192.168.1.1 -c 3
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.258 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.229 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=0.221 ms
--- 192.168.1.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2055ms
rtt min/avg/max/mdev = 0.221/0.236/0.258/0.015 ms
Validate DNS
shell ping zpecloud.com -c 3
The output should contain:
3 packets transmitted, 3 received, 0% packet loss
[admin@nsr01 toolkit]# shell ping zpecloud.com -c 3
PING zpecloud.com (34.83.37.8) 56(84) bytes of data.
64 bytes from 8.37.83.34.bc.googleusercontent.com (34.83.37.8): icmp_seq=1 ttl=104 time=181 ms
64 bytes from 8.37.83.34.bc.googleusercontent.com (34.83.37.8): icmp_seq=2 ttl=104 time=165 ms
64 bytes from 8.37.83.34.bc.googleusercontent.com (34.83.37.8): icmp_seq=3 ttl=104 time=149 ms
--- zpecloud.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 149.455/165.323/181.106/12.921 ms
Test mobile connection (4G/5G)
Interface Name
The 4G/5G interface number will change depending on the Nodegrid model and in which slot it might be installed. The interface will always be wwanX, where by X stands for interface number. To identify the correct interface number to use, identify the assigned interface, for network_connections output, for example:
CELLULAR-A connected mobile broadband gsm cdc-wdm7
cdc-wdm7 corresponds to wwan7
shell ping 1.1.1.1 -I wwan7 -c 3
The output should contain:
3 packets transmitted, 3 received, 0% packet loss
[admin@nsr01 toolkit]# shell ping 1.1.1.1 -I wwan7 -c 3
PING 1.1.1.1 (1.1.1.1) from 10.177.183.245 wwan7: 56(84) bytes of data.
64 bytes from 1.1.1.1: icmp_seq=1 ttl=56 time=154 ms
64 bytes from 1.1.1.1: icmp_seq=2 ttl=56 time=100 ms
64 bytes from 1.1.1.1: icmp_seq=3 ttl=56 time=65.7 ms
--- 1.1.1.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 65.746/106.673/154.013/36.318 ms
Check the ZPE Cloud connection
show /system/zpe_cloud/
The output should contain:
associated company: should be the company name
status: Connected - Licensed
URL: https://zpecloud.com for US instance or https://zpecloud.eu for EU instance
[zpeadmin@iensr01 toolkit]# show /system/zpe_cloud/
device id: ZSnIZLaUVCGq5Sp1000000
associated company: ZPE Systems
associated site: US
status: Connected - Licensed
last public ip connected: 109.78.0.60
total of exchanged messages: 1280290
total of exchanged bytes: 322293554
url: https://zpecloud.com
version: 2.30.0
device registration: 25/02/2020 10:23:31 UTC
first connection: 05/12/2022 14:56:40 UTC
last reconnection: 28/11/2023 08:07:20 UTC
last disconnection: 28/11/2023 07:55:25 UTC
Firmware Update via USB stick
Assumption
The Nodegrid firmware file, for example, Nodegrid_Platform_v5.10.8_20231107.iso is in the root folder of the USB stick.
Firmware File Name
The firmware file name must end in .iso. The firmware process will not be successful if the file ending is not .iso
Connect the USB stick to any of the USB ports on the device
Starting from the admin CLI prompt (after login) use the following commands to copy the file to the Nodegrid appliance
navigate to the root shell
shell sudo su -
Navigate to the USB location
cd /run/media/sdb1
Copy the firmware file to /var/sw/ and validate the file
cp ./Nodegrid_Platform_v5.10.8_20231107.iso /var/sw/
ls -lh /var/sw/
disconnect the USB stick
Return to the admin CLI prompt
exit
Perform the firmware update and reset the unit to factory defaults in one step
software_upgrade
set filename=Nodegrid_Platform_v5.10.8_20231107.iso
set format_partitions_before_upgrade=yes
upgrade