|
| 1 | +--- |
| 2 | +title: "Azure Operator Nexus: How to upgrade the operating system of a Terminal Server" |
| 3 | +description: Learn the process for upgrading the operating system of a Terminal Server |
| 4 | +author: sushantjrao |
| 5 | +ms.author: sushrao |
| 6 | +ms.date: 02/26/2025 |
| 7 | +ms.topic: how-to |
| 8 | +ms.service: azure-operator-nexus |
| 9 | +ms.custom: template-how-to, devx-track-azurecli |
| 10 | +--- |
| 11 | + |
| 12 | +# Upgrading the operating system of a Terminal Server |
| 13 | + |
| 14 | +This document provides a step-by-step guide to upgrade the operating system (OS) of a Terminal Server. The outlined procedure is manual and includes essential checks, a backup process, and actions for post-upgrade validation. |
| 15 | + |
| 16 | +## **Prerequisites** |
| 17 | + |
| 18 | +- User must have **root account access** or **sudo root access** for the Terminal Server. |
| 19 | + |
| 20 | +- An **on-premises machine** with access to the Terminal Server for file transfers. |
| 21 | + |
| 22 | +- Download **24.11.2 firmware**: [Opengear Firmware](https://ftp.opengear.com/download/opengear_appliances/OM/). |
| 23 | + |
| 24 | +- After downloading the firmware, verify the **SHA1 checksum** to ensure integrity before proceeding with the installation. |
| 25 | + |
| 26 | +>[!Note] |
| 27 | +> This guide has been validated with Opengear firmware version 24.11.2, which was upgraded from version 22.06.0, and is supported with Nexus Network Fabric runtime version 5.0.0. |
| 28 | +
|
| 29 | +>[Important] |
| 30 | +> If the update fails, restoring from the backup may not be possible if the firmware version has changed. |
| 31 | +> In such cases, you may need to rebuild the configuration as if performing a Day 1 deployment of the device. |
| 32 | +
|
| 33 | +## Pre-upgrade Checks (Terminal Server) |
| 34 | + |
| 35 | +### Checking Available Disk Space |
| 36 | + |
| 37 | +To check the available disk space on the terminal server, use the following command: |
| 38 | + |
| 39 | +```bash |
| 40 | +sudo df -h |
| 41 | +``` |
| 42 | + |
| 43 | +### Sample output: |
| 44 | + |
| 45 | +The output will display the available space on various partitions, including `/tmp`: |
| 46 | + |
| 47 | +```bash |
| 48 | +root@b37e7ts:~# df -h |
| 49 | +Filesystem Size Used Avail Use% Mounted on |
| 50 | +tmpfs 3.9G 299M 3.6G 8% /tmp |
| 51 | +/dev/mapper/nvram-crypt 44G 7.0G 35G 17% /mnt/nvram |
| 52 | +/dev/mapper/config-active-crypt 1.5G 244M 1.2G 18% /mnt/config_overlay_active_upper |
| 53 | +/dev/sda1 222M 49M 158M 24% /boot |
| 54 | +``` |
| 55 | + |
| 56 | +Ensure at least **5 GB** of free space is available on the Terminal Server before beginning the upgrade process. |
| 57 | + |
| 58 | +## Verifying OS download integrity using SHA1 checksum |
| 59 | + |
| 60 | +After downloading the OS image, verify its integrity using SHA1 checksum validation. |
| 61 | + |
| 62 | +### Step 1: Download the SHA checksum file |
| 63 | + |
| 64 | +Use `wget` or any other utility to download the checksum file corresponding to the OS version: |
| 65 | + |
| 66 | +```bash |
| 67 | +wget https://ftp.opengear.com/download/opengear_appliances/OM/current/SHASUMS |
| 68 | +``` |
| 69 | + |
| 70 | +### Step 2: Compute and compare the SHA1 checksum |
| 71 | + |
| 72 | +Run the following command to verify the checksum: |
| 73 | + |
| 74 | +```bash |
| 75 | +cat SHASUMS | sha1sum -c |
| 76 | +``` |
| 77 | + |
| 78 | +### Example Output: |
| 79 | + |
| 80 | +```bash |
| 81 | +$ cat SHASUMS | sha1sum -c |
| 82 | +operations_manager-24.11.2-production-signed.raucb: OK |
| 83 | +``` |
| 84 | + |
| 85 | +Ensure that the output returns **"OK"** to confirm the file integrity before proceeding with installation. |
| 86 | + |
| 87 | +Would you like additional details on troubleshooting checksum mismatches? |
| 88 | + |
| 89 | +### Step 3: Check current version of Terminal Server |
| 90 | + |
| 91 | +Run the following command on the Terminal Server. |
| 92 | + |
| 93 | +```bash |
| 94 | +sudo cat /etc/version |
| 95 | +``` |
| 96 | + |
| 97 | +```Example output |
| 98 | +22.06.0 |
| 99 | +``` |
| 100 | +> [!Note] |
| 101 | +> Ensure the current OS version is lower than the version you are upgrading to. |
| 102 | +
|
| 103 | +### LLDP Service check and enable |
| 104 | + |
| 105 | +Run the following command on the Terminal Server. |
| 106 | + |
| 107 | +```bash |
| 108 | +sudo ogcli update services/lldp enabled=true |
| 109 | +sudo ogcli get services/lldp |
| 110 | +``` |
| 111 | + |
| 112 | +```Expected output |
| 113 | +description="" |
| 114 | +enabled=true |
| 115 | +physifs=[] |
| 116 | +platform="" |
| 117 | +``` |
| 118 | + |
| 119 | +### LLDP neighbor check |
| 120 | + |
| 121 | +Run the following command on the Terminal Server. |
| 122 | + |
| 123 | +```bash |
| 124 | +sudo lldpctl |
| 125 | +``` |
| 126 | + |
| 127 | +```Expected neighbors: |
| 128 | +Mgmt Switch, PE2, PE1 |
| 129 | +``` |
| 130 | + |
| 131 | +### Ping connectivity check |
| 132 | + |
| 133 | +Run the following command on the Terminal Server. |
| 134 | + |
| 135 | +```bash |
| 136 | +default_routes=$(ip route show default | awk '{print $3}') |
| 137 | +for ip in $default_routes; do |
| 138 | + echo "Pinging $ip..." |
| 139 | + ping -c 4 $ip |
| 140 | +done |
| 141 | +``` |
| 142 | + |
| 143 | +```Expected output |
| 144 | +Pinging 10.103.0.2... |
| 145 | +PING 10.103.0.2 (10.103.0.2) 56(84) bytes of data. |
| 146 | +64 bytes from 10.103.0.2: icmp_seq=1 ttl=64 time=0.319 ms |
| 147 | +64 bytes from 10.103.0.2: icmp_seq=2 ttl=64 time=0.352 ms |
| 148 | +64 bytes from 10.103.0.2: icmp_seq=3 ttl=64 time=0.334 ms |
| 149 | +64 bytes from 10.103.0.2: icmp_seq=4 ttl=64 time=0.358 ms |
| 150 | +
|
| 151 | +--- 10.103.0.2 ping statistics --- |
| 152 | +4 packets transmitted, 4 received, 0% packet loss, time 3071ms |
| 153 | +rtt min/avg/max/mdev = 0.319/0.340/0.358/0.015 ms |
| 154 | +Pinging 10.103.0.6... |
| 155 | +PING 10.103.0.6 (10.103.0.6) 56(84) bytes of data. |
| 156 | +64 bytes from 10.103.0.6: icmp_seq=1 ttl=64 time=0.324 ms |
| 157 | +64 bytes from 10.103.0.6: icmp_seq=2 ttl=64 time=0.344 ms |
| 158 | +64 bytes from 10.103.0.6: icmp_seq=3 ttl=64 time=0.305 ms |
| 159 | +64 bytes from 10.103.0.6: icmp_seq=4 ttl=64 time=0.340 ms |
| 160 | +
|
| 161 | +--- 10.103.0.6 ping statistics --- |
| 162 | +4 packets transmitted, 4 received, 0% packet loss, time 3065ms |
| 163 | +rtt min/avg/max/mdev = 0.305/0.328/0.344/0.015 ms |
| 164 | +``` |
| 165 | + |
| 166 | +### Create a backup of current configuration |
| 167 | + |
| 168 | +Run the following command on Terminal Server. |
| 169 | + |
| 170 | +```bash |
| 171 | +sudo ogcli export ogcli_export_<date> |
| 172 | +``` |
| 173 | + |
| 174 | +## **Stage 2: Backup files (on-premises machine)** |
| 175 | + |
| 176 | +### Transfer Backup files to on-premises machine |
| 177 | + |
| 178 | +Run following command on the on-premises machine to copy the Terminal Server configuration and related files to the on-premises machine. |
| 179 | + |
| 180 | +```bash |
| 181 | +mkdir ~/ts_backup |
| 182 | +cd ~/ts_backup |
| 183 | +scp -o [email protected] root@ <ts_ip >:/etc/dhcp/dhcpd.conf ./ |
| 184 | +scp -r -o [email protected] root@ <ts_ip >:/mnt/nvram/files/conf ./ |
| 185 | +scp -o [email protected] root@ <ts_ip >: ~/ogcli_export_ <date > ./ |
| 186 | +scp -r -o [email protected] root@ <ts_ip >:/mnt/nvram/nexus ./ |
| 187 | +scp -r -o [email protected] root@ <ts_ip >:/mnt/nvram/opengear_provisioning_rev5 ./ |
| 188 | +``` |
| 189 | + |
| 190 | +>[!Note] |
| 191 | +> Replace <ts_ip> with the Terminal Server IP. |
| 192 | +
|
| 193 | +## **Stage 3: Install firmware (Terminal Server)** |
| 194 | + |
| 195 | +### Upload firmware |
| 196 | + |
| 197 | +Upload the latest downloaded firmware from on premise machine to the Terminal Server. |
| 198 | + |
| 199 | +```bash |
| 200 | +scp -r -o [email protected] ./operations_manager-24.11.2-production-signed.raucb root@ <ts_ip >:/tmp/ |
| 201 | +``` |
| 202 | + |
| 203 | +>[!Note] |
| 204 | +> Replace <ts_ip> with the Terminal Server IP.<br> |
| 205 | +> Ensure the file name corresponds to the specific firmware version being used. For example, <operations_manager-24.11.2-production-signed.raucb> is the file name for Opengear OS version 24.11.2. Adjust the file name accordingly for your firmware version. |
| 206 | +
|
| 207 | +### Initiate installation of firmware |
| 208 | + |
| 209 | +Run the following command on the Terminal Server. |
| 210 | + |
| 211 | +```bash |
| 212 | +puginstall --reboot-after /tmp/operations_manager-24.11.2-production-signed.raucb |
| 213 | +``` |
| 214 | +> [!Note] |
| 215 | +The upgrade process takes 5–10 minutes, during which the Terminal Server will reboot automatically. |
| 216 | + |
| 217 | + |
| 218 | +## **Stage 4: Cleanup (On-premises machine)** |
| 219 | + |
| 220 | +### Remove backup and firmware |
| 221 | + |
| 222 | +After confirming the successful upgrade, delete temporary files from the on-premises machine. |
| 223 | + |
| 224 | +```bash |
| 225 | +rm -rf ~/ts_backup |
| 226 | +rm -rf ./operations_manager-24.11.2-production-signed.raucb |
| 227 | +``` |
| 228 | + |
| 229 | +>[!Note] |
| 230 | +> Perform this action only once the Terminal Server has been upgraded successfully. |
| 231 | +
|
| 232 | + |
| 233 | +### Firmware upgrade failure |
| 234 | +If the firmware upgrade fails we advise you to factory reset the Terminal Server and install the latest firmware and then reconfigure your device or restore from the backup. The result of a factory reset will require someone to connect to the Terminal Server using a serial port and following the documentation here to reconfigure or attempt to restore the configuration from a backup: [Azure Operator Nexus Platform Prerequisites](howto-platform-prerequisites.md). |
| 235 | + |
| 236 | +1. Perform a **factory reset**: |
| 237 | + |
| 238 | + Run the following command on the Terminal Server. |
| 239 | + |
| 240 | + ```bash |
| 241 | + factory_reset |
| 242 | + ``` |
| 243 | + |
| 244 | + Or, push the Erase button on the port-side panel twice with a bent paper clip while the unit is powered on. |
| 245 | + |
| 246 | +2. Reinstall the latest firmware. |
| 247 | + |
| 248 | + Repeat the firmware installation process. |
| 249 | + |
| 250 | +3. Reconfigure or restore the device from backup: |
| 251 | + |
| 252 | + Run the following command on the Terminal Server. |
| 253 | + |
| 254 | + ```bash |
| 255 | + ogcli restore <file_path> |
| 256 | + ``` |
0 commit comments