MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Conseils pour la mise à niveau du serveur Percona pour MongoDB

Percona Server pour MongoDB est une distribution open source MongoDB optimisée par Percona. Il s'agit d'un remplacement gratuit, entièrement compatible et de remplacement pour l'édition MongoDB Community. Il fournit également des fonctionnalités "de niveau entreprise" qui ne seraient autrement disponibles que dans l'édition Enterprise de MongoDB, par exemple :authentification et autorisation LDAP, journalisation des audits, authentification Kerberos.

La mise à niveau de Percona Server pour MongoDB est vraiment simple. Dans ce blog, nous discuterons de quelques conseils de mise à niveau et montrerons un exemple de mise à niveau de la version 3.6 à la version 4.0.

Préparation de la mise à niveau

Avant d'exécuter la mise à niveau, vous souhaiterez peut-être faire quelques préparatifs. Vérifiez toujours les changements de compatibilité dans la documentation et du côté de votre application ; vérifier la documentation relative aux modifications et fonctionnalités d'amélioration, fonctionnalités obsolètes (le cas échéant).

Vérifiez la matrice de compatibilité du pilote pour MongoDB pour comprendre si vous devez également mettre à jour le pilote.

Préparez une liste de contrôle étape par étape sur la façon dont la mise à niveau sera exécutée. Notez le plan d'action, les parties doivent être impliquées dans la documentation, le plan de retour en arrière pour les pires scénarios.

Mise à niveau du serveur Percona pour MongoDB

Il est toujours bon de tester votre mise à niveau dans l'environnement de développement ou de préproduction avant de passer à l'environnement de production. Vous pouvez construire exactement la même architecture MongoDB que la production, tester et restaurer les données de la dernière sauvegarde. Après cela, vous pouvez tester la mise à niveau et valider votre plan de mise à niveau, non seulement obtenir une estimation de la durée de la mise à niveau, mais aussi vérifier si l'application est compatible avec la nouvelle version de la base de données.

Le processus de mise à niveau installe simplement le nouveau package à partir du référentiel percona, voici comment mettre à niveau sur CentOS de la version 3.6 à la version 4.0.

Première étape

Si vous n'avez pas installé Percona Repository, vous pouvez installer percona-release-latest.

[[email protected] ~]# yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm

Loaded plugins: fastestmirror

percona-release-latest.noarch.rpm                                                                                   |  19 kB  00:00:00

Examining /var/tmp/yum-root-evWD4w/percona-release-latest.noarch.rpm: percona-release-1.0-25.noarch

Marking /var/tmp/yum-root-evWD4w/percona-release-latest.noarch.rpm to be installed

Resolving Dependencies

--> Running transaction check

---> Package percona-release.noarch 0:1.0-25 will be installed

--> Finished Dependency Resolution



Dependencies Resolved



===========================================================================================================================================

 Package                          Arch                    Version                    Repository                                       Size

===========================================================================================================================================

Installing:

 percona-release                  noarch                  1.0-25                     /percona-release-latest.noarch                   31 k



Transaction Summary

===========================================================================================================================================

Install  1 Package



Total size: 31 k

Installed size: 31 k

Is this ok [y/d/N]: y

Étape 2

Après avoir installé le référentiel Percona, activez Percona Server pour MongoDB 4.0

[[email protected] ~]# percona-release enable psmdb-40

* Enabling the Percona Server for MongoDB 4.0 repository

<*> All done!

Étape 3

Installez le nouveau package percona-server-mongodb, il supprimera automatiquement l'ancien package et installera le nouveau package :

[[email protected] ~]# yum install percona-server-mongodb

Loaded plugins: fastestmirror

Repository percona-release-noarch is listed more than once in the configuration

base                                                                                                                | 3.6 kB  00:00:00

extras                                                                                                              | 2.9 kB  00:00:00

percona-release                                                                                                     | 2.9 kB  00:00:00

percona-release-noarch                                                                                              | 2.9 kB  00:00:00

percona-release-x86_64                                                                                              | 2.9 kB  00:00:00

prel-release-noarch                                                                                                 | 2.9 kB  00:00:00

psmdb-40-release-x86_64                                                                                             | 2.9 kB  00:00:00

updates                                                                                                             | 2.9 kB  00:00:00

(1/3): prel-release-noarch/7/primary_db                                                                             | 2.5 kB  00:00:00

(2/3): psmdb-40-release-x86_64/7/primary_db                                                                         |  47 kB  00:00:01

(3/3): percona-release-x86_64/7/primary_db                                                                          | 1.1 MB  00:00:03

