DRBD e HeartBeat

Fazer download em docx, pdf ou txt
Fazer download em docx, pdf ou txt
Você está na página 1de 9

Data da elaboração inicial: 21/07/2023

Data da última revisão: 21/07/2023


Versão Atual: MIVC01

Histórico de Revisão
Data Versão Descrição Responsável
21/07/2023 01 Instalação e configuração alta Rafael Silva
disponibilidade, DRBD + Daniel
HEARBEAT

Responsável pela elaboração:


Rafael SIlva Daniel
Email: [email protected]
Brasil: +55 3003-1112
USA: +1 800 583 2077

Instalação do DRBD e Heartbeat

Primeiro passo:
Criando uma partição para ser utilizada pelo DRBD, e mantida pelo heartbeat

As duas partições devem ter exatamente o mesmo tamanho.

fdisk -l = Checa a lista de partições existentes no sistema.

fdisk /dev/sdb = Seleciona o dispositivo de armazenamento a ser trabalhado

Welcome to fdisk (util-linux 2.34).

Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.


Command (m for help):

Pede pela letra do comando fdisk, sendo m para listar os comandos disponíveis,
mas para começar:

“o” cria uma tabela de partições DOS (antiga)

“g” cria uma tabela de partição GPT (atual)

Cada uma necessária para DOS/BIOS para botar o sistema no disco numa placa mãe
BIOS, e GPT é necessário para a partição ser bootavel numa placa mãe UEFI

Escolhendo g:

Created a new GPT disklabel (GUID: 4649EE36-3013-214E-961C-51A9187A7503).

No próximo momento escolher n: para nova partição, ai digitar n e dar enter,


confirme com todas as próximas opções:

Partition number (1-128, default 1):

First sector (2048-500118158, default 2048):

E nessa ultima digite o valor do tamanho da partição, no caso do exemplo


“+100G” para 100GB

Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-500118158, default


500118158): +100G

Created a new partition 1 of type 'Linux filesystem' and of size 100 GiB.

Seguindo todos esses passos, ao usar o comando

“lsblk -h” na saída ele deve mostrar a nova partição criada.

INSTALAÇÃO DO DRBD
O DRBD funciona basicamente como um RAID 1 através de uma rede TCP/IP.

O primeiro passo é configurar as interfaces que farão a interconexão entre os dois servidores o
ideal que isso ocorra entre um cabo UTP conectado diretamente entre as interfaces.

Neste exemplo usuremos a interface primária para conexões externas e as interfaces


secundarias para interconexão entre os nós do drbd.

Servidor SRV-A com o IP 10.0.0.1/30

Servidor SRV-B com o IP 10.0.0.2/30

Nos dois nós faça:

Hosts

#vim /etc/hosts

Servidor SRV-A inclua “10.0.0.1 SRV-A”

Servidor SRV-B inclua “10.0.0.2 SRV-B”

Crie uma partição de exatamente o mesmo tamanho nos dois servidores que serão espelhados

Pacotes necessários

apt-get install drbd-utils

crie o arquivo abaixo dentro do /etc/drbd.d/storage.res

Este arquivo orienta todos os parametros de configuração do volume de armazenamento


DRBD

