
This blog post explains how to upgrade the FileCloud High Availability cluster using the FileCloud Offline Upgrade tool for Linux. At the moment, the FileCloud Offline Upgrade tool only supports CentOS7 and RHEL7 machines.
Offline Upgrade Tool download links:
offline_rpm_upgrader.tgz
mongodb_upgrader_40_rpm.tgz
mongodb_upgrader_42_rpm.tgz
Reviewing the Architecture
In this scenario, let us consider the architecture. The FileCloud architecture below consists of:
- 2 x web servers
- 3 x MongoDB servers
- 1 x Solr server

The example used throughout this how-to blog post is based on FileCloud 20.1, where MongoDB runs on 3.6. Starting from 21.1, we will have to upgrade the MongoDB clusters manually, prior to Web node upgrades.
Upgrading FileCloud's MongoDB Servers
We described how to upgrade MongoDB servers for Windows and Linux in a previous blog post. Here, we describe steps to upgrade MongoDB with the FileCloud offline upgrade too.
Step 1: Download the Upgrade Tool and Create a Path
First, download mongodb_upgrader_40_rpm.tgz and mongodb_upgrader_42_rpm.tgz into the MongoDB servers. You will need to implement these upgrades step by step.
mongodb_upgrader_40_rpm.tgz is MongoDB 4.0
mongodb_upgrader_42_rpm.tgz is MongoDB 4.2
Step 2: Create a Directory and Path
Create a directory as below in any path; $path can be any path location
mkdir -p $path/mongo40
mkdir -p $path/mongo42
tar -xzvf mongodb_upgrader_40_rpm.tgz -C $path/mongo40
tar -xzvf mongodb_upgrader_42_rpm.tgz -C $path/mongo42
Step 3: Set Feature Compatibility to 3.6
mongo --host {IP address of Primary} --eval "db.adminCommand( { setFeatureCompatibilityVersion: '3.6' } )"
Step 4: Upgrade Secondary Nodes to 4.0
service mongod stop
cd $path/mongo40
rpm -Uvh *.rpm
Step 5: Stepdown current primary as secondary
rs.stepDown()
Step 6: Upgrade the last server to 4.0
Step 7: Set Feature Compatibility to 4.0 in the current Primary Server
mongo --host {IP address of Primary} "db.adminCommand( { setFeatureCompatibilityVersion: '4.0' } )"
Step 8: Upgrade Secondary Nodes
Upgrade secondary nodes from 4.0 to 4.2, one by one, using the below commands or by running as a script
cd $path/mongo42
service mongod stop
rpm -Uvh *.rpm
Step 9: Stepdown current primary as secondary
rs.stepDown()
Step 10: Upgrade Server to 4.2
Run command in Step 6 to upgrade the last server to 4.2
Step 11: Set Feature Compatibility to 4.2
In the current Primary Server, apply the following to update the feature compatibility to 4.2:
mongo --host {IP address of Primary} "db.adminCommand( { setFeatureCompatibilityVersion: '4.2' } )"
Upgrading FileCloud's web and Solr servers
Download the offline_rpm_upgrader.tgz to both the web and Solr servers.
tar -xzvf offline_rpm_upgrader.tgz
Run the upgrader_offline_rpm.sh in the web nodes (you can skip the MongoDB upgrade option in upgrader_offline_rpm.sh as we will upgrade MongoDB servers manually prior to web nodes)
For Solr nodes, select the option Solr server and skip the web server and Solr.
Conclusion
Please note that this blog post is written based on the sample architecture mentioned at the start of the post. If you have different architecture, please feel free to reach out for any clarifications at support@filecloud.com.
Article written by Nandakumar Chitra Suresh
By Katie Gerhardt
Jr. Product Marketing Manager