HA – DRDB

Para configurar um servidor de Alta Disponibilidade utilizaremos o DRBD (RAID via Rede) e o HeartBeat (Batimento Cardiaco) para monitorar os dois servidores

Primeiro configure o DRBD, em seguida configure o Heartbeat

1 – Crie uma partição com o mesmo tamanho nos dois servidores utilizando o cfdisk

2 – Depois de reiniciar os dois servidores formate apenas a partição do servidor que você definiu como primario.

mkfs -t ext3 /dev/hda5

3 – Instale os seguintes pacotes nos dois servidores

apt-get install kernel-headers-2.6.8-2-386 drbd0.7-module-source drbd0.7-utils make gcc libc6-dev

4 – Compile os módulos do drbd nos dois servidores

cd /usr/src/
tar -xzvf drbd0.7.tar.gz
cd modules/drbd/drbd/
make
make install

5 – Crie o arquivo de configuração do DRBD “/etc/drbd.conf” nos dois servidores conforme abaixo:

vi /etc/drbd.conf

resource servidor-dados {
  protocol C;
  incon-degr-cmd "halt -f";

  startup {
    degr-wfc-timeout 60;
    wfc-timeout 0;
  }

  syncer {
    rate 30M;
  }

  on ha-primary {
    device /dev/drbd0;
    disk /dev/hda5;
    address 192.168.0.51:7789;
    meta-disk internal;
  }

  on ha-secondary {
    device /dev/drbd0;
    disk /dev/hda5;
    address 192.168.0.52:7789;
    meta-disk internal;
  }
}

6 – Inicie o drbd nos dois servidores

/etc/init.d/drbd start

Irá aparecer esta menssagme de erro em “/var/log/messages”:

drbd0: I am inconsistent, but there is no sync? BOTH nodes inconsistent!

ATENÇÃO: Esta mensagem aparece porque nenhum servidor foi eleito como primário. Resolva isto entrando com o seguinte comando no servidor definido como primario:

drbdsetup /dev/drbd0 primary --do-what-I-say

* A Partir deste momento estará sendo feita a sincronização nos discos. Isto pode ser feito visualizando o arquivo /proc/drbd

more /proc/drbd

7 – Edite o arquivo de configuração /etc/fstab no dois servidores acrescentando a seguinte linha:

vi /etc/fstab

/dev/drbd0 /dados ext3 noauto 0 0

8 – Crie nos dois servidores o diretório /dados

mkdir /dados

9 – Recarregue as configurações deste arquivo no sistema

mount -a

10 – Monte a partição “/dados” no servidor primario

mount /dados

ATENÇÃO: Só é possível montar a partição no servidor que está definido como primário. A partir do momento que o servidor secundário se tornar primário será possível montar a partição “/dados” nele.

Testando o DRBD

11 – Crie um arquivo vazio de 500 MB em /dados no servidor que está definido como primário

dd if=/dev/zero of=/dados/arquivao bs=1024 count=500000

12 – Desmonte a partição /dados

umount /dados

13 – Torne o servidor atualmente primario em secundario

drbdsetup /dev/drbd0 secondary

14 – Torne o servidor que era secundario para primário

drbdsetup /dev/drbd0 primary

15 – Monte a partição /dados no novo servidor primario

mount /dados

16 – Veja se estão sendo utilizados os 500MB na partição montada /dados

df -h

* A idéia do heartbeat é realizar este processo aumotaticamente, desmontar a partição no servidor primario quando este parar e eleger o secundário como primário montando agora a partição /dados nele

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s