Bonding para Heartbeat + Bonding para DRBD + OCFS2 + Debian Squeeze

Bonding para Heartbeat + Bonding para DRBD + OCFS2 + Debian Squeeze.

[ Hits: 39.874 ]

Por: Douglas Q. dos Santos em 25/08/2012 | Blog: http://wiki.douglasqsantos.com.br


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

include "drbd.d/global_common.conf";
#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


Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação e configuração do Bond
   3. Instalação e configuração do Heartbeat
   4. Instalação e configuração do DRBD + OCFS2
   5. Plus de Heartbeat
Outros artigos deste autor

Um pouco sobre IPtables

Bind9 slave em chroot no Debian Lenny

IDS com Snort + Guardian + Debian Lenny

Alta disponibilidade com Debian Lenny + Heartbeat + DRBD8 + OCFS2 + MONIT + LVS

Apache em chroot + MySQL + PHP + mod_security + mod_evasive + vsftpd + Fail2ban + Debian Squeeze

Leitura recomendada

CUIDADO com o comando "dd", embora muito útil ele pode ser perigoso

Criando vídeo com características de DVD

Clonando HDs na rede

LaTeX, um poderoso diagramador de textos (parte 2)

Problema no GRUB no Debian Squeeze 6.0.7 [Resolvido]

  
Comentários
[1] Comentário enviado por danniel-lara em 25/08/2012 - 13:57h

Parabéns pelo artigo
muito bom mesmo

[2] Comentário enviado por rafael.mendes em 31/08/2012 - 19:21h

excelente artigo!!!

[3] Comentário enviado por tborri em 20/02/2013 - 23:42h

Parabéns pelo artigo, encontrei alguns problemas estou utilizando Debian Squeeze 6.0.6
1º os módulos cn e drbd não carregavam tive que adicionar manual em
# /etc/modules
cn
drbd

2º quando carrega dava erro no mount.ocfs2 /etc/fstab
resolvi com estes cabeçalhos dos scripts
drbd

# /etc/init.d/drbd
# Default-Start: 2 3 4 5

o2cb

#!/bin/bash
# init fragment for O2CB.
#
# chkconfig: 2345 24 20
# description: Load O2CB cluster services at system boot.
#
### BEGIN INIT INFO
# Provides: o2cb
# Required-Start: $local_fs $network $syslog drbd
# Required-Stop: $local_fs $network $syslog drbd
# Should-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Load O2CB cluster services at system boot.
# Description: Load O2CB cluster services at system boot.
### END INIT INFO

ocfs2

#! /bin/bash
# Copyright (c) 2005 Oracle
# All rights reserved.
#
# chkconfig: 2345 25 19
# description: Mount OCFS2 volumes at boot.
#
### BEGIN INIT INFO
# Provides: ocfs2
# Required-Start: $local_fs $network $syslog o2cb
# Required-Stop: $local_fs $network $syslog o2cb
# X-UnitedLinux-Should-Start:
# X-UnitedLinux-Should-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Mount OCFS2 volumes at boot.
# Description: Mount OCFS2 volumes at boot.
### END INIT INFO

e a ordem de inicialização dos serviços continuaram a mesma

insserv -r -v ocfs2
insserv -r -v o2cb
insserv -r -v drbd

depois

insserv -f -v drbd
insserv -f -v o2cb
insserv -f -v ocfs2

e tudo funcionando, parabéns mais uma vez pelo artigo!!!

[4] Comentário enviado por Jonatas_rc2 em 04/06/2013 - 16:08h

Douglas,

Parabéns pelo artigo. Mas se possível me tire uma dúvida:

É possível fazer essa solução funcionar em um servidor Linux que tenha uma aplicação web? exemplo..

No meu trabalho tem um linux com o apache tomcat, e esse teu artigo me abriu os olhos quanto a isso. Tenho pouca experiência com Linux. Mas é possível?


Grato

[5] Comentário enviado por douglas_dksh em 06/06/2013 - 10:07h

Cara você pode sim.

Eu tenho isso implementado em alguns clientes, para servidores web, email e outros.

Não sei como você está fazendo a instalação do tomcat eu sempre faço pelos binários que baixo não instalo por pacotes, se fizer assim é so colocar o tomcat no drbd e fazer os clientes utilizarem o endereço ip do heartbeat.

qualquer coisa tem mais algumas coisas no meu site www.douglas.wiki.br

[6] Comentário enviado por rafaelmcosta em 20/10/2013 - 13:10h

Muito bom o artigo.

Uma duvida, pq vc coloca o default start do drbd assim?

/etc/init.d/drbd

# Deixe a opção Default-Start como abaixo
# Default-Start: S

Teve algum problema ao deixar 2 3 4 5?

Outra coisa, a montagem pelo /etc/fstab foi sem problemas? Aqui sempre reclama, uma vez que o DRBD e OCFS2 sobem depois.

[7] Comentário enviado por bruno-debian em 03/02/2014 - 16:51h

Muito F***. Me ajudou muito fera ! Obrigado por compartilhar !

[8] Comentário enviado por wagnerfs em 21/08/2014 - 10:34h

Parabéns pelo artigo e por difundir o conhecimento.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts