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

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

[ Hits: 39.183 ]

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

Bind9 slave em chroot no Debian Lenny

Servidor Jabber com Openfire + MySQL + Debian Lenny

Um pouco sobre IPtables

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

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

Leitura recomendada

Exibindo um splash durante o boot com Splashy

Explorando o NFS do mrluk

Assembler no Linux

O que evoluiu no Linux de hoje?

Segunda experiência com BASIC LINUX

  
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