Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/02/2012, à 16:12

The_JacK

mise en place d'un cluster

Bonjour,

j'ai deux serveurs installés sous Ubuntu :

   - Un serveur proliant avec 4-450 GB en raid5
   - Un serveur proliant avec 4*300 GB en raid5

Les deux serveurs disposent des paquests suivants (selectionnés lors de l'installation)

   - LAMP
   - SSH server
   - Samba

En ce qui concerne le premier serveur, j'ai ajouter un client bitorrent avec WebUI. J'ai parcouru des tutos ici et la mais je dois avouer que cela reste flou...

En fait je souhaite qu'en cas de défaillance d'un serveur, le second prenne le relais (si j'ai bien compris, Hearbeat, pacemaker, corosync sont la pour ca?), je souhaite également que le partage samba soit accessible (drbd?? d'ou la necessité d'une partition supplémentaire pour la synchro des data?)
Si j'installe ou modifie la config de certains paquets, celle-ci sera répliquée automatiquement sur le serveur secondaire?

Je prefere attendre vos retour avant de me lancer dans la config

Par avance, merci.

Hors ligne

#2 Le 04/02/2012, à 17:40

The_JacK

Re : mise en place d'un cluster

up roll

Hors ligne

#3 Le 04/02/2012, à 18:25

Haleth

Re : mise en place d'un cluster

drdb, j'ai jamais utilisé, mais il semble que ca sync 2 PC
Heartbeat, c'est pour avoir 1 IP sur 2 machines
Pour deployer une config sur plusieurs PC, y'a des trucs qui existe ..


Ubuntu is an ancien African word which means "I can't configure Debian"

Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.

Hors ligne

#4 Le 07/02/2012, à 19:43

The_JacK

Re : mise en place d'un cluster

Bonsoir,

Heureux à l'idée d'avoir installer et configurer mes deux machine en cluster avec HeartBeat (bon ok pour l'instant, je peux pinger l'AV quelque soit le serveur que j'eteint mais bon c'est déja ca!!!), je voulais avancé un peu plus dans la mise en place avant de faire un petit retour d'éxperience... Seulement, je rencontre un petit souci. Lorsque je fait un :

update-rc.d -f service remove

eh bien quand je redémarre la machine, ce dit service est démarrer! roll

Une idée?

Par avance, merci

Hors ligne

#5 Le 07/02/2012, à 19:49

Haleth

Re : mise en place d'un cluster

Il te répond quoi ?
Normalement, y'a des scripts dans /etc/rc5.d/, qui pointent vers /etc/init.d/.

Ils commencent par K pour stop, S pour start
Tu doit donc, logiquement, avoir un script pour ton service dedans, du style 'S...'
Ben tu l'move en 'K...'

Je garantie rien, depuis que ..
Bref.

Si ca ne marche pas, regarde le code de retour de la commande, les logs .. etc


Ubuntu is an ancien African word which means "I can't configure Debian"

Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.

Hors ligne

#6 Le 07/02/2012, à 20:14

The_JacK

Re : mise en place d'un cluster

merci pour ta réponse Haleth,

Je garantie rien, depuis que ..
Bref.

Depuis que???

bref,

le service sur lequel j'ai testé c'est samba et il est pas dans /etc/rc5.d/ par contre, il y a un lien dans /etc/init.d/ mais je sais pas vers ou... je regarde

merci!!

Hors ligne

#7 Le 07/02/2012, à 20:15

Haleth

Re : mise en place d'un cluster

C'est peut-etre pas rc5
Regarde le numéro avec la commande :

runlevel

Ubuntu is an ancien African word which means "I can't configure Debian"

Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.

Hors ligne

#8 Le 07/02/2012, à 20:22

The_JacK

Re : mise en place d'un cluster

Le retour est N2

Hors ligne

#9 Le 07/02/2012, à 20:28

The_JacK

Re : mise en place d'un cluster

j'ai été voir dans rc2.d et rien

Hors ligne

#10 Le 07/02/2012, à 23:15

MrWaloo

Re : mise en place d'un cluster

Pour drbd j'avais fait une page de tuto de sa mise en place avec samba dans la doc de ce site, tu devrais facilement trouver.


"De tous ceux qui n'ont rien à dire, les plus agréables sont ceux qui se taisent !!" (Desproges)
UNIX is an operating system, OS/2 is half an operating system, Windows is a shell, MS-DOS is a boot sector virus.

Hors ligne

#11 Le 08/02/2012, à 17:25

The_JacK

Re : mise en place d'un cluster

Bonsoir et merci pour vos réponses,

Optinux, voici ce que me renvoi la commande service :

sudo service smbd remove
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service smbd remove

The script you are attempting to invoke has been converted to an Upstart
job, but remove is not supported for Upstart jobs.

MrWaloo, oui, je tente justement de m'inspirer de ton tuto.

Dans l'optique d'une gestion de Samba avec Heartbeat, il faut laisser le soin à ce dernier de démarrer Samba, il faut donc faire en sorte que Samba ne soit pas lancé au démarrage :

 update-rc.d -f samba remove

Il faut ensuite arrêter le service samba :

/etc/init.d/samba stop

J'ai donc remplacé samba par smbd et nmbd ainsi que les autres services que je souhaite qu 'Heatbeat démarre mais rien y fait...
Je précise qu'Heartbeat et installé et fonctionnel mais qu'il n'est pas configuré pour démarrer ces services.

Par avance, merci!

Hors ligne

#12 Le 10/02/2012, à 13:13

The_JacK

Re : mise en place d'un cluster

Bonjour,

Petite question (petite réponse me direz vous...)

Si les services sur les 2 machines composant le cluster sont configurés à l'identique, pourquoi demander à heartbeat de les démarrer?
Si la machine primaire est up, ne va t'on pas automatiquement pointer vers elle en se connectant sur l'adresse du cluster?

par avance, merci

[edit] ouais nan laissé tomber, la machine secondaire va pas stopper et les services lorsque la primaire va revenir en ligne et niveau routage ca va cafouiller... je viens de le voir avec ssh.

Donc mon problème reste entier, comment desactiver ces foutu services Upstart roll

Dernière modification par The_JacK (Le 10/02/2012, à 13:19)

Hors ligne

#13 Le 12/02/2012, à 21:46

MrWaloo

Re : mise en place d'un cluster

Hello,

Deux choses me viennent à l'esprit :
1. La version 2 de heartbeat se configure par le biais de fichier XML qui me sont totalement inconnus, mais je crois savoir qu'il existe un outil de conversion...
--> Avec quelle version de configuration de heartbeat tu travailles ?
2. Il est également possible de supprimer le lancement des services au démarrage en suppriment le lien symbolique vers le script qui se trouve dans /etc/rc2.d/
--> Si ton problème est que tu n'arrives pas à faire en sorte que les services redondants ne démarrent pas automatiquement, essaies de supprimer le S* qui va bien dans ce répertoire.

A+
Michel

edit : (note pour moi-même: remettre le tuto à jour...) je viens de voir qu'il t'a été conseillé de vérifier dans rc5.d, mais comme tu es en runlevel 2 (N2) c'est dans rc2.d qu'il faut aller voir...

Dernière modification par MrWaloo (Le 12/02/2012, à 21:47)


"De tous ceux qui n'ont rien à dire, les plus agréables sont ceux qui se taisent !!" (Desproges)
UNIX is an operating system, OS/2 is half an operating system, Windows is a shell, MS-DOS is a boot sector virus.

Hors ligne

#14 Le 12/02/2012, à 21:48

Haleth

Re : mise en place d'un cluster

--> Si ton problème est que tu n'arrives pas à faire en sorte que les services redondants ne démarrent pas automatiquement, essaies de supprimer le S* qui va bien dans ce répertoire.

Sauf que j'ai remarqué (on dirait que Jack a vu la même chose ?), c'est que ca ne fonctionne plus .. depuis que les gus de canonical n'utilisent plus les fichiers init, mais le bon et grand upstart (très documenté par ailleurs), et que donc, supprimer ces liens ne sert à rien ..


Ubuntu is an ancien African word which means "I can't configure Debian"

Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.

Hors ligne

#15 Le 12/02/2012, à 21:55

MrWaloo

Re : mise en place d'un cluster

(je suis impressionné par ta réactivité Haleth !)


"De tous ceux qui n'ont rien à dire, les plus agréables sont ceux qui se taisent !!" (Desproges)
UNIX is an operating system, OS/2 is half an operating system, Windows is a shell, MS-DOS is a boot sector virus.

Hors ligne

#16 Le 12/02/2012, à 21:56

Haleth

Re : mise en place d'un cluster

Google est mon ami smile


Ubuntu is an ancien African word which means "I can't configure Debian"

Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.

Hors ligne

#17 Le 13/02/2012, à 19:18

The_JacK

Re : mise en place d'un cluster

Bonsoir,

Bon voila ou j'en suis...

Je démarre les deux serveurs du cluster...

Serveur 1 :

root@Halte13-Hsrv-1:~# service smbd status
smbd start/running, process 697
root@Halte13-Hsrv-1:~# service smbd status
smbd start/running, process 697
root@Halte13-Hsrv-1:~# service nmbd status
nmbd start/running, process 1130
root@Halte13-Hsrv-1:~# service apache2 status
Apache is running (pid 1448).

Serveur 2 :

root@Halte13-Hsrv-2:~# service smbd status
smbd start/running, process 686
root@Halte13-Hsrv-2:~# service nmbd status
nmbd start/running, process 1124
root@Halte13-Hsrv-2:~# service apache2 status
Apache is NOT running.
root@Halte13-Hsrv-2:~# service mysql status
mysql start/running, process 840

A ce stade, on peut voir que seul le démarrage du service Apache est géré par Heartbeat. Je verifie que les services démarrés sur le serveur 2 sont bien des "Upstart" :

root@Halte13-Hsrv-1:~# initctl list

Effectivement, seul apache n'apparait pas dans la liste.
Aprés un

root@Halte13-Hsrv-2:~# service heartbeat restart

les services sont tous sur stop sur le serveur 2. Si je redémarre le serveur 1, le slave remplit parfaitement son role.... Si c'est l'inverse... il redémarre tous les upstarts sad sad

Je tente donc de désactiver les upstart sur le serveur 2 en suivant cette doc :

root@Halte13-Hsrv-2:~#  mv /etc/init/smbd.conf /etc/init/smbd.conf.noexec
root@Halte13-Hsrv-2:~#  mv /etc/init/nmbd.conf /etc/init/nmbd.conf.noexec
root@Halte13-Hsrv-2:~#  mv /etc/init/mysql.conf /etc/init/mysql.conf.noexec

Le problème est qu'une fois le serveur 2 redémarré, si je tape la/les commande(s) pour savoir le(s) service(s) est/sont up/down, j'ai le message suivant :

root@Halte13-Hsrv-2:~# initctl status smbd
initctl: Unknown job: smbd
root@Halte13-Hsrv-2:~# service smbd status
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service smbd status

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the status(8) utility, e.g. status smbd

donc pour tester c'est pas top...

J'ai pensé à un script qui redémarrerai Heartbeat un fois les machines lancées mais je trouve ca un peu brouillon....
Pour le moment, je remets tout sans les modifs et continue d'installer les paquets nécéssaires aux roles que je souhaites attribuer à ce serveur.

En tous cas, merci de votre retour smile

The_JacK

Dernière modification par The_JacK (Le 13/02/2012, à 19:22)

Hors ligne

#18 Le 13/02/2012, à 20:42

MrWaloo

Re : mise en place d'un cluster

Tu as essayé en mettant "never" comme indiqué dans la doc dont tu parles ?


"De tous ceux qui n'ont rien à dire, les plus agréables sont ceux qui se taisent !!" (Desproges)
UNIX is an operating system, OS/2 is half an operating system, Windows is a shell, MS-DOS is a boot sector virus.

Hors ligne

#19 Le 14/02/2012, à 18:30

The_JacK

Re : mise en place d'un cluster

Bonsoir,

Bon visiblement ca marche!!!

Je retrace un peu l'installation jusqu'a présent pour avoir une trace... et surtout si ca interesse big_smile

reservation d'adresses IP sur la box :
192.168.1.101 pour le serveur 1
192.168.1.102 pour le serveur 2

Installation des deux serveurs avec les paquets suivant :
   - LAMP
   - Samba
   - SSH serveur

Mise à jour des serveur :

sudo apt-get update
sudo apt-get upgrade

installation de heartbeat :

sudo apt-get install heartbeat

configuration de heartbeat :
   - création du fichier authkeys dans /etc/ha.d

( echo -ne "auth 1\n1 sha1 "; dd if=/dev/urandom bs=512 count=1 | openssl md5 ) > /etc/ha.d/authkeys
chmod 0600 /etc/ha.d/authkeys

   - création/modification de ha.cf et haresources dans /etc/ha.d
ha.cf :

mcast eth0 239.0.0.10 694 1 0

warntime 4
deadtime 5
initdead 15
keepalive 2

auto_failback on

node Halte13-Hsrv-1 Halte13-Hsrv-2

haresources :

Halte13-Hsrv-1 IPaddr::192.168.1.100 smbd nmbd apache2 mysql

Ces 3 fichiers sont identiques sur les 2 serveurs

Comme évoqué dans le superbe tuto de MrWaloo tongue il ne faut pas que les services démarrent automatiquement mais que heartbeat se charge de cette tache! Il faut donc verifier que les dits services ne soient pas des "Upstarts Jobs", on liste donc ces derniers :

sudo initctl list

s'ils ne sont pas dans la liste la commande suivante suffit :

update-rc.d -f service remove

Sinon il faut modifier le *.conf corresondant dans /etc/init (merci fabux). Je poste ce que j'ai modifié au cas ou j'aurais été un peu brutal
mysql.conf

start on (net-device-up
          and local-filesystems
          and runlevel [2345])
stop on runlevel [016]

par

start on (never
          and local-filesystems
          and runlevel [2345])
stop on runlevel [016]

nmbd.conf

start on (local-filesystems and net-device-up IFACE!=lo)
stop on runlevel [!2345]

par

start on (never and net-device-up IFACE!=lo)
stop on runlevel [!2345]

smbd.conf

start on local-filesystems
stop on runlevel [!2345]

par

start on never
stop on runlevel [!2345]

N'hesitez surtout pas me corriger... tout est à prendre.

Dans l'attente de materiel pour pousser un peu la chose avec notemment drbd (synchronisation des données samba?) je vais me documenter pour tenter d'installer un logiciel qui me permettrais de monitorer l'état de santé des machines du cluster...

Une question me tarode cependant l'esprit... n'est il pas possible de repliquer les fichiers de configurations sur les deux seveurs de maniere transparente (si je rajoute un repertoire partagé dans samba par exemple, certes le contenu sera repliqué par drbd mais le fichier de config? dois je systématiquement le modifier manuellement sur les deux serveurs?)?

En tout cas merci pour votre aide!!!

The JacK

Dernière modification par The_JacK (Le 14/02/2012, à 18:57)

Hors ligne

#20 Le 15/02/2012, à 15:00

MrWaloo

Re : mise en place d'un cluster

Je vois dans ton fichier ha.cf que tu as utilisé une adresse multicast ; tu as installé smcroute (ou un équivalent) pour faire fonctionner le multicast ?
Sinon, merci pour le feedback, libre à toi de bien vouloir mettre le tuto à jour (si tu ne souhaites pas le faire, je m'en chargerai)

J'ai en projet (dans ma tête depuis un moment maintenant) de mettre le tutoriel à jour avec les nouvelles versions (Heartbeat 2, les upstart, ...). Ce serait bientôt le moment, mais si ça tente quelqu'un... parce que je n'ai plus trop le nez dedans et pas suffisemment de temps à y consacrer (rénovation de ma maison).

A+
Michel

edit: ton fichier haresources ne contient rien concernant drbd...

Dernière modification par MrWaloo (Le 15/02/2012, à 15:15)


"De tous ceux qui n'ont rien à dire, les plus agréables sont ceux qui se taisent !!" (Desproges)
UNIX is an operating system, OS/2 is half an operating system, Windows is a shell, MS-DOS is a boot sector virus.

Hors ligne

#21 Le 15/02/2012, à 18:31

The_JacK

Re : mise en place d'un cluster

Bonsoir MrWaloo,

Je vois dans ton fichier ha.cf que tu as utilisé une adresse multicast ; tu as installé smcroute (ou un équivalent) pour faire fonctionner le multicast ?

En fait je suis bête et discipliné... j'ai repris ton tuto et y ai laissé cette ligne... Ta question m'ayant cependant interpellé, j'ai fait quelques recherches et me demande a quoi pourrait bien servir le multicast avec Heartbeat? Si j'ai bien compris, le multicast permet d'envoyer une information à un groupe de machine. Dans le cas d'un cluster composé de 2 machines est-ce bien nécéssaire?

libre à toi de bien vouloir mettre le tuto à jour (si tu ne souhaites pas le faire, je m'en chargerai)

Je veux bien le faire en collaboration avec toi lorsque mon projet sera plus aboutit...

Concernant drbd, j'y viens, certainement que je commencerais la config vendredi.

Pour l'instant le cluster est opérationnel, viendra ensuite la config d'apache, samba avec drbd et ..... plus tard, la suite

PS : Moi aussi je suis en travaux, et ce serveur sera destiné à mon habitat

Hors ligne

#22 Le 17/02/2012, à 09:26

MrWaloo

Re : mise en place d'un cluster

Salut,

J'avais utilisé le multicast afin que les fichiers de configuration soient identiques.
J'ai en effet écrit un certain nombre de scripts dont un notemment pour la recopie de la configuration d'un serveur sur l'autre. Pour ne pas à avoir à faire les modifications de configuration (surtout au début) plusieurs fois, j'ai mis le multicast en place, et en ai profité pour documenter smcroute dans la doc du site d'ailleurs (j'étais prolifique à une époque !).
Pour que l'utilisation de 2 machines soit pertinante, il ne faut pas qu'elles soient l'une à coté de l'autre, pour ne pas subir les même catastrophes (feu, innondation, ...), l'idéale est donc de les metre l'une dans un coin de la maison, l'autre dans le coin opposé (cave/grenier par exemple).

Sans chercher à tout remettre en question, pour la maison (consommation, bruit, encombrement, ...) je te suggèrerais plutôt de te tourner vers une solution NAS à plusieurs baies (Synology fait de très bon produits). Certains NAS sont "linux inside" et offrent la possibilité de faire de l'hébergement web, mail, ... (les NAS Synology notemment, je précise que je n'ai pas d'actions chez eux et crois que QNAP n'est pas mal non plus).
Le fait d'être multi-baies (j'ai opté pour 2 baies, question de budget) te permet de configurer un RAID-1, 5, ou autre pour la réplication des données.
Ces NAS sont de faible encombrement, discrets et consomment très peu (c'est une composante importante à notre époque, tant du point de vue du budget que de celui environnementale).
Voilà, c'était une parenthèse...
Si tu tiens à avoir les données sur 2 machines séparées, ça peut être sur 2 NAS avec synchronisation entre eux, des outils sont disponibles pour ça aussi...

A+
Michel


"De tous ceux qui n'ont rien à dire, les plus agréables sont ceux qui se taisent !!" (Desproges)
UNIX is an operating system, OS/2 is half an operating system, Windows is a shell, MS-DOS is a boot sector virus.

Hors ligne

#23 Le 20/02/2012, à 20:11

The_JacK

Re : mise en place d'un cluster

Bonsoir à tous,

J'avais utilisé le multicast afin que les fichiers de configuration soient identiques.
J'ai en effet écrit un certain nombre de scripts dont un notemment pour la recopie de la configuration d'un serveur sur l'autre. Pour ne pas à avoir à faire les modifications de configuration (surtout au début) plusieurs fois, j'ai mis le multicast en place, et en ai profité pour documenter smcroute dans la doc du site d'ailleurs (j'étais prolifique à une époque !).

Je suis trés intéréssé par cette réponse... Par contre, je suppose que la mise en place d'un groupe de machine (multicast) ne suffit pas pour répliquer les fichiers de config... D'ou le fait que tu évoque les scripts que tu as mis en place... je vais me documenter la dessus, mais si tu as un bout de code qui m'eviterais d'éditer les fichiers de config sur les deux serveurs, je suis preneur roll

Je tente de mettre en place DRDB mais je me heurte à un souci, j'ai suivi ton tuto mais visiblement, ce dernier (drdb) empêche la machine slave de prendre le relais en cas de coupure de la primary. Lorsque je tape "cat /proc/drbd" sur les 2 machines, j'ai, respectivement le retour suivant :

machine primaire :

version: 8.3.7 (api:88/proto:86-91)
GIT-hash: ea9e28dbff98e331a62bcbcc63a6135808fe2917 build by root@Halte13-Hsrv-1, 2012-02-20 17:11:59
 0: cs:StandAlone ro:Primary/Unknown ds:UpToDate/Outdated   r----
    ns:0 nr:0 dw:0 dr:200 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:147488684

machine secondaire :

version: 8.3.7 (api:88/proto:86-91)
GIT-hash: ea9e28dbff98e331a62bcbcc63a6135808fe2917 build by root@Halte13-Hsrv-2, 2012-02-20 17:16:03
 0: cs:StandAlone ro:Secondary/Unknown ds:UpToDate/DUnknown   r----
    ns:0 nr:0 dw:0 dr:200 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:147747736

J'ai l'impression que la machine primaire et secondaire ne se connaisse pas...

ps : j'ai trés peu de temps et désire avancé... j'edite ce message dés que possible pour donner plus de renseignements....

Cdt,
The_JacK

Hors ligne

#24 Le 20/02/2012, à 20:16

MrWaloo

Re : mise en place d'un cluster

Plop,
Tu as vérifié le dernier chapitre du tutoriel ?

Dernière modification par MrWaloo (Le 20/02/2012, à 20:24)


"De tous ceux qui n'ont rien à dire, les plus agréables sont ceux qui se taisent !!" (Desproges)
UNIX is an operating system, OS/2 is half an operating system, Windows is a shell, MS-DOS is a boot sector virus.

Hors ligne

#25 Le 20/02/2012, à 20:22

The_JacK

Re : mise en place d'un cluster

je verifie ca et te reviens

Hors ligne