Knowledge Base
Searching in : Document
ID: DT07S00234
Version: NoMachine 8
Added on: 2022-09-13
Last Update: 2025-08-20
Print this article

Instructions for updating a multi-node environment for production running NoMachine

Considerations

1. What to Consider Before Upgrading

This document applies to multi-node environments v. 8 made of:
a) NoMachine Enterprise Terminal Server (ETS) or Enterprise Terminal Server Cluster (ETSC) plus one or more Enterprise Terminal Server Node (ETSN) installations
or
b) any of the available cloud server products + NoMachine server installations as nodes.

To upgrade NoMachine installations, customers should use packages downloaded from their Customer Area at: https://www.nomachine.com/support#login or provided by the Sales Team. This will grant to use the appropriate package for the license.

Updating the installed software requires the termination of all the running sessions. These sessions cannot be recovered later.

This is necessary for installing the new libraries and binaries. Processes already loaded in the system memory lock down the corresponding binaries and libraries that cannot be otherwise replaced.

The upgrade procedure implies a shutdown of all services. They are automatically restarted once the upgrade procedure is completed.

All operations must be executed with administrative privileges ('root' user or a 'sudo' user on Linux and macOS) and are intended to be excuted from command line in a terminal on Linux and macOS and from a CMD console executed as 'administrator' on Windows.

The cleanest way to upgrade a multi-node environment is to:

  1. initially update installation on the nodes, then
  2. update installation of the main server (Enterprise Terminal Server or Cloud Server) or servers if a failover cluster is set-up with two Enterprise Terminal Server Cluster or Enterprise Cloud Server Cluster.

Please read carefully all the steps below before proceeding with the upgrade and do not hesitate to contact our Sales or Support Teams for any advice.

1.1. Planning Server Downtime Period Before Upgrading

As a precaution, we suggest to do the following before proceeding with the upgrade.

Step 1 (optional)- Send a broadcast message to all connected users to inform about ongoing operations.

Step 2 (optional)- Stop the main server
This will prevent new connections to the main server but will not terminate running sessions.

TIP


If there are two servers in failover cluster mode, you will need to do the following.

1) Shutdown the NoMachine server on the secondary server host, this will avoid to activate the failover procedure when stopping the primary NoMachine server.
2) Then stop the primary server host to prevent new connections (optional).
3) Proceed with the upgrade of the node(s) and of the server(s) as explained in the next sections.

How to Upgrade ETS or ETSC + ETSN nodes

2. Instructions

2.1. Updating the Enterprise Terminal Server Node(s)

Proceed to update the installation of NoMachine Enterprise Terminal Server Node on each of the remote node(s). No further actions are required. You can do that by installing a new package or via UI by means of the automatic updates from the NoMachine repositories.

Instructions from command line are:

for DEB:
$ sudo dpkg -i packageName.deb
for RPM:
$ sudo rpm -Uvh packageName.rpm

To verify the installation:

$ /etc/NX/nxserver --version
$ sudo  /etc/NX/nxserver --status
$ sudo /etc/NX/nxserver --subscriptioninfo


2.2. Updating the Enterprise Terminal Server

Proceed to update the NoMachine Enterprise Terminal Server installation.

The update procedure takes care of starting all the NoMachine services, there's no need to start the server manually.

2.3. Updating the failover cluster of Enterprise Terminal Server Cluster

If there are two ETSC in failover cluster mode, it's instead necessary to do the following.

Step 1- Update the primary Enterprise Terminal Server Cluster (ETSC1), this will make the failover to occur and the secondary server will take the primary role.

Step 2 - Update now the second Enterprise Terminal Server Cluster (ETSC2), that took the role of primary server due to step 1. This will make the failover to occur and the other server (ETSC1) will take back its original primary role.

As an alternative to avoid the to activate the failover procedure:
Step 1 - Shutdown the Enterprise Terminal Server Cluster on the secondary server host to avoid to activate the failover procedure when stopping the primary server host.

To do that, execute the following command on the secondary server host:

$ sudo /etc/NX/nxserver --shutdown


Step 2 (optional)- Send a broadcast message and stop accepting connections on the active server:

$ sudo /etc/NX/nxserver --broadcast "Your message here"
$ sudo /etc/NX/nxserver --stop


Step 3- Update the primary server and the secondary server.


Step 4- Then restart both cluster servers after the update to make sure that the cluster interface is created on the primary server. Execute firstly on the primary ETSC host then on the secondary ETSC host:

$ sudo /etc/NX/nxserver --restart


To verify the installation:

$ /etc/NX/nxserver --version
$ sudo  /etc/NX/nxserver --status
$ sudo /etc/NX/nxserver --subscriptioninfo


