Skip to content

Upgrading Percona Backup for MongoDB

Similar to installing, the recommended and most convenient way to upgrade Percona Backup for MongoDB is from the Percona repository.

You can upgrade Percona Backup for MongoDB to the latest version or to a specific version. Since all packages of Percona Backup for MongoDB are stored in the same repository, the following steps apply to both upgrade scenarios:

  1. Enable Percona repository.

  2. Stop pbm-agent.

  3. Install new version packages (the old ones are automatically removed).

  4. Start pbm-agent.

Important notes

  1. Backward compatibility between data backup and restore is supported for upgrades within one major version only (for example, from 1.1.x to 1.2.y). When you upgrade Percona Backup for MongoDB over several major versions (for example, from 1.0.x to 1.2.y), we recommend to make a backup right after the upgrade.

  2. Percona Backup for MongoDB v1.5.0 and later is incompatible with Percona Backup for MongoDB v1.4.1 and earlier due to different processing of system collections Users and Roles during backup / restore operations. After the upgrade to Percona Backup for MongoDB v1.5.0 and later, make sure to make a fresh backup.

  3. Starting from v1.7.0, the user running the pbm-agent process is changed from pbm to mongod. This is done for the following reasons:

    • To make physical backups and restores, the user running the pbm-agent process must have the read / write permissions to the MongoDB dataDir.

    • To use the filesystem-based backup storage, the user running the pbm-agent process must also have the read / write permissions to the backup directory.

  4. Starting from version 1.3.0, Percona Backup for MongoDB packages are stored in the pbm repository and the tools repository for backward compatibility.

  5. Upgrade Percona Backup for MongoDB on all nodes where it is installed.

Enable Percona repository

Install the percona-release utility or update it to the latest version as described in Percona Software Repositories Documentation.

Enable the repository running the command as root or via sudo

$ sudo percona-release enable pbm

Note

For apt-based systems, run $ sudo apt update to update the local cache.

Upgrade Percona Backup for MongoDB using apt

Important

Run all commands as root or via sudo.

Upgrade to the latest version

  1. Stop pbm-agent

    $ sudo systemctl stop pbm-agent
    
  2. Install new packages

    $ sudo apt install percona-backup-mongodb
    
  3. Starting from v1.7.0, reload the systemd process to update the unit file with the following command:

    $ sudo systemctl daemon-reload
    
  4. If you have a filesystem-based backup storage, grant read / write permissions to the backup directory to the mongod user.

  5. Start pbm-agent

    $ sudo systemctl start pbm-agent
    

Upgrade to a specific version

  1. List available options:

    $ sudo apt-cache madison percona-backup-mongodb
    

    Sample output

    percona-backup-mongodb | 1.3.1-1.stretch | http://repo.percona.com/tools/apt stretch/main amd64 Packages
    percona-backup-mongodb | 1.3.0-1.stretch | http://repo.percona.com/tools/apt stretch/main amd64 Packages
    percona-backup-mongodb | 1.2.1-1.stretch | http://repo.percona.com/tools/apt stretch/main amd64 Packages
    percona-backup-mongodb | 1.2.0-1.stretch | http://repo.percona.com/tools/apt stretch/main amd64 Packages
    percona-backup-mongodb | 1.1.3-1.stretch | http://repo.percona.com/tools/apt stretch/main amd64 Packages
    percona-backup-mongodb | 1.1.1-1.stretch | http://repo.percona.com/tools/apt stretch/main amd64 Packages
    percona-backup-mongodb | 1.0.0-1.stretch | http://repo.percona.com/tools/apt stretch/main amd64 Packages
    percona-backup-mongodb | 1.0-1.stretch | http://repo.percona.com/tools/apt stretch/main amd64 Packages
    
  2. Stop pbm-agent:

    $ sudo systemctl stop pbm-agent
    
  3. Install a specific version packages. For example, to upgrade to Percona Backup for MongoDB 1.3.1, run the following command:

    $ sudo apt install percona-backup-mongodb=1.3.1-1.stretch
    
  4. Starting from v1.7.0, reload the systemd process to update the unit file with the following command:

    $ sudo systemctl daemon-reload
    
  5. If you have a filesystem-based backup storage, grant read / write permissions to the backup directory to the mongod user.

  6. Start pbm-agent:

    $ sudo systemctl start pbm-agent
    

Upgrade Percona Backup for MongoDB using yum

Important

Run all commands as root or via sudo.

Upgrade to the latest version

  1. Stop pbm-agent

    $ sudo systemctl stop pbm-agent
    
  2. Install new packages

    $ sudo yum install percona-backup-mongodb
    
  3. Starting from v1.7.0, reload the systemd process to update the unit file with the following command:

    $ sudo systemctl daemon-reload
    
  4. If you have a filesystem-based backup storage, grant read / write permissions to the backup directory to the mongod user.

  5. Start pbm-agent

    $ sudo systemctl start pbm-agent
    

Upgrade to a specific version

  1. List available versions

    $ sudo yum list percona-backup-mongodb --showduplicates
    

    Sample output

    Available Packages
    percona-backup-mongodb.x86_64    1.0-1.el7            tools-release-x86_64
    percona-backup-mongodb.x86_64    1.0.0-1.el7          tools-release-x86_64
    percona-backup-mongodb.x86_64    1.1.1-1.el7          tools-release-x86_64
    percona-backup-mongodb.x86_64    1.1.3-1.el7          tools-release-x86_64
    percona-backup-mongodb.x86_64    1.2.0-1.el7          tools-release-x86_64
    percona-backup-mongodb.x86_64    1.2.1-1.el7          tools-release-x86_64
    percona-backup-mongodb.x86_64    1.3.0-1.el7          tools-release-x86_64
    percona-backup-mongodb.x86_64    1.3.1-1.el7          tools-release-x86_64
    
  2. Stop pbm-agent:

    $ sudo systemctl stop pbm-agent
    
  3. Install a specific version packages. For example, to upgrade Percona Backup for MongoDB to version 1.3.1, use the following command:

    $ sudo yum install percona-backup-mongodb-1.3.1-1.el7
    
  4. Starting from v1.7.0, reload the systemd process to update the unit file with the following command:

    $ sudo systemctl daemon-reload
    
  5. If you have a filesystem-based backup storage, grant read / write permissions to the backup directory to the mongod user.

  6. Start pbm-agent:

    $ sudo systemctl start pbm-agent
    

Note

If MongoDB runs under a different user than mongod (the default configuration for Percona Server for MongoDB), use the same user to run the pbm-agent. For filesystem-based storage, grant the read / write permissions to the backup directory for this user.