Outils pour utilisateurs

Outils du site


informatique_hd

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
informatique_hd [2007/10/21 21:53] thierryinformatique_hd [2011/11/26 00:04] (Version actuelle) thierry
Ligne 1: Ligne 1:
 ====== Haute Disponibilité ====== ====== Haute Disponibilité ======
 +====== Heartbeat 2 =====
 +
 +Liens:
 +  *http://doc.ubuntu-fr.org/tutoriel/mirroring_sur_deux_serveurs
 +
 ====== Heartbeat ====== ====== Heartbeat ======
 +
 ===== Installation ===== ===== Installation =====
   # apt-get install heartbeat   # apt-get install heartbeat
 +
 +
 +
  
 ===== Configuration ===== ===== Configuration =====
 +On est sur ''hb1''.
 +
 ''ha.cf'' est manquant par defaut, donc: ''ha.cf'' est manquant par defaut, donc:
   # cd /etc/ha.d   # cd /etc/ha.d
Ligne 10: Ligne 21:
   # vi ha.cf   # vi ha.cf
 Faire en sorte d'avoir: Faire en sorte d'avoir:
-  FIXME+  debugfile /var/log/ha-debug 
 +  logfile /var/log/ha-log 
 +  logfacility     local0 
 +  keepalive 5 
 +  deadtime 30 
 +  warntime 10 
 +  initdead 120 
 +  udpport 694 
 +  baud    19200 
 +  serial  /dev/ttyS0      # <= Cela suppose un cable série croisé entre les 2 becannes 
 +  bcast   eth0            # <= Cela suppose un reseau commun 
 +  auto_failback on 
 + 
 +  node hb1 
 +  node hb2 
 +Où, ''hb1'' et ''hb2'' correspond au ''uname -r'' des bécannes. 
 Et puis: Et puis:
   # zcat /usr/share/doc/heartbeat/haresources.gz >haresources   # zcat /usr/share/doc/heartbeat/haresources.gz >haresources
   # vi haresources   # vi haresources
 Faire en sorte d'avoir: Faire en sorte d'avoir:
