>_RedHat Cluster – Configurando o drbd e gfs2 – 1.3

[image order=”ASC” orderby=”menu_order” align=”center” size=”medium” image_link=”on” link_type=”large” caption=”on” lightbox=”on” limit=”1″ image_frame=”on” random=”on” random_cat=”on” ]Cenário

centos1.tgl.com.br
eth0 – 192.168.1.44/24 – Rede interna
eth1 – 192.168.0.4/28 – DRBD
/dev/vda5 – DRBD GFS2

centos2.tgl.com.br
eth0 – 192.168.1.55/24 – Rede interna
eth1 – 192.168.0.5/28 – DRBD
/dev/vda5 – DRBD GFS2

OBS: Todas as interfaces de redes dos servidores físicos (srvdell1 e srvdell2) são interfaces de 1GB CAT6

Mão-na-massa!

Em ambos Nós (centos1 e centos2) compile o DRBD

Passo 1 – Compilando o DRBD de acordo com o Kernel em uso
OBS:Execute todo o processo nos dois nodes

 # yum install gcc make automake autoconf flex rpm-build kernel-devel -y
 # mkdir -p ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
 # wget http://oss.linbit.com/drbd/8.3/drbd-8.3.11.tar.gz
 # tar -xvf drbd-8.3.11.tar.gz
 # cd drbd-8.3.11
 # ./configure ; make rpm ; make km-rpm
 # cd /root/rpmbuild/RPMS/x86_64/
 # rpm -ivh drbd-*
Preparando...               ########################################### [100%]
   1:drbd-utils             ########################################### [ 13%]
   2:drbd-bash-completion   ########################################### [ 25%]
   3:drbd-heartbeat         ########################################### [ 38%]
   4:drbd-pacemaker         ########################################### [ 50%]
   5:drbd-udev              ########################################### [ 63%]
   6:drbd-xen               ########################################### [ 75%]
   7:drbd                   ########################################### [ 88%]
   8:drbd-km-2.6.32_358.6.1.########################################### [100%]
 # modprobe drbd

Passo 2 – Criando o arquivo drbd.conf
OBS: Execute este passo no Nó centos1.tgl.com.br

# vim /etc/drbd.conf
# vim /etc/drbd.conf
# You can find an example in  /usr/share/doc/drbd.../drbd.conf.example 

#include "drbd.d/global_common.conf"; 
#include "drbd.d/*.res"; 
global 		{ 
  		usage-count yes; 
		} 

common 		{ 
  	syncer 		{ 
    			rate 900M; 
    			al-extents 257; 
  			} 
		} 
resource storage 			{ 
  					protocol C; 
 	 			handlers 		{ 
				} 
				startup { 
    					wfc-timeout  15; 
    					degr-wfc-timeout 20;    # 2 minutes. 
#    					become-primary-on both; 
  					} 
  				disk 	{ 
    					on-io-error   detach; 
  					} 
  				net 	{ 
    					sndbuf-size 512k; 
    					timeout       60;    #  6 seconds  (unit = 0.1 seconds) 
    					connect-int   10;    # 10 seconds  (unit = 1 second) 
    					ping-int      10;    # 10 seconds  (unit = 1 second) 
    					ping-timeout   5;    # 500 ms (unit = 0.1 seconds) 
    					max-buffers 2048; 
    					allow-two-primaries; 
    					after-sb-0pri discard-zero-changes; 
    					after-sb-0pri discard-least-changes; 
    					after-sb-1pri discard-secondary; 
    					after-sb-2pri disconnect; 
  					} 
  				syncer 	{ 
    					rate 900M; 
    					al-extents 257; 
  					} 
  				on centos1.tgl.com.br		{ 
    								device     /dev/drbd0; 
    								disk       /dev/vda5; 
    								address    192.168.0.4:7788; 
    								meta-disk  internal; 
  								} 

  				on centos2.tgl.com.br		{ 
    								device    /dev/drbd0; 
    								disk      /dev/vda5; 
    								address   192.168.0.5:7788; 
    								meta-disk internal; 
  								} 
				}

Passo 3 – Copie o arquivo drbd.conf para o Nó centos2.tgl.com.br

# scp /etc/drbd.conf root@centos2:/etc/

