Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Synchronisation de deux serveurs

4 réponses
Avatar
JKB
Bonjour à tous,

J'ai un petit truc à monter et je butte sur deux ou trois choses ;-)
Je sais à peu près monter un cluster, des serveurs loadbalancés ou
SSI, mais j'ai un truc un peu plus sioux à faire.

Considérons deux serveurs Sun T1000 munis chacun de deux disques
durs SAS internes en Raid1 avec un système d'exploitation de type
Linux/debian.

Considérons aussi que ces deux machines sont vues avec les adresses
X.Y.Z.1 et X.Y.Z.2 depuis Internet. Ces deux serveurs sont allumés
en même temps, l'un suppléant aux faiblesses de l'autre. Il ne
s'agit pas d'un cluster, ce n'est pas le but pour un certain nombre
de (bonnes) raisons.

Lorsque (1) est active, elle prend comme adresse virtuelle X.Y.Z.15
et monte un volume Raid6 externe qu'elle exporte en NFSv3 (par une
autre interface réseau, là n'est pas le problème) et signale à (2)
qu'elle doit rester en veille (donc pas d'IP virtuelle sur (2) ni de
montage de volume Raid6). Si (1) s'arrête pour n'importe quelle
raison, je souhaite que (2) monte ses interfaces réseau virtuelles
et le volume Raid6 pour suppléer aux dysfonctionnements de (1). Et
réciproquement si j'ose dire...

D'où deux problèmes :
1/ comment faire communiquer les deux serveurs pour qu'un seul des
deux soit actif ? Hearbeat peut-il faire cela est si oui comment ?
2/ comment synchroniser les deux systèmes ? À grands coups de Raid10
avec du Raid1 sur chaque serveur et un Raid0 entre les deux sur du
iSCSI ? Autre solution ? Comment éviter la synchronisation de
fichiers différents d'une machine à l'autre comme les /etc/hosts,
les adresses IP _réelles_ de la machine ? Faut-il synchroniser le
truc à grands coups de rsync ou de unison dans un cron ?

Bref, je sèche... et je suis à la recherche de quelques conseils...

Cordialement,

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.

--
Pour contacter l'équipe de modération : moderateurs-fcolm@efrei.fr
ATTENTION: Postez DIRECTEMENT vos articles dans le groupe, PAS dans
la liste de distribution des modérateurs.

4 réponses

Avatar
Dominique ROUSSEAU
Le sam, 30 jun 2007 at 19:13 GMT, JKB a écrit :
[... snip la description du problème ...]
D'où deux problèmes :
1/ comment faire communiquer les deux serveurs pour qu'un seul des
deux soit actif ? Hearbeat peut-il faire cela est si oui comment ?



heartbeat, ou keepalived devraient faire l'affaire, oui

2/ comment synchroniser les deux systèmes ? À grands coups de Raid10
avec du Raid1 sur chaque serveur et un Raid0 entre les deux sur du
iSCSI ? Autre solution ? Comment éviter la synchronisation de
fichiers différents d'une machine à l'autre comme les /etc/hosts,
les adresses IP _réelles_ de la machine ? Faut-il synchroniser le
truc à grands coups de rsync ou de unison dans un cron ?



Alors là, ça dépend.
Selon ce que tu veux synchroniser (données, conf, ...) la méthode risque
d'être différente.
Pour les données, tu es a priori parti sur une solution de stockage
mutualisé, externe, avec ta baie Raid. Ce qui peut compliquer un peu les
choses, c'est qu'il faut que les "consommateurs" soient au courant
qu'ils vont accéder «en meme temps» au meme filesystem.
A priori, les candidats sont gfs et ocfs2
(éventuellement avec une louche LVM avec les extensions cluster)
Si tu n'utilises pas de baie de stockage externe, une autre solution,
c'est drbd pour synchroniser en live 2 périphériques bloc. Même
contraintes pour le fs.

Pour la conf, une solution à base de rsync (ou assimilé) devrait assez
bien convenir. Avec une petite louchée de scripts faits main pour
tenir compte des différences de conf entre les 2.
Une autre solution, c'est d'utiliser un système comme cfengine qui
permet la gestion centralisée des confs, sur un serveur tiers, et leur
diffusion sur les serveurs "consommateurs".



Dom

--
Pour contacter l'équipe de modération :
ATTENTION: Postez DIRECTEMENT vos articles dans le groupe, PAS dans
la liste de distribution des modérateurs.
Avatar
JKB
Le 01-07-2007, à propos de
Re: Synchronisation de deux serveurs,
Dominique ROUSSEAU écrivait dans fr.comp.os.linux.moderated :
Le sam, 30 jun 2007 at 19:13 GMT, JKB a écrit :
[... snip la description du problème ...]
D'où deux problèmes :
1/ comment faire communiquer les deux serveurs pour qu'un seul des
deux soit actif ? Hearbeat peut-il faire cela est si oui comment ?



heartbeat, ou keepalived devraient faire l'affaire, oui



Un bon point ;-)

2/ comment synchroniser les deux systèmes ? À grands coups de Raid10
avec du Raid1 sur chaque serveur et un Raid0 entre les deux sur du
iSCSI ? Autre solution ? Comment éviter la synchronisation de
fichiers différents d'une machine à l'autre comme les /etc/hosts,
les adresses IP _réelles_ de la machine ? Faut-il synchroniser le
truc à grands coups de rsync ou de unison dans un cron ?



