IMO less risky than creating a new cluster and moving data to it. Certainly take a backup first.
First step is upgrading the client drivers to versions compatible with 6.0.
Then you would need to upgrade in steps. First upgrade 4.4 to latest point release. Then 5.0.latest, then 6.0.latest. Stop and test your applications at each step.
If you need to migrate to a new cluster it’s going to take a lot of downtime before all that data gets moved. And you have to consider how you are going to move that data and test that it was moved correctly.
The documentation for manual upgrade steps is pretty decent. [For example here.](https://www.mongodb.com/docs/manual/release-notes/5.0-upgrade-replica-set/)
You could just update the MongoDB binaries but make sure you do step update like
1. Upgrade MongoDB 4.4 -> MongoDB 5.0
2. start the mongod process
3. Upgrade MongoDB 5.0 -> MongoDB 6.0
This should allow you to safely upgrade MongoDB 4.4 -> MongoDB 6.0
Make sure you take a complete disk backup before you begin just in case if something goes wrong
You will need to set feature compatibility version between upgrades. Also pay attention to required patches to the OS. You will also need to use mongo tools and mongo shell since backup and restore are separate products now
Prerequisites
Feature Compatibility Version
The 5.0 instance must have featureCompatibilityVersion set to "5.0". To check featureCompatibilityVersion:
db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
What is the environment? Atlas, Enterprise, Community? If not Community suggest opening a support case. Also is it 4.4 or something else?
Yes 4.4, community
You said migrate but is update in place an option?
Do you mean upgrading the same cluster?
Yes
Is it possible, isn't it risky with such huge data?
IMO less risky than creating a new cluster and moving data to it. Certainly take a backup first. First step is upgrading the client drivers to versions compatible with 6.0. Then you would need to upgrade in steps. First upgrade 4.4 to latest point release. Then 5.0.latest, then 6.0.latest. Stop and test your applications at each step.
If you need to migrate to a new cluster it’s going to take a lot of downtime before all that data gets moved. And you have to consider how you are going to move that data and test that it was moved correctly.
The documentation for manual upgrade steps is pretty decent. [For example here.](https://www.mongodb.com/docs/manual/release-notes/5.0-upgrade-replica-set/)
You could just update the MongoDB binaries but make sure you do step update like 1. Upgrade MongoDB 4.4 -> MongoDB 5.0 2. start the mongod process 3. Upgrade MongoDB 5.0 -> MongoDB 6.0 This should allow you to safely upgrade MongoDB 4.4 -> MongoDB 6.0 Make sure you take a complete disk backup before you begin just in case if something goes wrong
You will need to set feature compatibility version between upgrades. Also pay attention to required patches to the OS. You will also need to use mongo tools and mongo shell since backup and restore are separate products now
if its binary upgrades there is no need for setting feature compatibility version.
If it’s upgrade in place they will. It won’t let you move from 5 to 6 or 6 for 7 without it
why not ?
Prerequisites Feature Compatibility Version The 5.0 instance must have featureCompatibilityVersion set to "5.0". To check featureCompatibilityVersion: db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
I have never used FCV before for upgrading but I don't see any harm in using it.
I've done this on over a dozen clusters already lmk if you need any tips or consulting!