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:
Enable Percona repository.
Stop pbm-agent.
Install new version packages (the old ones are automatically removed).
Start pbm-agent.
Important notes
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.
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
andRoles
during backup / restore operations. After the upgrade to Percona Backup for MongoDB v1.5.0 and later, make sure to make a fresh backup.Starting from v1.7.0, the user running the
pbm-agent
process is changed frompbm
tomongod
. 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 MongoDBdataDir
.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.
Starting from version 1.3.0, Percona Backup for MongoDB packages are stored in the pbm repository and the tools repository for backward compatibility.
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¶
Stop pbm-agent
$ sudo systemctl stop pbm-agent
Install new packages
$ sudo apt install percona-backup-mongodb
Starting from v1.7.0, reload the
systemd
process to update the unit file with the following command:$ sudo systemctl daemon-reload
If you have a filesystem-based backup storage, grant read / write permissions to the backup directory to the
mongod
user.Start pbm-agent
$ sudo systemctl start pbm-agent
Upgrade to a specific version¶
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
Stop pbm-agent:
$ sudo systemctl stop pbm-agent
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
Starting from v1.7.0, reload the
systemd
process to update the unit file with the following command:$ sudo systemctl daemon-reload
If you have a filesystem-based backup storage, grant read / write permissions to the backup directory to the
mongod
user.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¶
Stop pbm-agent
$ sudo systemctl stop pbm-agent
Install new packages
$ sudo yum install percona-backup-mongodb
Starting from v1.7.0, reload the
systemd
process to update the unit file with the following command:$ sudo systemctl daemon-reload
If you have a filesystem-based backup storage, grant read / write permissions to the backup directory to the
mongod
user.Start pbm-agent
$ sudo systemctl start pbm-agent
Upgrade to a specific version¶
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
Stop pbm-agent:
$ sudo systemctl stop pbm-agent
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
Starting from v1.7.0, reload the
systemd
process to update the unit file with the following command:$ sudo systemctl daemon-reload
If you have a filesystem-based backup storage, grant read / write permissions to the backup directory to the
mongod
user.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.