Skip to content

Updating MongoDB 4.4 to 7.0


The following instructions include the update of both, single system and cluster.

In case of a single system perform all instructions, except of those concerning the replica set.

In case of a cluster perfom the instructions as stated in the subchapters.

Caution - incompatibility

Due to incompatibility of the MongoDB service versions 4.4 and 7.0 you must export the stored data before updating and reimport them afterwards.

The standard procedure is as follows:

  1. Save the database content

  2. Update the database

  3. Restore the database content


Saving the Database Content

  1. Open a shell.

  2. Start MongoDB, if necessary:

    sudo systemctl start mongod
    

    Hint - cluster

    In a cluster, you have to start all members of the replica set.

  3. Save the stored data:

    • Single server:

      mongodump --ssl --tlsInsecure --gzip --out /tmp/mongodump
      
    • Cluster:

      mongodump --uri="mongodb://<server1>:27017,<server2>:27017,<server3>:27017/?replicaSet=p5&readPreference=secondary" --ssl --tlsInsecure --oplog --gzip --out /tmp/mongodump
      

      Hint - cluster

      In a cluster, you need to perform the above instructions on one server only. This will not affect the operation of the replica set primary.


Updating the Database

Hint - Cluster

In a cluster, you have to perform the following instructions except of the initializing of the database on every member of the replica set.

Caution - updating members of the replica set

In a cluster, you have to upgrade and reconfigure all members of the replica before you restore the database.

  1. Stop all dependent services.

    Hint - services with database access

    Services that access the database will restart continuously while you are updating the database. To prevent this unnecessary server load, you need to stop all services.

    !!! literature "Literature - further information"
    
        Please refer to the documentations of the installed products for further information about stopping the corresponding services.
    
  2. Stop MongoDB:

    sudo systemctl stop mongod
    
  3. Remove all subdirectories and files in the /opt/seal/data/seal-mongodb directory, except of the base directory itself:

    sudo rm -rf /opt/seal/data/seal-mongodb/*
    
  4. Install MongoDB.

  5. In the /opt/seal/etc/mongod.conf file, remove the journal: enabled option from the storage: section, if it exists.

    The storage: section is to look like this:

    storage:
      dbPath: /opt/seal/data/seal-mongodb
    
  6. Reconfigure a shared replica set.

  7. In single systems or the replica set primary, reinitialize the database.

  8. Reconnect the database servers to the cluster.

  9. Check the status of the database.


Restoring the Database Content

Hint - Cluster

In a cluster, you have to perform the following instructions on the replica set primary only.

  1. Remove the directory of the admin database dump:

    sudo rm -rf /tmp/mongodump/admin
    

    Caution - admin database

    MongoDB uses the admin database for storing internal configuration and runtime information. After the update, this information will no longer match the new configuration. Therefore, you must remove this directory before you restore the data.

  2. Restore the data:

    • Single server:

      mongorestore --ssl --sslAllowInvalidCertificates --drop --gzip /tmp/mongodump
      
    • Cluster:

      mongorestore --uri="mongodb://<server1>:27017,<server2>:27017,<server3>:27017/?replicaSet=p5" --ssl --sslAllowInvalidCertificates --drop --oplogReplay --gzip /tmp/mongodump
      

      Hint - cluster

      In a cluster, you have to perform the above instructions on one server only.

  3. Restart MongoDB:

    sudo systemctl start mongod
    
  4. Restart all dependent services.

    Literature - further information

    Please refer to the documentations of the installed products for further information about starting the corresponding services.


Back to top