Bonding para Heartbeat + Bonding para DRBD + OCFS2 + Debian Squeeze
Bonding para Heartbeat + Bonding para DRBD + OCFS2 + Debian Squeeze.
Parte 4: Instalação e configuração do DRBD + OCFS2
Agora, vamos instalar o DRBD e o OCFS2, faça isso nas duas máquinas:
# aptitude install drbd8-utils ocfs2-tools ocfs2-tools-dev -y
Agora vamos carregar os módulos (faça isso nas duas máquinas):
# modprobe cn
# modprobe drbd
Vamos configurar o DRBD. Deixe o arquivo como abaixo nas duas máquinas:
# vim /etc/drbd.conf
Execute nas duas máquinas a parte abaixo.
Vamos fazer backup do arquivo de configuração original:
# cp /etc/drbd.d/global_common.conf{,.bkp}
Deixe o arquivo como abaixo:
# vim /etc/drbd.d/global_common.conf
Caso dê algum problema na inicialização, como um dos dois servidores não ficar como primary, podemos resolver da seguinte maneira:
- Primeiro vamos mandar desmontar as partições montadas com o OCFS2 nos dois servidores:
# umount /ocfs2
- Agora vamos mandar reiniciar o DRBD nos dois servidores:
# /etc/init.d/drbd restart
- Agora vamos forçar a utilização dos dois nodos primary:
# drbdadm -- --overwrite-data-of-peer primary r1
- Depois, é só remontar as partições novamente nos dois servidores:
# mount.ocfs2 /dev/drbd1 /ocfs2/
# cat /proc/drbd
Resultado:
No nodo2, vamos mandar ele desconsiderar os dados que ele já tem e ressincronizar com o nodo1:
# drbdadm -- --discard-my-data connect r1
Agora vamos verificar a sincronismo:
# cat /proc/drbd
Resultado:
Assim que terminar este processo, precisamos somente forçar os dois como primary da seguinte forma:
# drbdadm -- --overwrite-data-of-peer primary r1
O discos ainda sincronizando e forçados como primary:
# cat /proc/drbd
# aptitude install drbd8-utils ocfs2-tools ocfs2-tools-dev -y
Agora vamos carregar os módulos (faça isso nas duas máquinas):
# modprobe cn
# modprobe drbd
Vamos configurar o DRBD. Deixe o arquivo como abaixo nas duas máquinas:
# vim /etc/drbd.conf
include "drbd.d/global_common.conf";
#include "drbd.d/*.res";
#include "drbd.d/*.res";
Execute nas duas máquinas a parte abaixo.
Vamos fazer backup do arquivo de configuração original:
# cp /etc/drbd.d/global_common.conf{,.bkp}
Deixe o arquivo como abaixo:
# vim /etc/drbd.d/global_common.conf
Sist. Arq. Tipo Size Used Avail Use% Montado em /dev/sda1 ext3 323M 147M 160M 48% / tmpfs tmpfs 249M 0 249M 0% /lib/init/rw udev tmpfs 244M 168K 244M 1% /dev tmpfs tmpfs 249M 0 249M 0% /dev/shm /dev/sda9 ext3 2,8G 69M 2,6G 3% /home /dev/sda8 ext3 234M 6,1M 216M 3% /tmp /dev/sda5 ext3 2,8G 639M 2,0G 24% /usr /dev/sda6 ext3 1,4G 273M 1,1G 21% /var /dev/drbd1 ocfs2 8,0G 151M 7,9G 2% /ocfs2
Caso dê algum problema na inicialização, como um dos dois servidores não ficar como primary, podemos resolver da seguinte maneira:
- Primeiro vamos mandar desmontar as partições montadas com o OCFS2 nos dois servidores:
# umount /ocfs2
- Agora vamos mandar reiniciar o DRBD nos dois servidores:
# /etc/init.d/drbd restart
- Agora vamos forçar a utilização dos dois nodos primary:
# drbdadm -- --overwrite-data-of-peer primary r1
- Depois, é só remontar as partições novamente nos dois servidores:
# mount.ocfs2 /dev/drbd1 /ocfs2/
Erros de sincronismo
Exemplo de erro de sincronismo dos discos, aonde perdemos a consistência dos dados, com isso, vamos precisar acertar este erro:# cat /proc/drbd
Resultado:
version: 8.3.7 (api:88/proto:86-91)
srcversion: EE47D8BF18AC166BE219757
1: cs:StandAlone ro:Secondary/Unknown ds:Outdated/DUnknown r----
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:258100
No nodo2, vamos mandar ele desconsiderar os dados que ele já tem e ressincronizar com o nodo1:
# drbdadm -- --discard-my-data connect r1
Agora vamos verificar a sincronismo:
# cat /proc/drbd
Resultado:
version: 8.3.7 (api:88/proto:86-91)
srcversion: EE47D8BF18AC166BE219757
1: cs:SyncTarget ro:Secondary/Primary ds:Inconsistent/UpToDate C r----
ns:0 nr:293128 dw:287336 dr:0 al:0 bm:19 lo:1448 pe:35179 ua:1448 ap:0 ep:1 wo:b oos:207647312
[>....................] sync'ed: 0.2% (202780/203060)M
finish: 1:00:10 speed: 57,464 (57,464) K/sec
Assim que terminar este processo, precisamos somente forçar os dois como primary da seguinte forma:
# drbdadm -- --overwrite-data-of-peer primary r1
O discos ainda sincronizando e forçados como primary:
# cat /proc/drbd
version: 8.3.7 (api:88/proto:86-91)
srcversion: EE47D8BF18AC166BE219757
1: cs:SyncSource ro:Primary/Primary ds:UpToDate/Inconsistent C r----
ns:22204456 nr:0 dw:0 dr:22211888 al:0 bm:1356 lo:40 pe:1833 ua:1797 ap:0 ep:1 wo:b oos:185737536
[=>..................] sync'ed: 10.7% (181384/203060)M
finish: 0:55:40 speed: 55,560 (47,940) K/sec
muito bom mesmo