informatique_hd
Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
informatique_hd [2007/10/19 15:03] – créée thierry | informatique_hd [2011/11/26 00:04] (Version actuelle) – thierry | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Haute Disponibilité ====== | ====== Haute Disponibilité ====== | ||
+ | ====== Heartbeat 2 ===== | ||
+ | |||
+ | Liens: | ||
+ | *http:// | ||
+ | |||
====== Heartbeat ====== | ====== Heartbeat ====== | ||
+ | |||
===== Installation ===== | ===== Installation ===== | ||
# apt-get install heartbeat | # apt-get install heartbeat | ||
+ | |||
+ | |||
+ | |||
+ | |||
===== Configuration ===== | ===== Configuration ===== | ||
+ | On est sur '' | ||
+ | |||
'' | '' | ||
# cd /etc/ha.d | # cd /etc/ha.d | ||
Ligne 9: | Ligne 21: | ||
# vi ha.cf | # vi ha.cf | ||
Faire en sorte d' | Faire en sorte d' | ||
- | | + | |
+ | logfile / | ||
+ | logfacility | ||
+ | keepalive 5 | ||
+ | deadtime 30 | ||
+ | warntime 10 | ||
+ | initdead 120 | ||
+ | udpport 694 | ||
+ | baud 19200 | ||
+ | serial | ||
+ | bcast | ||
+ | auto_failback on | ||
+ | |||
+ | node hb1 | ||
+ | node hb2 | ||
+ | Où, '' | ||
Et puis: | Et puis: | ||
# zcat / | # zcat / | ||
# vi haresources | # vi haresources | ||
Faire en sorte d' | Faire en sorte d' | ||
- | | + | |
+ | |||
+ | * '' | ||
+ | * ''< | ||
+ | * /24 => masque reseau | ||
+ | * /eth0:1 => nom de l' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | Et enfin: (toujours dans ''/ | ||
+ | # cp / | ||
+ | # vi authkeys | ||
+ | Faire en sorte d' | ||
+ | auth 2 | ||
+ | 2 sha1 le_secret_partage | ||
+ | Et faire aussi (rw unique pour root): | ||
+ | chmod 0600 authkeys | ||
+ | |||
+ | Copier les 3 fichiers sur '' | ||
+ | * ha.cf | ||
+ | * haresource | ||
+ | * authkeys | ||
+ | |||
+ | Car ces fichiers doivent être identique sur les 2 becannes. | ||
+ | |||
+ | ===== Tester avec Apache ===== | ||
+ | Vu sur ci-dessus, on va tester avec le service '' | ||
+ | |||
+ | D' | ||
+ | |||
+ | # / | ||
+ | # update-rc.d -f apache2 remove | ||
+ | |||
+ | Maintenant, '' | ||
+ | |||
+ | Faire sur les 2 serveurs, hb1 et hb2: | ||
+ | |||
+ | # / | ||
+ | Et regarder les logs et le service apache demarrer sur le maitre, et accessible sur l'ip de configuration... | ||
+ | |||
+ | ======DRBD ====== | ||
+ | |||
+ | |||
+ | |||
+ | ===== Installer ===== | ||
+ | On est sur HB1 (qui a la même distrib que HB2) ! | ||
+ | |||
+ | # aptitude update | ||
+ | # aptitude install drbd-utils | ||
+ | En fait: '' | ||
+ | # aptitude install drbd0.7-utils | ||
+ | En fait: '' | ||
+ | |||
+ | Et aussi: | ||
+ | # aptitude install linux-headers-`uname -r` | ||
+ | |||
+ | |||
+ | |||
+ | ==== Compiler ==== | ||
+ | Suivre, grosso merdo, le How-to ici: | ||
+ | * http:// | ||
+ | |||
+ | # cd /usr/src | ||
+ | # ls -lart | ||
+ | -rw-r--r-- | ||
+ | # tar xvzf drbd0.7.tar.gz | ||
+ | # cd modules/ | ||
+ | # m-a | ||
+ | |||
+ | Choose “SELECT” and hit enter | ||
+ | Choose < | ||
+ | Choose “BUILD” | ||
+ | Choose “NO” if asked to install or upgrade the selected source package. | ||
+ | Continue the process and install the module when prompted. | ||
+ | |||
+ | # update-modules | ||
+ | # modprobe drbd | ||
+ | |||
+ | Copier et installer le package sur l' | ||
+ | # scp / | ||
+ | Et sur HB2, faire simplement ça: | ||
+ | # aptitude update | ||
+ | # aptitude install drbd-utils | ||
+ | # cd /usr/src | ||
+ | # dpkg -i drbd0.7-module-2.6.18-5-686_0.7.21-4+2.6.18.dfsg.1-13etch4_i386.deb | ||
+ | # update-modules | ||
+ | # modprobe drbd | ||
+ | Ok. | ||
+ | # lsmod | grep drbd | ||
+ | drbd 127444 | ||
+ | |||
+ | ===== Configurer ===== | ||
+ | On est dans le cas d'une partition disponible en ''/ | ||
+ | |||
+ | |||
+ | ==== drbd.conf ==== | ||
+ | Editer le fichier ''/ | ||
+ | |||
+ | resource stuff { | ||
+ | |||
+ | protocol C; | ||
+ | |||
+ | incon-degr-cmd "echo ' | ||
+ | |||
+ | startup { | ||
+ | # wfc-timeout | ||
+ | |||
+ | wfc-timeout 120; | ||
+ | |||
+ | degr-wfc-timeout 120; # 2 minutes. | ||
+ | } | ||
+ | |||
+ | disk { | ||
+ | on-io-error | ||
+ | # | ||
+ | } | ||
+ | |||
+ | net { | ||
+ | } | ||
+ | |||
+ | syncer { | ||
+ | #rate 10M; | ||
+ | rate 4M; | ||
+ | |||
+ | group 1; | ||
+ | |||
+ | al-extents 257; | ||
+ | } | ||
+ | |||
+ | on hb1 { | ||
+ | device | ||
+ | disk / | ||
+ | address | ||
+ | meta-disk | ||
+ | } | ||
+ | |||
+ | on hb2 { | ||
+ | device | ||
+ | disk / | ||
+ | address | ||
+ | meta-disk internal; | ||
+ | } | ||
+ | } | ||
+ | J'ai adapté la config, parce que je n'ai pas 1 Gb/s sur une carte reseau dédié. | ||
+ | |||
+ | **Attention**: | ||
+ | |||
+ | ==== mounter ==== | ||
+ | |||
+ | Sur les 2 bécannes: | ||
+ | # / | ||
+ | # cat / | ||
+ | version: 0.7.21 (api: | ||
+ | SVN Revision: 2326 build by root@hb1, 2007-10-21 23:31:57 | ||
+ | 0: cs: | ||
+ | ns:0 nr:0 dw:0 dr:0 al:0 bm:224 lo:0 pe:0 ua:0 ap:0 | ||
+ | 1: cs: | ||
+ | # tail -f / | ||
+ | ... | ||
+ | Oct 22 01:35:54 hb1 kernel: drbd0: drbd0_receiver [11113]: cstate WFReportParams --> Connected | ||
+ | Oct 22 01:35:54 hb1 kernel: drbd0: I am inconsistent, | ||
+ | Oct 22 01:35:54 hb1 kernel: drbd0: Secondary/ | ||
+ | |||
+ | Les 2 etants " | ||
+ | Donc sur '' | ||
+ | # drbdsetup /dev/drbd0 primary --do-what-I-say | ||
+ | La synchronisation s' | ||
+ | # cat / | ||
+ | version: 0.7.21 (api: | ||
+ | SVN Revision: 2326 build by root@hb1, 2007-10-21 23:31:57 | ||
+ | 0: cs: | ||
+ | ns:151212 nr:0 dw:0 dr:151368 al:0 bm:233 lo:0 pe:28 ua:39 ap:0 | ||
+ | [=> | ||
+ | finish: 0:06:45 speed: 4,092 (4,080) K/sec | ||
+ | 1: cs: | ||
+ | Et puis, seulement sur primary, formater en '' | ||
+ | # mkfs.ext3 / | ||
+ | |||
+ | Mounter le disk (toujours sur '' | ||
+ | # mkdir / | ||
+ | # mount /dev/drbd0 / | ||
+ | |||
+ | Et voila, on peut ecrire dedans, et c'est synchroniser sur '' | ||
+ | |||
+ | Mais on ne le sait pas, parce que '' | ||
+ | # cat / | ||
+ | |||
+ | ==== Test ==== | ||
+ | Voir en alternant les maitres et esclaves: | ||
+ | |||
+ | '' | ||
+ | # umount / | ||
+ | # drbdsetup /dev/drbd0 secondary | ||
+ | Il n'y a plus de maitre ! | ||
+ | Sur '' | ||
+ | # drbdsetup /dev/drbd0 primary | ||
+ | Mounter le disk | ||
+ | # mkdir /mnt/test | ||
+ | # mount /dev/drbd0 /mnt/test | ||
+ | Et voila, '' |
informatique_hd.1192806223.txt.gz · Dernière modification : 2007/10/19 15:03 de thierry