Pour avoir une haute disponibilité pour le service de documents dans Genetec Mission Control™, le service de base de données MongoDB doit être accessible en dehors du système local.
À savoir
Pour permettre le basculement automatique, MongoDB est configuré pour fonctionner comme un ensemble de répliques où plusieurs instances MongoDB sur des serveurs distincts fonctionnent en parallèle. Configurez un ensemble de répliques avec trois serveurs et conservez les capacités
lecture et
écriture lorsque vous utilisez deux serveurs. Testez également un service à serveur unique qui n'autorise que la lecture seule jusqu'à ce qu'un deuxième serveur soit rétabli.
Procédure
-
Installez MongoDB sur les serveurs partagés.
-
Lors de chaque installation sur chaque serveur, ouvrez le fichier de configuration de la base de données MongoDB partagée. Il doit se trouver dans c:\NProgram Files\NMongoDB\NServer<version>\Nbin\Nmongod.cfg.
-
Pour autoriser les connexions au serveur MongoDB depuis l'extérieur de l'hôte local, modifiez le paramètre bindIp en
bindIp : 127.0.0.1,<the hostname of the server>
.
-
Ajoutez le nom de l'ensemble de répliques.
-
Après avoir modifié le fichier de configuration, redémarrez le service MongoDB.
-
Sur un serveur unique où la base de données MongoDB est installée, ouvrez une invite de commande administrateur et exécutez cette commande pour accéder au répertoire MongoDB : C:\Program Files\MongoDB\Server\<version>\bin.
-
Exécutez ensuite
mongo
pour ouvrir le shell MongoDB et vous connecter à l'instance MongoDB sur la machine.
-
Exécutez la commande ci-dessous pour initialiser l'ensemble de répliques et ajouter tous les serveurs de base de données MongoDB à l'ensemble de répliques. Remplacez
<host#>
par les noms d'hôtes des serveurs MongoDB et saisissez le nom de l'ensemble de répliques après _id :
.
rs.initiate( {
_id : "",
members: [
{ _id: 0, host: "<host#>:27017" },
{ _id: 1, host: "<host2>:27017" },
{ _id: 2, host: "<host3>:27017" }
]
})
-
Exécutez ensuite
rs.conf()
pour confirmer que tous les serveurs MongoDB ont été ajoutés à l'ensemble de répliques sous membres
.
-
Exécutez
rs.status()
pour confirmer qu'une instance a été définie comme primaire.
-
Créez ou modifiez votre fichier MissionControl.gconfig sur tous les serveurs où le rôle est exécuté. Le fichier se trouve généralement dans c:\Program Files (x86)\Genetec Security Center 5.11\ConfigurationFiles. Cette étape n'est pas nécessaire pour le répertoire.
-
Dans l'élément DocumentServiceConfig, remplacez
<host#>
par les noms d'hôtes des serveurs de base de données MongoDB et assurez-vous que le nom de l'ensemble de répliques est correct.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<DocumentServiceConfig IsEnabled="true" ConnectionString="mongodb://<host#>:27017,<host#>:27017,<host#>:27017/?replicaSet=<Replica set name>&readPreference=primaryPreferred&appname=Genetec.SecurityCenter&ssl=false"/>
</configuration>