Loading mirror speeds from cached hostfile

 * base: mirror.buana.web.id

 * extras: mirror.buana.web.id

 * updates: mirror.buana.web.id

Resolving Dependencies

--> Running transaction check

---> Package Percona-Server-MongoDB-36.x86_64 0:3.6.19-8.0.el7 will be obsoleted

---> Package percona-server-mongodb.x86_64 0:4.0.20-14.el7 will be obsoleting

--> Processing Dependency: percona-server-mongodb-tools = 4.0.20-14.el7 for package: percona-server-mongodb-4.0.20-14.el7.x86_64

--> Processing Dependency: percona-server-mongodb-mongos = 4.0.20-14.el7 for package: percona-server-mongodb-4.0.20-14.el7.x86_64

--> Processing Dependency: percona-server-mongodb-shell = 4.0.20-14.el7 for package: percona-server-mongodb-4.0.20-14.el7.x86_64

--> Processing Dependency: percona-server-mongodb-server = 4.0.20-14.el7 for package: percona-server-mongodb-4.0.20-14.el7.x86_64

--> Running transaction check

---> Package Percona-Server-MongoDB-36-mongos.x86_64 0:3.6.19-8.0.el7 will be obsoleted

---> Package Percona-Server-MongoDB-36-server.x86_64 0:3.6.19-8.0.el7 will be obsoleted

---> Package Percona-Server-MongoDB-36-shell.x86_64 0:3.6.19-8.0.el7 will be obsoleted

---> Package Percona-Server-MongoDB-36-tools.x86_64 0:3.6.19-8.0.el7 will be obsoleted

---> Package percona-server-mongodb-mongos.x86_64 0:4.0.20-14.el7 will be obsoleting

---> Package percona-server-mongodb-server.x86_64 0:4.0.20-14.el7 will be obsoleting

---> Package percona-server-mongodb-shell.x86_64 0:4.0.20-14.el7 will be obsoleting

---> Package percona-server-mongodb-tools.x86_64 0:4.0.20-14.el7 will be obsoleting

--> Finished Dependency Resolution



Dependencies Resolved



===========================================================================================================================================

 Package                                     Arch                 Version                      Repository                             Size

===========================================================================================================================================

Installing:

 percona-server-mongodb                      x86_64               4.0.20-14.el7                psmdb-40-release-x86_64               4.9 k

     replacing  Percona-Server-MongoDB-36.x86_64 3.6.19-8.0.el7

 percona-server-mongodb-mongos               x86_64               4.0.20-14.el7                psmdb-40-release-x86_64               8.9 M

     replacing  Percona-Server-MongoDB-36-mongos.x86_64 3.6.19-8.0.el7

 percona-server-mongodb-server               x86_64               4.0.20-14.el7                psmdb-40-release-x86_64                19 M

     replacing  Percona-Server-MongoDB-36-server.x86_64 3.6.19-8.0.el7

 percona-server-mongodb-shell                x86_64               4.0.20-14.el7                psmdb-40-release-x86_64               9.8 M

     replacing  Percona-Server-MongoDB-36-shell.x86_64 3.6.19-8.0.el7

 percona-server-mongodb-tools                x86_64               4.0.20-14.el7                psmdb-40-release-x86_64                28 M

     replacing  Percona-Server-MongoDB-36-tools.x86_64 3.6.19-8.0.el7



Transaction Summary

===========================================================================================================================================

Install  5 Packages



Total download size: 66 M

Is this ok [y/d/N]: y

Downloading packages:

(1/5): percona-server-mongodb-4.0.20-14.el7.x86_64.rpm                                                              | 4.9 kB  00:00:05

(2/5): percona-server-mongodb-mongos-4.0.20-14.el7.x86_64.rpm                                                       | 8.9 MB  00:00:39

(3/5): percona-server-mongodb-shell-4.0.20-14.el7.x86_64.rpm                                                        | 9.8 MB  00:00:42

(4/5): percona-server-mongodb-server-4.0.20-14.el7.x86_64.rpm                                                       |  19 MB  00:01:23

(5/5): percona-server-mongodb-tools-4.0.20-14.el7.x86_64.rpm                                                        |  28 MB  00:02:00

-------------------------------------------------------------------------------------------------------------------------------------------

Total                                                                                                      332 kB/s |  66 MB  00:03:22

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

  Installing : percona-server-mongodb-shell-4.0.20-14.el7.x86_64                                                                      1/10

  Installing : percona-server-mongodb-server-4.0.20-14.el7.x86_64                                                                     2/10

