Mise en place d'une solution de Haute Disponibilité

Mise en place d'une solution de Haute Disponibilité - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 22-03-2007 à 21:51:20    

Bonjour à tous  :D  !!
 
    Tout d'abord, merci de lire ce sujet ! Je vous expose mon probleme: Je voudrais mettre en place une solution de haute disponibilité avec HeartBeat et un systeme de raid1 over IP entre 2 passerelles à l'aide d'un logiciel approprié dont j'ai oublié le nom mais voici son fonctionnement: On créer une partition sur le disque qui est automatiquement synchronisée avec une autre partition de meme taille distante sur l'autre ordinateur.
 
Mon objectif est de mettre en place une redondance de telle sorte que si je fais une modif sur le firewall iptables par exemple, cette modif soit prise en compte sur l'autre passerelle, donc ili faut que le fichier de config de iptables soit sur la partition qui va etre synchronisée, ainsi que les fichiers web etc...
 
Ma question est simple: Comment organiser mes partitions sur les systèmes afin qu'il y ait redondance entre les 2 ordinateurs au niveau du DNS, DHCP, de Squid, Apache, Samba, fichiers Web, base de données etc...? (En gros est-il possible de mettre tous les programmes ainsi que leurs fichiers sur une partition de telle sorte que lorsque j'installe ou que je modifie un programme sur la premiere passerelle, il soit installé automatiquement sur l'autre ?, jusqu'ou peux-ton pousser la synchronisation entre les 2 passerelles?)  
 
[EDIT] Je parle bien sur ici des programmes qui sont independants du materiel afin qu'il n'y ait pas de conflit entre les 2 machines
 
Merci d'avance !
RedVivi


Message édité par redvivi le 22-03-2007 à 21:56:12
Reply

Marsh Posté le 22-03-2007 à 21:51:20   

Reply

Marsh Posté le 23-03-2007 à 19:45:08    

J'ai mis une solution de ce type en place
 
HA + DRBD
 
Le mieux est de monter /dev/drbdX en tant que /data
 
et de créer des montages via l'option bind de mount
 
monter /data/var/lib/postgres sur /var/lib/postgres
 
...

Reply

Marsh Posté le 25-03-2007 à 11:16:47    

Mais pourquoi ne pas installer les programmes directement sur la partition data (ce qui necessite les sources) ? Quel est l'avantage d'utiliser l'option BIND ? Pour ce qui est de la solution dans sa globalité, quelles sont les paramètres de la machine que je peux sauvegarder (quelles sont les parametres qui sont "materiellement-independant" ) ?
 
Merci d'avance ! :D

Reply

Marsh Posté le 25-03-2007 à 16:03:12    

pourquoi avoir les programmes sur la partition data ?
quel est l'avantage ?
 
seules les données et la conf sont importants.
 
l'option bind permet de monter un répertoire dans un autre
 
ce qu'il faut sauvegarder -> données + conf

Reply

Marsh Posté le 25-03-2007 à 16:06:57    

le DNS n'a pas besoin de ce genre de système pour être redondé. Le DHCP ça peut être sport à faire selon ta configuration et pour le /etc ce n'est pas une bonne idée.


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 25-03-2007 à 16:11:24    

1) Je suis desole mais je comprend pas ta methode avec le montage, tu installes tous tes programmes "normalement" sur ta machine, mais tes donnees sont (souvent) dans les sous repertoires du programme et ne sont en aucun cas sur "data" !?? Donc les donnees ne seront pas sauvegardés ?
 
2) En fait je me demandais si il était concevable d'installer un programme sur la machine A, et qui, via DRDB, soit installé aussi sur la machine B ? :s
 
3)

Citation :

le DNS n'a pas besoin de ce genre de système pour être redondé. Le DHCP ça peut être sport à faire selon ta configuration et pour le /etc ce n'est pas une bonne idée.

De tout de façon je n'ai pas le choix il faut que le DHCP et le DNS (cache DNS) soit redondé.

Message cité 1 fois
Message édité par redvivi le 25-03-2007 à 16:13:28
Reply

Marsh Posté le 25-03-2007 à 16:19:27    

redvivi a écrit :

