Questa è una vecchia versione del documento!
Realizzare un cluster di failover con raspbian è diverso che con pidora
Infatti mentre che con le distro basate su RHEL si riesce ad usare il comando pcs per autenticare i nodi e creare il cluster, con raspbian bisogna modificare a mano il file di corosync.
comunque occorre effettuare i seguenti passaggi:
apt-get install pcs corosync pacemaker
modificare il file hosts e specificare gli ip dei nodi:
192.168.x.x nodo1 192.168.x.x nodo2
e commentare la seguente riga:
#127.0.1.1 nodox
poi eseguire comunque
pcs cluster auth nodo1 nodo2
il cui esito va a buon fine
poi invece di eseguire il comando di creazione del cluster (pcs cluster setup –name nomecluster nodo1 nodo2)
vado a modificare il file corosync.conf nel seguente modo
compatibility: whitetank
aisexec {
user: root
group: root
}
totem {
version: 2
secauth: on
threads: 0
rrp_mode: active
cluster_name: clstte
token: 10000
token_retransmits_before_loss_const: 10
clear_node_high_bit: yes
crypto_cipher: none
crypto_hash: none
transport: udpu
interface {
ringnumber: 0
bindnetaddr: 192.168.1.0
mcastport: 5405
ttl: 1
member {
memberaddr: 192.168.1.78 (ra1)
}
member {
memberaddr: 192.168.1.82 (ra2)
}
}
}
logging {
fileline: off
to_stderr: no
to_logfile: yes
to_syslog: yes
syslog_facility: daemon
debug: off
timestamp: on
logger_subsys {
subsys: AMF
debug: off
}
}
quorum {
provider: corosync_votequorum
expected_votes: 2
two_node: 1
}
Dovrò poi valutare di fare altri testo con altri parametri del file corosync.conf specificati nel sito di clusterlabs.org nella sezione dedicata a ubuntu.
Riavviare quindi tutti e due i nodi e verificare con crm_mon
Preparare i dispositivi drbd ridondanti. Su Raspbian è diverso da Centos. Ci sono discordanze tra il modulo del kernel e le utils per la gestione delle risporse (drbdadm).
Infatti ho netato che se anche io vado a impostare nei file .res la voce che dice di avviarsi come primary, le risporse rimangono ugualmente secondary.
Quindi per impostare le risorse su primary bisogna farlo fare a pacemaker:
Si disabilita all'avvio il servizio drbd.
systemctl disable drbd.service\\
infatti anche se si disabilita il servizio. il modulo viene caricato ugualmente. se si esegue
cat /proc/drbd
si noterà che drbd è prondo per ricevere ordini per attivare e gestire le risorse. Facciamolo fare a pacemaker.
pcs resource create r_drbd0 ocf:linbit:drbd drbd_resource=r0 op monitor interval=10s
poi definiamo i dual primary
pcs resource master rm_drbd0 r_drbd0 master-max=2 master-node-max=1 clone-max=2 clone-node-max=1 notify=true
questi comandi dovranno essere dati solo dopo le tre direttive principali:
pcs property set stonith-enabled=false pcs property set no-quorum-policy=ignore pcs property set default-resource-stickiness=INFINITY