warning: /etc/mongod.conf created as /etc/mongod.conf.rpmnew

 * To start the service, configure your engine and start mongod

 ** WARNING: Access control is not enabled for the database.

 ** Read and write access to data and configuration is unrestricted.

 ** To fix this please use /usr/bin/percona-server-mongodb-enable-auth.sh

  Installing : percona-server-mongodb-mongos-4.0.20-14.el7.x86_64                                                                     3/10

  Installing : percona-server-mongodb-tools-4.0.20-14.el7.x86_64                                                                      4/10

  Installing : percona-server-mongodb-4.0.20-14.el7.x86_64                                                                            5/10

  Erasing    : Percona-Server-MongoDB-36-3.6.19-8.0.el7.x86_64                                                                        6/10

  Erasing    : Percona-Server-MongoDB-36-server-3.6.19-8.0.el7.x86_64                                                                 7/10

  Erasing    : Percona-Server-MongoDB-36-shell-3.6.19-8.0.el7.x86_64                                                                  8/10

  Erasing    : Percona-Server-MongoDB-36-mongos-3.6.19-8.0.el7.x86_64                                                                 9/10

  Erasing    : Percona-Server-MongoDB-36-tools-3.6.19-8.0.el7.x86_64                                                                 10/10

  Verifying  : percona-server-mongodb-server-4.0.20-14.el7.x86_64                                                                     1/10

  Verifying  : percona-server-mongodb-tools-4.0.20-14.el7.x86_64                                                                      2/10

  Verifying  : percona-server-mongodb-mongos-4.0.20-14.el7.x86_64                                                                     3/10

  Verifying  : percona-server-mongodb-shell-4.0.20-14.el7.x86_64                                                                      4/10

  Verifying  : percona-server-mongodb-4.0.20-14.el7.x86_64                                                                            5/10

  Verifying  : Percona-Server-MongoDB-36-server-3.6.19-8.0.el7.x86_64                                                                 6/10

  Verifying  : Percona-Server-MongoDB-36-tools-3.6.19-8.0.el7.x86_64                                                                  7/10

  Verifying  : Percona-Server-MongoDB-36-mongos-3.6.19-8.0.el7.x86_64                                                                 8/10

  Verifying  : Percona-Server-MongoDB-36-shell-3.6.19-8.0.el7.x86_64                                                                  9/10

  Verifying  : Percona-Server-MongoDB-36-3.6.19-8.0.el7.x86_64                                                                       10/10



Installed:

  percona-server-mongodb.x86_64 0:4.0.20-14.el7                        percona-server-mongodb-mongos.x86_64 0:4.0.20-14.el7

  percona-server-mongodb-server.x86_64 0:4.0.20-14.el7                 percona-server-mongodb-shell.x86_64 0:4.0.20-14.el7

  percona-server-mongodb-tools.x86_64 0:4.0.20-14.el7



Replaced:

  Percona-Server-MongoDB-36.x86_64 0:3.6.19-8.0.el7                    Percona-Server-MongoDB-36-mongos.x86_64 0:3.6.19-8.0.el7

  Percona-Server-MongoDB-36-server.x86_64 0:3.6.19-8.0.el7             Percona-Server-MongoDB-36-shell.x86_64 0:3.6.19-8.0.el7

  Percona-Server-MongoDB-36-tools.x86_64 0:3.6.19-8.0.el7



Complete!

Étape 4

Enfin, démarrez les services mongod.

$ systemctl start mongod.service

Le processus d'installation sur Ubuntu/Debian est similaire, vous avez juste besoin de la commande du gestionnaire de paquets APT.

Dans une architecture MongoDB hautement disponible, vous pouvez effectuer une mise à niveau progressive pour minimiser les temps d'arrêt.

Si votre application prend déjà en charge la dernière version de MongoDB, vous pouvez définir le paramètre 

setFeatureCompatibilityVersion after the upgrade was completed.

> db.adminCommand( { setFeatureCompatibilityVersion: "4.0" } )

Vérification de la mise à niveau

Vous pouvez vérifier si la mise à niveau a réussi en vous connectant directement à l'instance MongoDB. Vérifiez si la base de données fonctionne avec la bonne version :

> db.version()

Ou vous pouvez vérifier depuis la ligne de commande :

[[email protected] lib]# mongod --version

db version v4.0.20-14

git version: b96ae5b9e6c70670b6880d4c5412167a7017713a

OpenSSL version: OpenSSL 1.0.2k-fips  26 Jan 2017

allocator: tcmalloc

modules: none

build environment:

    distarch: x86_64

    target_arch: x86_64