Title | alwaysopen | categories | description | linkTitle | toc | weight | url | |||
---|---|---|---|---|---|---|---|---|---|---|
Upgrade a cluster's operating system |
false |
|
Upgrade a Redis Enterprise Software cluster's operating system to a later major version. |
Upgrade operating system |
true |
70 |
/operate/rs/7.4/installing-upgrading/upgrading/upgrade-os/ |
To upgrade the operating system (OS) on a Redis Enterprise Software cluster to a later major version, perform a rolling upgrade. Because you upgrade one node at a time, you can upgrade your cluster's OS without downtime.
Before you upgrade a cluster's operating system:
-
[Upgrade all nodes in the cluster]({{< relref "/operate/rs/7.4/installing-upgrading/upgrading/upgrade-cluster" >}}) to a Redis Enterprise Software version that supports the OS's current version and upgrade version.
To learn which versions of Redis Enterprise Software support specific OS versions, see [Supported platforms]({{< relref "/operate/rs/7.4/references/supported-platforms#supported-platforms" >}}).
-
If the cluster contains databases that use modules:
-
Update all nodes in the cluster to Redis Enterprise Software version 7.2.4-52 or later before you upgrade the OS.
-
Check the status of modules using [
rladmin
]({{< relref "/operate/rs/7.4/references/cli-utilities/rladmin" >}}):rladmin status modules
The output lists the module versions installed on the cluster and the module versions used by existing databases:
CLUSTER MODULES: MODULE VERSION RedisBloom 2.6.3 RediSearch 2 2.8.4 RedisGears 2.0.12 RedisGraph 2.10.12 RedisJSON 2.6.6 RedisTimeSeries 1.10.6 DATABASE MODULES: DB:ID NAME MODULE VERSION ARGS STATUS db:1 db1 RediSearch 2 2.6.9 PARTITIONS AUTO OK, OLD MODULE VERSION db:1 db1 RedisJSON 2.4.7 OK, OLD MODULE VERSION
-
If any databases use custom modules, manually uploaded modules, or modules marked with
OLD MODULE VERSION
, upload module packages for the OS upgrade version to a cluster node. See [Install a module on a cluster]({{< relref "/operate/oss_and_stack/stack-with-enterprise/install/add-module-to-cluster" >}}) for instructions.{{}} The uploaded module packages have the following requirements:
-
-
The module is compiled for the OS upgrade version.
-
The module version matches the version currently used by databases. {{}}
- If the cluster uses custom directories, make sure the OS upgrade version also supports custom directories, and specify the same custom directories during installation for all nodes. See [Customize installation directories]({{< relref "/operate/rs/7.4/installing-upgrading/install/customize-install-directories" >}}) for details.
To upgrade the cluster's operating system, use one of the following rolling upgrade methods:
-
Extra node method - recommended if you have additional resources available
-
Replace node method - recommended if you cannot temporarily allocate additional resources
-
Create a node with the OS upgrade version.
-
[Install the cluster's current Redis Enterprise Software version]({{< relref "/operate/rs/7.4/installing-upgrading/install/install-on-linux" >}}) on the new node using the installation package for the OS upgrade version.
-
[Add the new node]({{< relref "/operate/rs/7.4/clusters/add-node" >}}) to the cluster.
-
[Remove one node]({{< relref "/operate/rs/7.4/clusters/remove-node#remove-a-node" >}}) running the earlier OS version from the cluster.
-
Repeat the previous steps until all nodes with the earlier OS version are removed.
-
[Remove a node]({{< relref "/operate/rs/7.4/clusters/remove-node#remove-a-node" >}}) with the earlier OS version from the cluster.
-
Uninstall Redis Enterprise Software from the removed node:
sudo ./rl_uninstall.sh
-
Either upgrade the existing node to the OS upgrade version, or create a new node with the OS upgrade version.
-
[Install the cluster's current Redis Enterprise Software version]({{< relref "/operate/rs/7.4/installing-upgrading/install/install-on-linux" >}}) on the upgraded node using the installation package for the OS upgrade version.
-
[Add the new node]({{< relref "/operate/rs/7.4/clusters/add-node" >}}) to the cluster.
If you want to reuse the removed node's ID when you add the node to the cluster, run [
rladmin cluster join
]({{< relref "/operate/rs/7.4/references/cli-utilities/rladmin/cluster/join" >}}) with thereplace_node
flag:rladmin cluster join nodes <cluster_member_ip_address> username <username> password <password> replace_node <node_id>
-
Verify node health:
-
Run
rlcheck
on all nodes:rlcheck
The output lists the result of each verification test:
##### Welcome to Redis Enterprise Cluster settings verification utility #### Running test: verify_bootstrap_status PASS ... Running test: verify_encrypted_gossip PASS Summary: ------- ALL TESTS PASSED.
For healthy nodes, the expected output is
ALL TESTS PASSED
. -
Run [
rladmin status
]({{< relref "/operate/rs/7.4/references/cli-utilities/rladmin/status" >}}) on the new node:rladmin status extra all
The expected output is the
OK
status for the cluster, nodes, endpoints, and shards:CLUSTER: OK. Cluster master: 2 (<IP.address>) Cluster health: OK, [0, 0.0, 0.0] failures/minute - avg1 0.00, avg15 0.00, avg60 0.00. ...
-
-
Repeat the previous steps until all nodes with the earlier OS version are replaced.