Passo 4 – Em ambos Nós do Cluster (centos1 e centos2) execute os comandos abaixo

# modprobe drbd 
# drbdadm create-md storage
# drbdadm attach storage
# drbdadm syncer storage
# drbdsetup /dev/drbd0 primary -o
# /etc/init.d/drbd start
# chkconfig drbd on

Passo 5 – Verificando o status do drbd com o comando cat. Execute em ambos nodes

# cat /proc/drbd

OBS: Caso não esteja como primário, execute novamente o comando abaixo em ambos nodes

# /etc/init.d/drbd restart
# drbdsetup /dev/drbd0 primary -o
# cat /proc/drbd
version: 8.3.11 (api:88/proto:86-96)
GIT-hash: 0de839cee13a4160eed6037c4bddd066645e23c5 build by root@centos1.tgl.com.br, 2013-06-05 18:32:16
 0: cs:Connected ro:Primary/Primary ds:UpToDate/UpToDate C r-----
    ns:0 nr:39909168 dw:39909112 dr:608 al:0 bm:2436 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0

Passo 6 – Crie o diretório /STORAGE em ambos Nós do Cluster (centos1 e centos2)

# mkdir /STORAGE

Passo 7 – Formatando a unidade /dev/drbd0 para o formato gfs2
OBS: Execute o comando abaixo somente no Nó cento1.tgl.com.br

[root@centos1 ~]# mkfs.gfs2 -t Cluster_FS:storage -j 2 /dev/drbd0
This will destroy any data on /dev/drbd0.
It appears to contain: Linux GFS2 Filesystem (blocksize 4096, lockproto lock_dlm)

Are you sure you want to proceed? [y/n] y

Device:                    /dev/drbd0
Blocksize:                 4096
Device Size                38,06 GB (9977278 blocks)
Filesystem Size:           38,06 GB (9977277 blocks)
Journals:                  2
Resource Groups:           153
Locking Protocol:          "lock_dlm"
Lock Table:                "Cluster_FS:storage"
UUID:                      3123df53-c31b-567f-dd64-08f1f6293eb8

Passo 8 – Verificando o runlevel que esta em execução.
OBS: Este comando deve ser executado em ambos Nós (centos1 e centos2)

# runlevel 
N 3
Passo 9 - Ajustando o script que inica o drbd no momento do boot do sistema 
OBS: Este comando deve ser executado em ambos Nós (centos1 e centos2)
# cd /etc/rc3.d/
# mv S70drbd S14drbd

Passo 10 – Configurando o arquivo fstab
OBS: Este comando deve ser executado em ambos Nós (centos1 e centos2)

# vim /etc/fstab
/dev/drbd0      /STORAGE        gfs2    defaults        0       0

Passo 11- Criando o script que terá como função forçar o DRBD ser primário em ambos Nós (centos1 e centos2)
OBS: Este passo deve ser executado somente no Nó (centos1.tgl.com.br)

[root@centos1 ~]# vim /etc/init.d/drbdsetup
#!/bin/bash
#
# chkconfig: 3 15 2 15 5 15
# Description: Start the incia_servicos

/sbin/drbdsetup /dev/drbd0 primary -o
[root@centos1 ~]# chmod +x /etc/init.d/drbdsetup 
[root@centos1 ~]# chkconfig drbdsetup on
[root@centos1 rc3.d]# ls  -l | grep drbdsetup
[root@centos1 ~]# cd /etc/rc3.d/
lrwxrwxrwx  1 root root 19 Jun  5 23:29 S15drbdsetup -> ../init.d/drbdsetup
[root@centos1 STORAGE]# scp /etc/init.d/drbdsetup root@centos2:/etc/init.d/

Passo 12 – Inserindo o script para iniciar junto com o boot do sistema
OBS: Este passo deve ser executado no Nó (centos2.tgl.com.br)

[root@centos2 STORAGE]# chkconfig drbdsetup on

Passo 13 – Reinicie os Nós (centos1 e centos2) e fique atento a inicialização para verificar se algo não iniciou corretamente. Caso esteja tudo bem configurado desde o tutorial 1.1 é bem provável que tudo inicie perfeitamente

# reboot
>_RedHat Cluster – Configurando o drbd e gfs2 – 1.3
Tagged on:

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

%d blogueiros gostam disto: