Configurando o GFS2
1 - Para configurar o nosso GFS2, vamos precisar iniciar alguns serviços.
No servidor centos-1 façamos o seguinte:
# /etc/init.d/ricci start
# /etc/init.d/luci start
# chkconfig --level 123456 ricci on
# chkconfig --level 123456 luci on
Servidor centos-2:
# /etc/init.d/ricci start
# chkconfig --level 123456 ricci on
O serviço luci é um serviço que pode ser administrador via interface Web, não será o meu objetivo nesse momento, pois pretendo abordar toda configuração no modo
texto. "Rumbora"!
2 - Para acessar digite:
https://192.168.100.115:8084
3 - Continuando, vamos instalar o Mysql em ambos servidores.
Servidor centos-1:
# yum install mysql-server
# chkconfig --level 123456 mysqld off
Servidor centos-2:
# yum install mysql-server
# chkconfig --level 123456 mysqld off
4 - Com a instalação concluída com sucesso, vamos criar o arquivo /etc/cluster/cluster.conf:
# vim /etc/cluster/cluster.conf
Explicando o arquivo cluster.conf:
O que é CMAN?
CMAN é simétrica, de propósito geral, gerente de cluster baseado em kernel. Ela tem duas partes:
Connection Manager (cnxman) lida com a adesão, a notificação de eventos de mensagens, quorum, e transições.
Service Manager (sm) lida com "grupos de serviço" que são uma forma geral de representação e gestão de casos de sistemas externos que necessitam de
gerenciamento de cluster.
O gerenciador de clusters CMAN é o sistema fundamental sobre a qual DLM, GFS, CLVM e Fence, todos dependentes um do outro.
CMAN consiste de um conjunto de patches no kernel e um programa userspace (cman_tool). CMAN depende CCS (apenas cman_tool que opcionalmente pode ser
usado sem CCS se todos os parâmetros são dados na linha de comando.)
cluster.conf
Este arquivo inicia a execução do Complemento de Alta Disponibilidade.
Um de seus recursos é utilizar o file system de tipo gfs e gfs2 que pode ser implementado em conjunto com o DRBD, podendo adicionar 2 ou mais nós como primário.
Algumas dicas do arquivo de configuração cluster.conf:
cluster name="mysql" - Específica o nome do cluster que está sendo criado;
config_version="1" - Versão do arquivo que está sendo criado;
clusternode name="centos-1" - Nome do primeiro nó do cluster;
clusternode name="centos-2" - Nome do segundo nó do cluster.
Com o arquivo criado no servidor centos-1 (nó-1), execute o comando abaixo:
# scp /etc/cluster/cluster.conf root@192.168.1.22:/etc/cluster/
Agora vamos executar os comandos abaixo em ambos servidores:
# /etc/init.d/cman restart
# mkdir /MYSQL
# reboot
No servidor centos-1 (nó-1), execute o comando abaixo:
# mkfs.gfs2 -t mysql:mysql -j 2 /dev/drbd0
Explicando:
- mkfs.gfs2 - Tipo de file System;
- mysql:mysql - resource do drbd.conf (mysql) e o name do arquivo Cluster.conf (mysql);
- /dev/drbd0 - DRBD.
5 - Verificando se os servidores estão como Primay/Primary:
CentOS 1:
# cat /proc/drbd
# /etc/fstab
# Created by anaconda on Mon Oct 31 17:19:33 2011
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=57805b9a-8908-4ba2-95a8-cddbc1f27fed / ext4 defaults 1 1
UUID=b7b08635-eb8d-44a7-8de7-4f5056b4a003 swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/drbd0 /MYSQL gfs2 defaults 0 0
10 - Um outro ponto importante que acabei apanhando bastante nessa configuração, foi a desmontagem do /dev/drbd0 no reboot do sistema operacional, para
resolver este problema ou bug eu realizei a seguinte alteração de inicialização dos serviços:
Faça isso em ambos servidores:
# cd /etc/rc3.d/
# mv S70drbd S20drbd
# umount /MYSQL