#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
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!
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
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
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
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
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
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 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
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