1) Je suis desole mais je comprend pas ta methode avec le montage, tu installes tous tes programmes "normalement" sur ta machine, mais tes donnees sont (souvent) dans les sous repertoires du programme et ne sont en aucun cas sur "data" !?? Donc les donnees ne seront pas sauvegardés ?


 
redondance  n'est pas sauvegarde.
 

redvivi a écrit :

2) En fait je me demandais si il était concevable d'installer un programme sur la machine A, et qui, via DRDB, soit installé aussi sur la machine B ? :s


 
c'est mal (tm) au pire tu montes ton /usr/ton_service en NFS sur un filer (en cas d'utilisation des sources), sinon ce sera plus simple de maintenir les services sur 2 machines. à toi de t'asteindre à un minimum de rigueur pour que les confs soient à jour, ou bien être assez malin.
 

redvivi a écrit :

3)

Citation :

le DNS n'a pas besoin de ce genre de système pour être redondé. Le DHCP ça peut être sport à faire selon ta configuration et pour le /etc ce n'est pas une bonne idée.

De tout de façon je n'ai pas le choix il faut que le DHCP et le DNS (cache DNS) soit redondé.


 
je n'ai pas dit qu'il ne fallait pas le faire, j'ai dit que drdb (ou autre n'était pas nécessaire. DNS : 1 serveur primaire, et des secondaires point barre. Pour le DHCP il faut t'attendre à des comportement erratiques sur ton réseau en cas de bascule vers l'esclave.


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 25-03-2007 à 16:29:19    

black_lord a écrit :

redondance  n'est pas sauvegarde.


 
Mille excuses j'ai voulu dire redondance, je voulais juste dire que je n'avais pas compris le systeme que m'a preconise Splurf.
 
 

Citation :


c'est mal (tm) au pire tu montes ton /usr/ton_service en NFS sur un filer (en cas d'utilisation des sources), sinon ce sera plus simple de maintenir les services sur 2 machines. à toi de t'asteindre à un minimum de rigueur pour que les confs soient à jour, ou bien être assez malin.


 
Bon, je pense que j'installerais les programmes en double...et juste la conf et les donnees associees seront redondées
 
 

Citation :


je n'ai pas dit qu'il ne fallait pas le faire, j'ai dit que drdb (ou autre n'était pas nécessaire. DNS : 1 serveur primaire, et des secondaires point barre. Pour le DHCP il faut t'attendre à des comportement erratiques sur ton réseau en cas de bascule vers l'esclave.


 
Ok pour le DNS, cependant pour le DHCP, dans la configuration que j'ai prevue, chaque adresse IP sera associee a une seule adresse MAC, il suffirait juste que la machine redondante prenne en charge les nouvelles requetes DHCP, j'ai faux ?


Message édité par redvivi le 25-03-2007 à 16:31:04
Reply

Marsh Posté le 25-03-2007 à 16:34:38    

c'est un concept que j'ai du mal à saisir : pourquoi vouloir fixer une IP via la mac? le DHCP c'est DYNAMIQUE, sinon autant rester en IP fixe [:spamafote]


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 25-03-2007 à 16:52:47    

Pour éviter les erreurs de configuration manuelle des postes et pour eviter que l'un prenne l'adresse IP de l'autre. :d


Message édité par redvivi le 25-03-2007 à 16:54:59
Reply

Marsh Posté le 25-03-2007 à 16:52:47   

Reply

Marsh Posté le 25-03-2007 à 17:32:03    

faut pas laisser les users être admins [:spamafote]


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 25-03-2007 à 17:42:40    

Je travaille à ce que ça puisse changer justement, enfin j'ai beaucoup réfléchi et je partirais sur cette voie...Sinon pour ce qui est de mes question à propos du systeme de Splurf et du DHCP (hormis le fait que tu trouve le concept peu élégant) ?
 

Citation :

Mille excuses j'ai voulu dire redondance, je voulais juste dire que je n'avais pas compris le systeme que m'a preconise Splurf.


Citation :

Ok pour le DNS, cependant pour le DHCP, dans la configuration que j'ai prevue, chaque adresse IP sera associee a une seule adresse MAC, il suffirait juste que la machine redondante prenne en charge les nouvelles requetes DHCP, j'ai faux ?

Reply

