braveo:docinstallcluster
Différences
Ci-dessous, les différences entre deux révisions de la page.
— | braveo:docinstallcluster [2022/09/04 21:02] (Version actuelle) – créée - modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | |||
+ | ===== Installation d'un cluster ejabberd ===== | ||
+ | Source : http:// | ||
+ | ===== Présentation ===== | ||
+ | |||
+ | Son architecture lui permet de fonctionner sur un cluster de machines avec la possibilité d' | ||
+ | Le cluster comportera 2 noeuds : | ||
+ | |||
+ | | ||
+ | |||
+ | |||
+ | |||
+ | ===== Installation du premier noeud ===== | ||
+ | L' | ||
+ | |||
+ | Pour que les noeuds soient pris en compte, nous devons modifier le script d'init du server ejabberd. | ||
+ | |||
+ | Editons le fichier / | ||
+ | |||
+ | < | ||
+ | start() | ||
+ | { | ||
+ | mkrundir | ||
+ | |||
+ | cd / | ||
+ | # su $EJABBERDUSER -c " | ||
+ | su $EJABBERDUSER -c " | ||
+ | ... | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | où **jabber**, **jabber2** sont les noeuds de notre cluster. | ||
+ | |||
+ | On redémarre le serveur : | ||
+ | / | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Installation sur le second noeud ===== | ||
+ | |||
+ | |||
+ | Pour que notre serveur fonctionne correctement, | ||
+ | le serveur dns (bind). | ||
+ | < | ||
+ | |||
+ | jabber2 IN A 92.xxx.xxx.xxx | ||
+ | _jabber._tcp.mdl29.net. IN SRV | ||
+ | _jabber._tcp IN SRV 5 0 5269 | ||
+ | _xmpp-server IN SRV 5 0 5269 | ||
+ | _xmpp-client._tcp IN SRV 5 0 5222 | ||
+ | </ | ||
+ | |||
+ | Une fois cette configuration faite, nous lançons une installation «classqiue» : | ||
+ | apt-get install ejabberd | ||
+ | | ||
+ | |||
+ | |||
+ | ===== Configuration ===== | ||
+ | Avant de faire les manipulations suivantes, il est important de bien stopper | ||
+ | les serveurs destinés à faire partie du cluster. | ||
+ | |||
+ | La première étape consiste à recopier le cookie du serveur primaire vers le serveur secondaire. **En effet, ce cookie est utilisé par les différents noeuds pour l' | ||
+ | |||
+ | < | ||
+ | |||
+ | |||
+ | On récupère le cookie depuis notre serveur primaire : | ||
+ | < | ||
+ | scp user@noeud.primaire: | ||
+ | sudo chown ejabberd: ~ejabberd/ | ||
+ | </ | ||
+ | |||
+ | Note: ~ejabberd => / | ||
+ | |||
+ | C' | ||
+ | < | ||
+ | scp user@noeud.primaire:/ | ||
+ | sudo mv / | ||
+ | sudo mv ejabberd.cfg / | ||
+ | sudo chown ejabberd: / | ||
+ | </ | ||
+ | |||
+ | Pensez à faire une sauvegarde de vos fichiers de configuration :-) | ||
+ | |||
+ | Une fois ces étapes finies, théoriquement il est conseillé d' | ||
+ | ERLANG_NODE=ejabberd@`hostname -s`. | ||
+ | Il sert à définir le nom de notre noeud. | ||
+ | |||
+ | Mais je laisse par le réglage par défaut qui fonctionne très bien, c'est à dire # | ||
+ | |||
+ | ===== Exportation de la base de données du noeud primaire ===== | ||
+ | |||
+ | La dernière étape concerne la base de données «internes» du noeud primaire. En effet, ejabberd utilise une base de données mnesia pour stocker diverses informations relatives à la dernière activité des utilisateurs, | ||
+ | |||
+ | |||
+ | Nous stoppons le serveur ejabberd : | ||
+ | / | ||
+ | |||
+ | < | ||
+ | **Savegarde de la base courante** | ||
+ | |||
+ | Nous allons sauvegarder la base courante dans un répertoire save. | ||
+ | < | ||
+ | sudo mkdir / | ||
+ | sudo mv / | ||
+ | </ | ||
+ | |||
+ | Un petit message d' | ||
+ | |||
+ | **Recopions la base de données depuis le serveur primaire** | ||
+ | < | ||
+ | mkdir / | ||
+ | cd / | ||
+ | scp user@noeud.primaire:/ | ||
+ | sudo cp * / | ||
+ | sudo chown ejabberd: / | ||
+ | </ | ||
+ | |||
+ | |||
+ | Une fois la base recopiée, il nous faut modifier le fichier / | ||
+ | |||
+ | |||
+ | Editons enfin le script d'init de manière à modifier la commande lancée lors de l' | ||
+ | |||
+ | < | ||
+ | start() | ||
+ | { | ||
+ | mkrundir | ||
+ | |||
+ | cd / | ||
+ | # su $EJABBERDUSER -c " | ||
+ | su $EJABBERDUSER -c " | ||
+ | ... | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | où **jabber**, **jabber2** sont les noeuds de notre cluster. | ||
+ | |||
+ | ===== Vérification ===== | ||
+ | Nous allons faire un tour dans l' | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | Et voilà, nos 2 noeuds sont bien actifs :-P | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||