resource storage {
protocol C;

handlers {

pri-on-incon-degr "echo o > /proc/sysrq-trigger ; halt -f";

pri-lost-after-sb "echo o > /proc/sysrq-trigger ; halt -f";

local-io-error "echo o > /proc/sysrq-trigger ; halt -f";

pri-lost "echo primary DRBD lost | mail -s âDRBD Alertâ [email protected]


[email protected]";

startup {

degr-wfc-timeout 60;

disk {

on-io-error detach;

net {

sndbuf-size 512k;

timeout 60;

connect-int 12;

ping-int 12;

ping-timeout 9;

max-buffers 20480;

cram-hmac-alg "sha1";

shared-secret "ff3421bc";

after-sb-0pri discard-older-primary;

after-sb-1pri violently-as0p;

after-sb-2pri disconnect;

rr-conflict disconnect;
}

syncer {

rate 100M;

al-extents 257;

on SRV-A {

device /dev/drbd0;

#Informe qual particao do segundo node


sera oferecida para se tornar o volume de armazenamento espelhado pelo drbd

disk /dev/sda3;

#Qual o endereco da interface de


comunicacao utilizado pelo node B

address 10.0.0.1:7793;

meta-disk internal;

on SRV-B {

device /dev/drbd0;

#Informe qual particao do segundo node


sera oferecida para se tornar o volume de armazenamento espelhado pelo drbd

disk /dev/sda4;

#Qual o endereco da interface de


comunicacao utilizado pelo node B

address 10.0.0.2:7793;

meta-disk internal;

}
Após as partições terem sido criadas, e o arquivo [volume drbd].res ter sido criado

Criar disco virtual

drbdadm create-md storage

Reiniciar o Drbd

service drbd restart

O comando drbdadm primary --force [volume drbd] Força o node a assumiur como primario.

O comando drbdadm secondary [volume drbd] faz o volume assumir como secundario.

# cat /proc/drbd

version: 8.3.11 (api:88/proto:86-96)

srcversion: F937DCB2E5D83C6CCE4A6C9

0: cs:SyncTarget ro:Secondary/Secondary ds:Inconsistent/UpToDate C r-----

ns:0 nr:13709568 dw:13644160 dr:0 al:0 bm:832 lo:512 pe:1797 ua:511 ap:0 ep:1 wo:f
oos:5884936

[============>.......] sync'ed: 69.9% (5744/19068)Mfinish: 0:00:56 speed:


103,360 (99,592) want: 102,400 K/sec

Replicação em andamento!
Definir o servidor primario

drbdadm primary –force all

Definir o servidor segundário

drbdadm secondary all

INSTALAÇÃO DO HEARTBEAT

O DRBD funciona basicamente como um RAID 1 através de uma rede TCP/IP.

O primeiro passo é configurar as interfaces que farão a interconexão entre os dois servidores o
ideal que isso ocorra entre um cabo UTP conectado diretamente entre as interfaces.

apt-get install heartbeat

vim /etc/ha.d/ha.cf

coredumps yes

logfile /var/log/heartbeat/ha-log

debugfile /var/log/heartbeat/ha-debug

#logfacility local0

keepalive 2

deadtime 15

warntime 5

initdead 30

udpport 694
bcast eno1 eno2

auto_failback on

node SRV-A

node SRV-B

ping_group ibping 192.168.10.1

respawn hacluster /usr/lib/heartbeat/ipfail

apiauth ipfail gid=haclient uid=hacluster

cat /etc/ha.d/authkeys

auth 1

1 md5 gosat

chmod 600 /etc/ha.d/authkeys

MUITO IMPORTANTE

/etc/ha.d/haresources

SRV-A drbddisk::storage Filesystem::/dev/drbd0::/storage::ext4

SRV-A IPaddr::192.168.10.251/24/eno1 asterisk

> /var/log/heartbeat/ha-debug

> /var/log/heartbeat/ha-log

ls /usr/share/heartbeat/

BasicSanityCheck cts ha_config ha_propagate ha_test.py ha_test.pyc hb_addnode


hb_api.py hb_api.pyc hb_delnode hb_setsite hb_setweight hb_standby hb_takeover
mach_down req_resource ResourceManager TestHeartbeatComm
fdisk -s -l

mount(2) system call failed: Wrong medium type.

Cause:

The DRBD block device you’re trying to access is configured to act as a Secondary device,
which means it cannot be accessed to be read ot to be written to.

The state of your device is kept in /proc/drbd:

[adam@data01 ~] cat /proc/drbd

version: 8.3.7 (api:88/proto:86-91)

srcversion: EE47D8BF18AC166BE219757

0: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r----

ns:0 nr:18104264 dw:18100168 dr:0 al:0 bm:0 lo:1024 pe:0 ua:1025 ap:0 ep:2 wo:b oos:0

Você também pode gostar