-  FIXME+  hb1 IPaddr2::<IP_A_MONTER>/24/eth0:1 apache2 MailTo::root 
 + 
 +  * ''hb1'' => le nom du maitre 
 +  * ''<IP_A_MONTER>'' => l'ip qui sera monter sur ''hb1'' ou ''hb2'' selon ''heartbeat'' 
 +  * /24 => masque reseau 
 +  * /eth0:1 => nom de l'interface qui sera créé 
 +  * ''apache2'' => le service qui sera demarré 
 +  * ''MailTo::root'' => envoi d'un mail a root pour l'informer de l'etat  
 + 
 +Et enfin: (toujours dans ''/etc/ha.d/''
 +  # cp /usr/share/doc/heartbeat/authkeys . 
 +  # vi authkeys 
 +Faire en sorte d'avoir: 
 +  auth 2 
 +  2 sha1 le_secret_partage 
 +Et faire aussi (rw unique pour root): 
 +  chmod 0600 authkeys 
 + 
 +Copier les 3 fichiers sur ''hbd2'', c'est a dire: 
 +  * 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 ''apache2''
 + 
 +D'abord, faire en sorte qu' ''apache2'' ne demarre plus automatiquement. 
 + 
 +  # /etc/init.d/apache2 stop 
 +  # update-rc.d -f apache2 remove 
 + 
 +Maintenant, ''heartbeat'' va demarrer le service, sur la bécanne maitre... ou esclave. 
 + 
 +Faire sur les 2 serveurs, hb1 et hb2: 
 + 
 +  # /etc/init.d/heartbeat start 
 +Et regarder les logs et le service apache demarrer sur le maitre, et accessible sur l'ip de configuration...
  
 ======DRBD ====== ======DRBD ======
  
-===== Compilation =====+ 
 + 
 +===== Installer =====
 On est sur HB1 (qui a la même distrib que HB2) ! On est sur HB1 (qui a la même distrib que HB2) !
  
Ligne 29: Ligne 96:
  
 Et aussi: Et aussi:
-  # aptitude install linux-hearders-`uname -r`+  # aptitude install linux-headers-`uname -r` 
 + 
  
 ==== Compiler ==== ==== Compiler ====
Ligne 43: Ligne 112:
  
   Choose “SELECT” and hit enter   Choose “SELECT” and hit enter
-  Choose {-“drbd8-module”-} “drbd7-module” and hit enter+  Choose <del>“drbd8-module”</del> “drbd7-module” and hit enter
   Choose “BUILD”   Choose “BUILD”
   Choose “NO” if asked to install or upgrade the selected source package.   Choose “NO” if asked to install or upgrade the selected source package.
Ligne 64: Ligne 133:
   drbd                  127444  0   drbd                  127444  0
  
 +===== Configurer =====
 +On est dans le cas d'une partition disponible en ''/dev/hda1'' sur ''hb1'' et ''hb2''.
 +
 +
 +==== drbd.conf ====
 +Editer le fichier ''/etc/drbd.conf'' et faire en sorte d'avoir:
 +
 +  resource stuff {
 +  
 +  protocol C;
 +  
 +  incon-degr-cmd "echo '!DRBD! pri on incon-degr' | wall ; sleep 60 ; halt -f";
 +  
 +  startup {
 +    # wfc-timeout  0;
 +  
 +    wfc-timeout 120;
 +  
 +    degr-wfc-timeout 120;    # 2 minutes.
 +  }
 +  
 +  disk {
 +    on-io-error   detach;
 +    #on-io-error   panic;
 +  }
 +  
 +  net {
 +  }
 +  
 +  syncer {
 +    #rate 10M;
 +    rate 4M;
 +  
 +    group 1;
 +  
 +    al-extents 257;
 +  }
 +  
 +  on hb1 {
 +    device     /dev/drbd0;
 +    disk       /dev/hda1;
 +    address    <IP_DE_HB1>:7788;
 +    meta-disk  internal;
 +  }
 +    
 +  on hb2 {
 +    device    /dev/drbd0;
 +    disk      /dev/hda1;
 +    address   <IP_DE_HB2>:7788;
 +    meta-disk internal;
 +  }
 +  }
 +J'ai adapté la config, parce que je n'ai pas 1 Gb/s sur une carte reseau dédié.
 +
 +**Attention**: J'avais mis **''al-extents 101;''** est j'ai eu plein de problème.
 +
 +==== mounter ====
 +
 +Sur les 2 bécannes:
 +  # /etc/init.d/drbd start
 +  # cat /proc/drbd
 +  version: 0.7.21 (api:79/proto:74)
 +   SVN Revision: 2326 build by root@hb1, 2007-10-21 23:31:57
 +   0: cs:Connected st:Secondary/Secondary ld:Inconsistent
 +      ns:0 nr:0 dw:0 dr:0 al:0 bm:224 lo:0 pe:0 ua:0 ap:0
 +   1: cs:Unconfigured
 +  # tail -f /var/log/syslog
 +  ...
 +  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, but there is no sync? BOTH nodes inconsistent!
 +  Oct 22 01:35:54 hb1 kernel: drbd0: Secondary/Unknown --> Secondary/Secondary
 +
 +Les 2 etants "Secondary", on force ''hb1'' en maitre:\\
 +Donc sur ''hb1'' :
 +  # drbdsetup /dev/drbd0 primary --do-what-I-say
 +La synchronisation s'effectue:
 +  # cat /proc/drbd
 +  version: 0.7.21 (api:79/proto:74)
 +  SVN Revision: 2326 build by root@hb1, 2007-10-21 23:31:57
 +   0: cs:SyncSource st:Primary/Secondary ld:Consistent
 +      ns:151212 nr:0 dw:0 dr:151368 al:0 bm:233 lo:0 pe:28 ua:39 ap:0
 +          [=>..................] sync'ed:  8.6% (1669720/1820824)K
 +          finish: 0:06:45 speed: 4,092 (4,080) K/sec
 +   1: cs:Unconfigured
 +Et puis, seulement sur primary, formater en ''ext3'' !
 +  # mkfs.ext3 /dev/drbd0
 +
 +Mounter le disk (toujours sur ''primary'' ):
 +  # mkdir /mnt/stuff
 +  # mount /dev/drbd0 /mnt/stuff
 +
 +Et voila, on peut ecrire dedans, et c'est synchroniser sur ''hb2''.
 +
 +Mais on ne le sait pas, parce que ''hb2'' n'a un accès au disk, et sa seule source d'information est un 
 +  # cat /proc/drbd
 +
 +==== Test ====
 +Voir en alternant les maitres et esclaves:
 +
 +''hb1'' est le maitre, il lit et ecrit le disk drbd...
 +  # umount /mnt/stuff
 +  # drbdsetup /dev/drbd0 secondary
 +Il n'y a plus de maitre !
 +
 +Sur ''hb2'', devenir maitre:
 +  # drbdsetup /dev/drbd0 primary
 +Mounter le disk
 +  # mkdir /mnt/test
 +  # mount /dev/drbd0 /mnt/test
 +Et voila, ''hb2'' lit et ecrit sur le disk drbd !
informatique_hd.1193003591.txt.gz · Dernière modification : 2007/10/21 21:53 de thierry