Marsh Posté le 25-03-2007 à 20:07:44    

bon:
 
pour le DNS: utilise les mécanismes de bind
pour le DHCP utilise les mécanismes du serveur DHCP
pour squid: une ip flottante via HA (conf répliquées)
apache: ip flottante via HA
fichiers: partition drbd montée sur /data avec des mount --bind
samba: partition drbd montée sur /data avec des mount --bind + conf répliquée (drbd pour /var/lib/data et le partage netlogon en cas de PDC) + ip flottante
base de données: partition drbd montée sur /data (var/lib/postgresql ou var/lib/mysql) et conf répliquée + ip flottante

Reply

Marsh Posté le 12-04-2007 à 13:47:37    

Bonjour,
 
Je poursuis ce post car j'en suis à l'installation de la nouvelle machine et je voulais savoir quel partitionnement (disque de 160GB) serait l'ideal pour mettre en place une solution de HA ? Y a t il des choix stratégiques à faire ?
 
Merci d'avance !
RedVivi

Reply

Marsh Posté le 13-04-2007 à 23:39:58    

un partitionnement classique, et une partition séparée pour drbd par exemple

Reply

Marsh Posté le 14-04-2007 à 13:42:19    

black_lord a écrit :

c'est un concept que j'ai du mal à saisir : pourquoi vouloir fixer une IP via la mac? le DHCP c'est DYNAMIQUE, sinon autant rester en IP fixe [:spamafote]


Pour centraliser la configuration réseau.


---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
Reply

Marsh Posté le 14-04-2007 à 14:40:59    

Peux tu developper le partitionnement classique ? En fait je pense que près de 50% de l'espace disque sera occupé par /user/, 5% pour /var/lib/, 35% par /home/, et le reste par la systeme, en sachant que les dossiers pour lesquels j'ai spécifié les pourcentages doivent etre synchronisé avec DRBD. Je suppose que j'ai plutot interet à avoir le disque dur des 2 serveurs avec le meme partitionnement ?

Reply

Marsh Posté le 14-04-2007 à 14:52:55    

Ou alors, comme suggéré, une partition /data avec des "montages internes" permettants de recréer l'arborescence standard ?

Reply

Marsh Posté le 14-04-2007 à 15:13:48    

Sinon, plutot que d'abuser des montages, de simples liens symbolique font très bien l'affaire.
 
Ou alors reconfigurer les applis pour qu'elles aillent chercher leurs fichiers directement dans la partition DRBD ;)


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 14-04-2007 à 17:40:23    

Ok, mais pour ce qui est de la répartition de la taille des partition ? si j'ai bien compris je ne fais pas de partition pour /home/, /var/lib/ et /user/ ?

Reply

Marsh Posté le 14-04-2007 à 17:50:06    

Ben tu fais comme tu le sens, sachant que ta partoche drbd devra recevoir les infos partagés entre tes serveurs.
 
Mais bon, DNS et DHCP c'est pas ce qu'il y a de plus gourmand, une dizaine de Mo devrait suffire ^^


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 14-04-2007 à 17:55:21    

Bon...finalement je pense que je vais adopter pour une partition /data/ de 70% de la taille du disque et des liens symboliques pour reconstruire l'arborescence ! Merci à tous :D!


Message édité par redvivi le 14-04-2007 à 17:55:33
Reply

Marsh Posté le 15-04-2007 à 10:42:23    

les liens symboliques bof bof .... penche toi sur l'option bind de mount

Reply

Marsh Posté le 15-04-2007 à 21:49:50    

Pourquoi deconseille tu cette methode ?

Reply

Marsh Posté le 17-04-2007 à 19:46:37    

comportement par défaut de find, mount, rsync, ..... par rapport aux symlinks qui ne sont pas vus comme un filesystem à part entiere.

Reply

Marsh Posté le 24-06-2007 à 12:40:54    

Je sens que je vais me faire incendier....mais ça pose problème de faire un mount --bind pour lire /etc/passwd et /etc/group à partir d'une autre partition ?

Reply

Marsh Posté le 24-06-2007 à 18:04:28    

dans quel but ?

Reply

Marsh Posté le 24-06-2007 à 18:20:59    

