Ha-Bluemind

Bonjour,

Dans le cadre d’une nouvelle installation de Bluemind, nous souhaitons créer deux serveurs BM en HA, j’ai appliqué les recommandations de la documentation ( synchro des fichiers de conf et des dossiers). Mais le deuxième serveur bloque sur “serveur en cours de maintenance”.

Voici les log de /var/log/bm/core.log:

2018-04-20 12:46:45,477 [core-heartbeat-timer] n.b.s.s.StateContext INFO - Core state heartbeat : core.state.upgrade
2018-04-20 12:46:47,306 [vert.x-worker-thread-12] n.b.s.s.i.SystemConfiguration ERROR - error retrieving system configuration from database
java.lang.NullPointerException: null
        at net.bluemind.core.jdbc.JdbcAbstractStore.getConnection(JdbcAbstractStore.java:401) ~[net.bluemind.core.jdbc_3.1.28073.jar:na]
        at net.bluemind.core.jdbc.JdbcAbstractStore.select(JdbcAbstractStore.java:71) ~[net.bluemind.core.jdbc_3.1.28073.jar:na]
        at net.bluemind.core.jdbc.JdbcAbstractStore.unique(JdbcAbstractStore.java:143) ~[net.bluemind.core.jdbc_3.1.28073.jar:na]
        at net.bluemind.system.persistance.SystemConfStore.get(SystemConfStore.java:49) ~[net.bluemind.system.persistance_3.1.28073.jar:na]
        at net.bluemind.system.service.internal.SystemConfiguration.getValues(SystemConfiguration.java:78) ~[net.bluemind.system.service_3.1.28073.jar:na]
        at net.bluemind.system.service.internal.InstallationService.getVersion(InstallationService.java:243) [net.bluemind.system.service_3.1.28073.jar:na]
        at net.bluemind.scheduledjob.scheduler.impl.JobSchedulerVerticle.versionMismatch(JobSchedulerVerticle.java:93) [net.bluemind.scheduledjob.scheduler_3.1.28073.jar:na]
        at net.bluemind.scheduledjob.scheduler.impl.JobSchedulerVerticle.isDisabled(JobSchedulerVerticle.java:80) [net.bluemind.scheduledjob.scheduler_3.1.28073.jar:na]
        at net.bluemind.scheduledjob.scheduler.impl.JobSchedulerVerticle.executeJobs(JobSchedulerVerticle.java:66) [net.bluemind.scheduledjob.scheduler_3.1.28073.jar:na]
        at net.bluemind.scheduledjob.scheduler.impl.JobSchedulerVerticle$1.handle(JobSchedulerVerticle.java:60) [net.bluemind.scheduledjob.scheduler_3.1.28073.jar:na]
        at net.bluemind.scheduledjob.scheduler.impl.JobSchedulerVerticle$1.handle(JobSchedulerVerticle.java:1) [net.bluemind.scheduledjob.scheduler_3.1.28073.jar:na]
        at org.vertx.java.core.impl.DefaultVertx$InternalTimerHandler.run(DefaultVertx.java:432) [io.vertx.core_2.1.6.bm16.jar:na]
        at org.vertx.java.core.impl.DefaultContext$3.run(DefaultContext.java:175) [io.vertx.core_2.1.6.bm16.jar:na]
        at org.vertx.java.core.impl.DefaultContext$3.run(DefaultContext.java:175) [io.vertx.core_2.1.6.bm16.jar:na]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_131]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_131]
        at java.lang.Thread.run(Thread.java:748) [na:1.8.0_131]
2018-04-20 12:46:47,306 [vert.x-worker-thread-12] n.b.s.s.i.SystemConfiguration WARN - Trying loading 3.0 bminfo
2018-04-20 12:46:47,318 [vert.x-worker-thread-12] n.b.s.s.i.InstallationService INFO - error retrieving database version : Fail to fetch system configuration
net.bluemind.core.api.fault.ServerFault: Fail to fetch system configuration
        at net.bluemind.system.service.internal.SystemConfiguration.getValues(SystemConfiguration.java:91) ~[net.bluemind.system.service_3.1.28073.jar:na]
        at net.bluemind.system.service.internal.InstallationService.getVersion(InstallationService.java:243) ~[net.bluemind.system.service_3.1.28073.jar:na]
        at net.bluemind.scheduledjob.scheduler.impl.JobSchedulerVerticle.versionMismatch(JobSchedulerVerticle.java:93) [net.bluemind.scheduledjob.scheduler_3.1.28073.jar:na]
        at net.bluemind.scheduledjob.scheduler.impl.JobSchedulerVerticle.isDisabled(JobSchedulerVerticle.java:80) [net.bluemind.scheduledjob.scheduler_3.1.28073.jar:na]
        at net.bluemind.scheduledjob.scheduler.impl.JobSchedulerVerticle.executeJobs(JobSchedulerVerticle.java:66) [net.bluemind.scheduledjob.scheduler_3.1.28073.jar:na]
        at net.bluemind.scheduledjob.scheduler.impl.JobSchedulerVerticle$1.handle(JobSchedulerVerticle.java:60) [net.bluemind.scheduledjob.scheduler_3.1.28073.jar:na]
        at net.bluemind.scheduledjob.scheduler.impl.JobSchedulerVerticle$1.handle(JobSchedulerVerticle.java:1) [net.bluemind.scheduledjob.scheduler_3.1.28073.jar:na]
        at org.vertx.java.core.impl.DefaultVertx$InternalTimerHandler.run(DefaultVertx.java:432) [io.vertx.core_2.1.6.bm16.jar:na]
        at org.vertx.java.core.impl.DefaultContext$3.run(DefaultContext.java:175) [io.vertx.core_2.1.6.bm16.jar:na]
        at org.vertx.java.core.impl.DefaultContext$3.run(DefaultContext.java:175) [io.vertx.core_2.1.6.bm16.jar:na]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_131]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_131]
        at java.lang.Thread.run(Thread.java:748) [na:1.8.0_131]
