Project

General

Profile

Actions

SetupClusterHA » History » Revision 4

« Previous | Revision 4/53 (diff) | Next »
Amministratore Truelite, 06/22/2006 02:50 PM


TracNav(TOC) = Configurazione di un Cluster HA =

In questo caso per ''Cluster HA'' si intende un sistema composta da due macchine in configurazione attivo/passivo, su cui viene gestita automaticamente la sincronizzazione dei dati attraverso DRDB, e swith automatico in caso di crollo del server attivo con l'uso di ''heartbeat''.

LAVORI IN CORSO!!!

Configurazione di DRBD

Il primo passo consiste nell'installazione dei pacchetti necessari, questi nel caso di Debian Sarge sono due, il modulo del kernel che gestisce la replicazione dei dati, {{{drbd0.7-module-source}}} e i programmi di gestione dello stesso {{{drbd0.7-utils}}}. Questi possono essere installati a mano, nel qual caso si dovrà anche provvedere a compilare ed installare il modulo {{{drbd}}}, altrimenti si può utilizzare il programma {{{module-assistant}}} che si incaricherà anche di scaricare tutti i pacchetti necessari, compilare il modulo per il kernel corrrente e installarlo.

Per poter utilizzare DRDB occorre predisporre i dischi delle due macchine riservando lo spazio opportuno. Per questo occorre definire almeno due partizioni (in realtà si otrebbe fare tutto con una sola, ma questo comporta che gli ultimi 128Mb della partizioni devono essere lasciati liberi ed il filesystem presente ristretto) su ciascuna macchina. La prima partizione sarà quella grande su cui si mtengono i dati, la seconda deve essere di almeno 128Mb e server per i metadati usati da DRBD, la partizione dei dati deve essere approssimativamente della stessa dimensione su entrambe le macchine.

Prima di attivare DRBD occorre configurarlo, il file è {{{/etc/drbd.conf}}}, ed il contenuto dovrebbe essere qualcosa del tipo: {{{
resource r0 {
protocol C;
incon-degr-cmd "echo '!DRBD! pri on incon-degr' | wall ; sleep 60 ; halt -f";
startup {
}
disk {
on-io-error detach;
}
net {
}
syncer {
rate 10M;
group 1;
al-extents 257;
}
on servint1 {
device /dev/drbd0;
disk /dev/md3;
address 192.168.234.1:7788;
meta-disk /dev/hda70;
}
on servint2 {
device /dev/drbd0;
disk /dev/hda5;
address 192.168.234.2:7788;
meta-disk /dev/hda70;
}
}
}}}

Una volta completata la configurazione di {{{/etc/drbd.conf}}} si abbia cura di copiarlo sulla seconda macchina, dopo di che si potrà caricare il modulo {{{drbd}}} su entrambe le macchine ed attivare il servizio con il comando: {{{
drdbadm up all
}}}
e se tutto è a posto si avrà come contenuto dell'interfaccia di controllo di DRBD qualcosa del tipo: {{{
servint1:~# cat /proc/drbd
version: 0.7.10 (api:77/proto:74)
SVN Revision: 1743 build by phil@mescal, 2005-01-31 12:22:07
0: cs:Connected st:Secondary/Secondary ld:Inconsistent
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0
1: cs:Unconfigured
}}}
che ci dice che le due macchine si vedono fra loro, ma lo stato è inconsistente ed i dischi sono entrambi classificati come secondari. A questo punto si potrà definire quale dei due è il primario, e iniziare la sincronizzazione con il comando {{{
drbdadm -- --do-what-I-say primary all
}}}
e adesso avremo che: {{{
servint1:~# cat /proc/drbd
version: 0.7.10 (api:77/proto:74)
SVN Revision: 1743 build by phil@mescal, 2005-01-31 12:22:07
0: cs:SyncSource st:Primary/Secondary ld:Consistent
ns:360356 nr:0 dw:0 dr:361240 al:0 bm:21 lo:135 pe:36 ua:221 ap:0
[>...................] sync'ed: 0.6% (69265/69617)M
finish: 1:44:47 speed: 11,252 (10,288) K/sec
1: cs:Unconfigured
}}}
a questo punto si tratterà solo di attendere il tempo necessario perché venga eseguta la sincornizzazione via rete, ed una volta che questa sarà completata avremo: {{{
servint1:~# cat /proc/drbd
version: 0.7.10 (api:77/proto:74)
SVN Revision: 1743 build by phil@mescal, 2005-01-31 12:22:07
0: cs:Connected st:Primary/Secondary ld:Consistent
ns:71288320 nr:0 dw:0 dr:71288320 al:0 bm:4352 lo:0 pe:0 ua:0 ap:0
1: cs:Unconfigured
}}}

Configurazione di heartbeat

Una volta completata la configurazione di

Updated by Amministratore Truelite over 16 years ago · 4 revisions