Pour éviter de changer la configuration sur les 2 machines au lieu d'une (/data est synchronisé)

Reply

Marsh Posté le 24-06-2007 à 23:50:21    

je vois sincerement pas le but
 
tu peux en dire plus ?

Reply

Marsh Posté le 25-06-2007 à 07:56:35    

J'ai 2 machines qui vont être en cluster vois tu...et si j'ajoute un utilisateur sur la machine1, je voudrais qu'il soit répliqué sur la 2eme automatiquement....cependant je viens de me rendre compte que ce que je veux faire c'est très bête car la partition synchronisé via drdb ne doit pas être montée au démarrage...donc le système ne porra pas le lire...bon...tant pis!

Message cité 1 fois
Message édité par redvivi le 25-06-2007 à 07:56:50
Reply

Marsh Posté le 25-06-2007 à 08:29:26    

ben tu peux aussi mettre un système d'auth externe.. NIS toussa


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 25-06-2007 à 13:11:19    

Réplication des charges, parallélisme, montage double-IP au niveau DNS (2 IP différentes et une même adresse) ...
Ce bordel me fait rêver. HA est complexe à mettre en oeuvre.
 
J'ai étudié une architecture un peu différente il y a 4 ou 5 ans. Le souci que j'avais venait des configurations de mySQL puisque Master-> Slave.
 
Je suppose qu'aujourd'hui la donne a changé. Comment seront lancés les processus ?
Y a-t-il un frontend qui contrôlera les machines ?
Kerberos peut être intéressant pour l'authentification des users (LDAP aussi bien évidemment).
J'aimerais suivre l'évolution de ce projet. Si retrouve mes confs ça serait chouette.

Reply

Marsh Posté le 25-06-2007 à 13:26:55    

utilise ldap pour l'auth (ou nis).
 
copier /etc/passwd c'est cochonou

Reply

Marsh Posté le 25-06-2007 à 20:09:19    

C'est un projet perso ou pour le taf? Parce que la HD c'est sérieux, quand tu passes le bouzin en prod, si t'as pas tout bien pensé, c'est tendu. Et le jour où tu as un pépin, faut que tout marche :)

Reply

Marsh Posté le 25-06-2007 à 20:56:04    

Disons que c'est de la prod mais si ça tombe en panne ya vraiment rien de grave, je fais de mon mieux....

Reply

Marsh Posté le 25-06-2007 à 23:52:08    

Peux-tu nous faire un petit plan basique du réseau pour qu'on ait une idée ?
 
Je n'ai pas saisi le contexte. Est-ce un accès vers l'un des 2 clusters ou y a-t-il un frontend ?

Reply

Marsh Posté le 26-06-2007 à 10:37:10    

redvivi a écrit :

J'ai 2 machines qui vont être en cluster vois tu...et si j'ajoute un utilisateur sur la machine1, je voudrais qu'il soit répliqué sur la 2eme automatiquement....cependant je viens de me rendre compte que ce que je veux faire c'est très bête car la partition synchronisé via drdb ne doit pas être montée au démarrage...donc le système ne porra pas le lire...bon...tant pis!


Suffit de synchroniser avec rsync par exemple.


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 26-06-2007 à 10:44:55    

e_esprit a écrit :

Suffit de synchroniser avec rsync par exemple.


[:vomi]


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 27-06-2007 à 14:23:17    

Que me conseillez vous pour la version d'heartbeat (je vais repartir de 0 car je pense avoir un probleme dans ma config) ? Etant donné que je suis sous Debian, vaut il mieux utiliser la version .deb de la branche 1.x ou alors la branche 2.x avec les sources ? Je voudrais aussi utiliser Stonith, ceci a-t-il une influence dans le choix de la version ?

Reply

Marsh Posté le 27-06-2007 à 14:53:36    

L'actuelle debian stable (etch) inclus heartbeat-2
 
Perso je l'ai trouvé un peu plus complexe à appréhender que la v1, mais beaucoup plus simple et puissant au final (le temps d'assimiler les nouveaux concepts).
 
Après tous des dépends de tes besoins. Pour un seul serveur doublé, la 1 est suffisante, la v2 permet des choses plus puissantes, comme la gestion de N (N>=2) noeuds


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed