Progetto

Generale

Profilo

SetupClusterHA » Cronologia » Versione 7

Amministratore Truelite, 22-06-2006 15:40

1 1 Amministratore Truelite
[[TracNav(TOC)]]
2
= Configurazione di un Cluster HA =
3
4
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''.
5
6 2 Amministratore Truelite
LAVORI IN CORSO!!!
7
8 5 Amministratore Truelite
== Predisposizione delle due macchine del Cluster ==
9 1 Amministratore Truelite
10 5 Amministratore Truelite
Per un buon funzionamento del cluster è quantomeno opportuno poter disporre di una interfaccia di rete dedicata alla comunicazione diretta fra le due macchine; questo è importante anche per evitare errori nella rilevazione di un crollo (che viene fatta tramite una connessione di rete) qualora ad andare giù fosse lo switch e non la macchina. 
11 1 Amministratore Truelite
12 6 Amministratore Truelite
Negli esempi seguenti si supporrà allora che ciascuna macchina abbia almeno due interfacce di rete; la prima {{{eth0}}}, connessa alla rete locale, la seconda, {{{eth1}}} connessa direttamente all'altra macchina con un cavo incrociato. Sulla prima interfaccia dovremo configurare l'indirizzo pubblico di ciascuna macchina (nel nostro caso {{{10.10.0.98}}} e {{{10.10.0.99}}}) inteso come indirizzo diretto del singolo nodo del cluster, a questo si aggiungerà l'indirizzo del ''cluster'' in quanto tale (tenuto dalla macchina che fa da nodo primario) che nel nostro caso sarà {{{10.10.0.2}}}. Sulla seconda interfaccia metteremo degli indirizzi privati (nel caso dell'esmepio {{{198.168.234.1}}} e {{{198.168.234.2}}})  usati per la sincronizzazione di DRBD e per il controllo di ''heartbeat''.
13 5 Amministratore Truelite
14 6 Amministratore Truelite
Per poter utilizzare la sincornizzazione con DRDB occorre predisporre i dischi delle due macchine riservando lo spazio opportuno. Per questo occorre definire almeno due partizioni (in realtà si potrebbe fare tutto con una sola, ma questo comporta che gli ultimi 128Mb della partizione devono essere lasciati liberi ed il filesystem presente andrebbe ridimensionato) su ciascuna macchina. La prima partizione sarà quella grande su cui si mtengono i dati, la seconda deve essere di almeno 128Mb e serve per i metadati usati da DRBD, la partizione dei dati deve essere approssimativamente della stessa dimensione su entrambe le macchine.
15 1 Amministratore Truelite
16 6 Amministratore Truelite
17 5 Amministratore Truelite
== Configurazione di DRBD ==
18
19
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. 
20 1 Amministratore Truelite
21 4 Amministratore Truelite
Prima di attivare DRBD occorre configurarlo, il file è {{{/etc/drbd.conf}}}, ed il contenuto dovrebbe essere qualcosa del tipo:
22
{{{
23
resource r0 {
24
  protocol C;
25
  incon-degr-cmd "echo '!DRBD! pri on incon-degr' | wall ; sleep 60 ; halt -f";
26
  startup {
27
  }
28
  disk {
29
    on-io-error   detach;
30
  }
31
  net {
32
  }
33
  syncer {
34
    rate 10M;
35
    group 1;
36
    al-extents 257;
37
  }
38
  on servint1 {
39
    device     /dev/drbd0;
40
    disk       /dev/md3;
41
    address    192.168.234.1:7788;
42
    meta-disk  /dev/hda7[0];
43
  }
44
  on servint2 {
45
    device    /dev/drbd0;
46
    disk      /dev/hda5;
47
    address   192.168.234.2:7788;
48
    meta-disk /dev/hda7[0];
49
  }
50
}
51
}}}
52 3 Amministratore Truelite
53
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:
54 2 Amministratore Truelite
{{{
55 3 Amministratore Truelite
drdbadm up all
56
}}}
57
e se tutto è a posto si avrà come contenuto dell'interfaccia di controllo di DRBD qualcosa del tipo:
58
{{{
59 2 Amministratore Truelite
servint1:~# cat /proc/drbd
60
version: 0.7.10 (api:77/proto:74)
61
SVN Revision: 1743 build by phil@mescal, 2005-01-31 12:22:07
62
 0: cs:Connected st:Secondary/Secondary ld:Inconsistent
63
    ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0
64 1 Amministratore Truelite
 1: cs:Unconfigured
65 2 Amministratore Truelite
}}}
66 3 Amministratore Truelite
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
67 2 Amministratore Truelite
{{{
68
 drbdadm -- --do-what-I-say primary all
69
}}}
70
e adesso avremo che:
71
{{{
72
servint1:~# cat /proc/drbd
73
version: 0.7.10 (api:77/proto:74)
74
SVN Revision: 1743 build by phil@mescal, 2005-01-31 12:22:07
75
 0: cs:SyncSource st:Primary/Secondary ld:Consistent
76
    ns:360356 nr:0 dw:0 dr:361240 al:0 bm:21 lo:135 pe:36 ua:221 ap:0
77
        [>...................] sync'ed:  0.6% (69265/69617)M
78
        finish: 1:44:47 speed: 11,252 (10,288) K/sec
79
 1: cs:Unconfigured
80
}}}
81
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:
82
{{{
83
servint1:~# cat /proc/drbd
84
version: 0.7.10 (api:77/proto:74)
85 1 Amministratore Truelite
SVN Revision: 1743 build by phil@mescal, 2005-01-31 12:22:07
86
 0: cs:Connected st:Primary/Secondary ld:Consistent
87
    ns:71288320 nr:0 dw:0 dr:71288320 al:0 bm:4352 lo:0 pe:0 ua:0 ap:0
88
 1: cs:Unconfigured
89 2 Amministratore Truelite
}}}
90 1 Amministratore Truelite
91
== Configurazione di heartbeat ==
92
93 6 Amministratore Truelite
Una volta completata la configurazione di DRBD si può configurare ''heartbeat''. Il pacchetto da intallare è appunto {{{heartbeat}}}, nel caso di Debian occorre poi copiare i due file di configurazione necessari {{{ha.cf}}} e {{{haresources}}} di cui esiste uno scheletro in forma compressa sotto {{{/usr/src/doc/heartbeat}}}, occorreranno cioè i comandi:
94
{{{
95
cd /usr/share/doc/heartbeat
96
zcat ha.cf.gz > /etc/ha.d/ha.cf
97
zcat haresources.gz > /etc/ha.d/haresources
98 7 Amministratore Truelite
cp authkeys /etc/ha.d/
99
chmod 600 /etc/ha.d/authkeys
100 6 Amministratore Truelite
}}}