Alors là, ça dépend.
Selon ce que tu veux synchroniser (données, conf, ...) la méthode risque
d'être différente.
Pour les données, tu es a priori parti sur une solution de stockage
mutualisé, externe, avec ta baie Raid. Ce qui peut compliquer un peu les
choses, c'est qu'il faut que les "consommateurs" soient au courant
qu'ils vont accéder «en meme temps» au meme filesystem.
A priori, les candidats sont gfs et ocfs2
(éventuellement avec une louche LVM avec les extensions cluster)
Si tu n'utilises pas de baie de stockage externe, une autre solution,
c'est drbd pour synchroniser en live 2 périphériques bloc. Même
contraintes pour le fs.



En fait, ma baie est une D1000 de Monsieur Sun avec douze disques de
300 Go en Raid6. Elle ne sera montée que par le serveur actuellement
actif, donc pas de problèmes pour accéder aux données. J'ai
simplement un doute sur la capacité d'adressage du contrôleur SCSI.
Sera-t-il limité à 2Go ?

Mon idée de base était :
Serveur (1) actif -> il monte la baie de disques et les interfaces
réseau virtuelles
Serveur (2) actif -> idem

Je pense que le résultat reste transparent pour les utilisateurs
final (à la déconnexion NFS près de la bascule entre les deux
serveurs).

Mon problème est donc simplement la synchronisation de la
configuration des deux serveurs frontaux.

Pour la conf, une solution à base de rsync (ou assimilé) devrait assez
bien convenir. Avec une petite louchée de scripts faits main pour
tenir compte des différences de conf entre les 2.
Une autre solution, c'est d'utiliser un système comme cfengine qui
permet la gestion centralisée des confs, sur un serveur tiers, et leur
diffusion sur les serveurs "consommateurs".



Je ne connais pas cfengine. Je vais regarder cela de près. Merci du
tuyau.

Cordialement,

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.

--
Pour contacter l'équipe de modération :
ATTENTION: Postez DIRECTEMENT vos articles dans le groupe, PAS dans
la liste de distribution des modérateurs.
Avatar
Philippe WEILL
JKB wrote:

En fait, ma baie est une D1000 de Monsieur Sun avec douze disques de
300 Go en Raid6. Elle ne sera montée que par le serveur actuellement
actif, donc pas de problèmes pour accéder aux données. J'ai
simplement un doute sur la capacité d'adressage du contrôleur SCSI.
Sera-t-il limité à 2Go ?



Visiblement le probleme venais du firmware de nos baies

je viens de recevoir cela ce matin
*** Mise à jour stockage: nouveau Firmware pour système RAID PROVIGO 610 ***
D'importantes mises à jour Firmware sont disponibles pour les modèles
RAID PROVIGO 610 actuels dotés de 16 disques durs : pour les modèles
SCSI/SATA, la limite des 2 téraoctets disparaît pour Volumes sous Linux.



Mon idée de base était :
Serveur (1) actif -> il monte la baie de disques et les interfaces
réseau virtuelles
Serveur (2) actif -> idem



Est ce que tu commandes electriquement la bascule de serveurs
en général sur ce genre de config on préfere éteindre electriquement le serveur
qui perd son rôle de maitre pour éviter toute source de gros probleme



Je pense que le résultat reste transparent pour les utilisateurs
final (à la déconnexion NFS près de la bascule entre les deux
serveurs).



Si la solution marche bien je suis preneur d'info ;-)


Cordialement,

JKB




--
Pour contacter l'équipe de modération :
ATTENTION: Postez DIRECTEMENT vos articles dans le groupe, PAS dans
la liste de distribution des modérateurs.
Avatar
JKB
Le 04-07-2007, à propos de
Re: Synchronisation de deux serveurs,
Philippe WEILL écrivait dans fr.comp.os.linux.moderated :
JKB wrote:

En fait, ma baie est une D1000 de Monsieur Sun avec douze disques de
300 Go en Raid6. Elle ne sera montée que par le serveur actuellement
actif, donc pas de problèmes pour accéder aux données. J'ai
simplement un doute sur la capacité d'adressage du contrôleur SCSI.
Sera-t-il limité à 2Go ?



Visiblement le probleme venais du firmware de nos baies

je viens de recevoir cela ce matin
*** Mise à jour stockage: nouveau Firmware pour système RAID PROVIGO 610 ***
D'importantes mises à jour Firmware sont disponibles pour les modèles
RAID PROVIGO 610 actuels dotés de 16 disques durs : pour les modèles
SCSI/SATA, la limite des 2 téraoctets disparaît pour Volumes sous Linux.



D'apres le support Sun, je puis directement adresser plus de 2 To
avec les cartes SCSI intégrées.

Mon idée de base était :
Serveur (1) actif -> il monte la baie de disques et les interfaces
réseau virtuelles
Serveur (2) actif -> idem



Est ce que tu commandes electriquement la bascule de serveurs
en général sur ce genre de config on préfere éteindre electriquement le serveur
qui perd son rôle de maitre pour éviter toute source de gros probleme



Non, je ne compte pas le faire sauf si le serveur en défaut est
tellement en défaut qu'il ne relache pas ses adresses IP virtuelles.

Je pense que le résultat reste transparent pour les utilisateurs
final (à la déconnexion NFS près de la bascule entre les deux
serveurs).



Si la solution marche bien je suis preneur d'info ;-)



Je vais m'amuser un peu avec mes T1000 ;-) Je ferai de la doc si
cela fonctionne bien.

Cordialement,

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.

--
Pour contacter l'équipe de modération :
ATTENTION: Postez DIRECTEMENT vos articles dans le groupe, PAS dans
la liste de distribution des modérateurs.