Troubleshooting

What to do if the server installation has been upgraded before the nodes.
In case of a multi-node environment without failover cluster functionalities, run the following command on the ETS host to retrieve resources from the remote node(s):

$ sudo /etc/NX/nxserver --nodedbupdate


If there are two ETSC in failover cluster mode, run instead the following command on the primary server:

$ sudo /etc/NX/nxserver --nodedbupdate

Then synchronize the cluster dbs by running on the primary server:

$ sudo /etc/NX/nxserver —clusteredit 

How to Upgrade a Cloud Server + Nodes

3. Instructions

We recommend to keep versions of server and node aligned. However, if needed for particular reasons, it's possible to upgrade only the two servers in cluster and proceed to upgrade the nodes later, also in steps. When upgrading two cloud servers in a cluster, it's important to do shutdown on the secondary server before upgrading as explained in the procedure below at par. 3.3.

3.1. Updating the NoMachine Server on the Node(s)

Proceed to update the installation of NoMachine Server on each of the node(s). No further actions are required. You can do that by installing a new package or via UI by means of the automatic updates from the NoMachine repositories.

Instructions from command line for Linux packages are:

for DEB:
$ sudo dpkg -i packageName.deb
for RPM:
$ sudo rpm -Uvh packageName.rpm


To verify the installation on Linux and macOS:

$ /etc/NX/nxserver --version
$ sudo  /etc/NX/nxserver --status
$ sudo /etc/NX/nxserver --subscriptioninfo

On Windows:

 > %ALLUSERSPROFILE%\NoMachine\nxserver\nxserver.exe --version
 > %ALLUSERSPROFILE%\NoMachine\nxserver\nxserver.exe --status
 > %ALLUSERSPROFILE%\NoMachine\nxserver\nxserver.exe --subscriptioninfo

TIP


It's possible to upgrade gradually a Cloud Server environment. Upgrade before the nodes and finally the Cloud Server.

To stop access only to the node that is going to be updated, run this command on the Cloud Server host:
nxserver --nodestop NODE_UUID

Then update the NoMachine server installation on that node and finally, re-enable accepting connections by running:
nxserver --nodestart NODE_UUID

NODE_UUID is the uuid of the node as it appears in the output of 'nxserver --nodelist --extended'. it can be also a comma-separated list of UUIDs.


3.2. Updating the Cloud Server(s)

Proceed to update the NoMachine Cloud Server installation. This applies to all types of cloud servers.

The update procedure takes care of starting all the NoMachine services, there's no need to start the server manually.


3.3. Updating the failover cluster of Enterpise Cloud Server Cluster

To upgrade two Enterprise Cloud Server Cluster in failover cluster mode, it's instead necessary to do the following.

Execute commands on Linux or macOS in a terminal. Commands for Windows have to be executed in a CMD console as administrator. It's also possible to shutdown/stop and restart the server via UI.

Step 1- Shutdown the Cloud Server on the secondary server host to avoid to activate the failover procedure when stopping the Cloud Server on the primary server host.


To do that, execute the following command on the secondary server host.
On Linux and macOS:

$ sudo /etc/NX/nxserver --shutdown

On Windows:

> %ALLUSERSPROFILE%\NoMachine\nxserver\nxserver.exe --shutdown


Step 2 (optional) - Then send a broadcast message to inform connected users (optional) and stop accepting connections on the active Cloud Server by executing the following commands.

On Linux and macOS:

$ sudo /etc/NX/nxserver --broadcast "Your message here"
$ sudo /etc/NX/nxserver --stop

On Windows:

> %ALLUSERSPROFILE%\NoMachine\nxserver\nxserver.exe --broadcast "Your message here"
> %ALLUSERSPROFILE%\NoMachine\nxserver\nxserver.exe --stop


Step 3- Now update the primary Cloud Server and the secondary Cloud Server.


Step 4- Finally restart both Cloud Servers after the update to make sure that the cluster interface is created on the primary server. Execute firstly on the primary CS host then on the secondary CS host the following command.

On Linux and macOS:

$ sudo /etc/NX/nxserver --restart

On Windows:

> %ALLUSERSPROFILE%\NoMachine\nxserver\nxserver.exe --restart

To verify the installation on Linux and macOS:

$ /etc/NX/nxserver --version
$ sudo  /etc/NX/nxserver --status
$ sudo /etc/NX/nxserver --subscriptioninfo

On Windows:

> %ALLUSERSPROFILE%\NoMachine\nxserver\nxserver.exe  --version
> %ALLUSERSPROFILE%\NoMachine\nxserver\nxserver.exe--status
> %ALLUSERSPROFILE%\NoMachine\nxserver\nxserver.exe --subscriptioninfo