Caused by: java.lang.NullPointerException: null
        at net.bluemind.core.jdbc.JdbcAbstractStore.getConnection(JdbcAbstractStore.java:401) ~[net.bluemind.core.jdbc_3.1.28073.jar:na]
        at net.bluemind.core.jdbc.JdbcAbstractStore.select(JdbcAbstractStore.java:71) ~[net.bluemind.core.jdbc_3.1.28073.jar:na]
        at net.bluemind.core.jdbc.JdbcAbstractStore.select(JdbcAbstractStore.java:57) ~[net.bluemind.core.jdbc_3.1.28073.jar:na]
        at net.bluemind.system.persistance.SystemConfStore.get30(SystemConfStore.java:64) ~[net.bluemind.system.persistance_3.1.28073.jar:na]
        at net.bluemind.system.service.internal.SystemConfiguration.getValues(SystemConfiguration.java:84) ~[net.bluemind.system.service_3.1.28073.jar:na]
        ... 12 common frames omitted
2018-04-20 12:46:47,319 [vert.x-worker-thread-12] n.b.s.s.i.InstallationService INFO - error retrieving database version : null
java.lang.NullPointerException: null
        at net.bluemind.core.jdbc.JdbcAbstractStore.getConnection(JdbcAbstractStore.java:401) ~[net.bluemind.core.jdbc_3.1.28073.jar:na]
        at net.bluemind.core.jdbc.JdbcAbstractStore.select(JdbcAbstractStore.java:71) ~[net.bluemind.core.jdbc_3.1.28073.jar:na]
        at net.bluemind.core.jdbc.JdbcAbstractStore.select(JdbcAbstractStore.java:57) ~[net.bluemind.core.jdbc_3.1.28073.jar:na]
        at net.bluemind.system.persistance.SchemaVersionStore.getComponentsVersion(SchemaVersionStore.java:81) ~[net.bluemind.system.persistance_3.1.28073.jar:na]
        at net.bluemind.system.service.internal.InstallationService.getComponentsVersion(InstallationService.java:262) [net.bluemind.system.service_3.1.28073.jar:na]
        at net.bluemind.system.service.internal.InstallationService.getVersion(InstallationService.java:249) [net.bluemind.system.service_3.1.28073.jar:na]
        at net.bluemind.scheduledjob.scheduler.impl.JobSchedulerVerticle.versionMismatch(JobSchedulerVerticle.java:93) [net.bluemind.scheduledjob.scheduler_3.1.28073.jar:na]
        at net.bluemind.scheduledjob.scheduler.impl.JobSchedulerVerticle.isDisabled(JobSchedulerVerticle.java:80) [net.bluemind.scheduledjob.scheduler_3.1.28073.jar:na]
        at net.bluemind.scheduledjob.scheduler.impl.JobSchedulerVerticle.executeJobs(JobSchedulerVerticle.java:66) [net.bluemind.scheduledjob.scheduler_3.1.28073.jar:na]
        at net.bluemind.scheduledjob.scheduler.impl.JobSchedulerVerticle$1.handle(JobSchedulerVerticle.java:60) [net.bluemind.scheduledjob.scheduler_3.1.28073.jar:na]
        at net.bluemind.scheduledjob.scheduler.impl.JobSchedulerVerticle$1.handle(JobSchedulerVerticle.java:1) [net.bluemind.scheduledjob.scheduler_3.1.28073.jar:na]
        at org.vertx.java.core.impl.DefaultVertx$InternalTimerHandler.run(DefaultVertx.java:432) [io.vertx.core_2.1.6.bm16.jar:na]
        at org.vertx.java.core.impl.DefaultContext$3.run(DefaultContext.java:175) [io.vertx.core_2.1.6.bm16.jar:na]
        at org.vertx.java.core.impl.DefaultContext$3.run(DefaultContext.java:175) [io.vertx.core_2.1.6.bm16.jar:na]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_131]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_131]
        at java.lang.Thread.run(Thread.java:748) [na:1.8.0_131]
2018-04-20 12:46:47,319 [vert.x-worker-thread-12] n.b.s.s.i.JobSchedulerVerticle INFO - No db version
2018-04-20 12:46:47,319 [vert.x-worker-thread-12] n.b.s.s.i.JobSchedulerVerticle WARN - core jobs are disabled
2018-04-20 12:46:49,477 [core-heartbeat-timer] n.b.s.s.StateContext INFO - Core state heartbeat : core.state.upgrade

Comment dois-je procéder ?

Bonjour,
En regardant la doc il semblerai qu’il manque le fait de synchroniser le fichier /etc/bm/bm.ini qui contient notamment l’ip de la BD.
Est ce que tu as bien executé le /setup sur le deuxième serveur avant de monter les données partagées ?

Bonjour,

Oui j’avais installer comme le premier ( j’ai juste changer le fqdn).

Juste pour clarifier, la HA dans Bluemind ne fonctionne pas en mode master/master mais master/slave avec un seul des deux serveurs up, il faut également que lors de la bascule sur le deuxième serveur celui ci prenne l’ip du premier. C’est bien le cas sur ton installation ?

Justement je cherche à comprendre comment faire fonctionne le tout en mode master/slave en utilisant une ip flottante. j’ignore comment procéder dans se cas pour faire en sorte que le deuxième soit en slave.

Dans la documentation la procédure n’est pas claire dans la réplication vers un deuxième serveur.

Une autre solution à été trouvé, à l’aide de Imapsync