Cluster de Alta disponibilidade do Zimbra Collaboration System

Este documento destina-se a todos os administradores de sistemas que desejam ter um serviço de alta disponibilidade em seu sistema de colaboração.

[ Hits: 26.469 ]

Por: Braulio Gomes Rodrigues em 17/11/2015 | Blog: http://www.linuxajuda.org


Pacemaker



O Pacemaker é um software open source que serve para gerenciar os recursos utilizados por computadores em clusters.

Instalando os pacotes nos dois nós:

# yum install pacemaker-cli.x86_64 pacemaker-cluster-libs.x86_64 pacemaker-cts.x86_64 pacemaker-libs.x86_64 pacemaker-libs-devel.x86_64 pacemaker-remote.x86_64 pacemaker.x86_64 pcs.x86_64

# yum install ccs.x86_64 clufter-lib-ccs.noarch cman.x86_64

# wget http://download.opensuse.org/repositories/network:/ha-clustering:/Stable/CentOS_CentOS-6/network:ha-clustering:Stable.repo

# yum -y install crmsh


Há duas maneiras de configurar o Pacemaker. A primeira é usando o intérprete crmsh, iniciando o shell crm com o comando "crm", e em seguida, fornecendo frases de configuração. Por exemplo:

# crm
crm(live)# help
crm(live)# quit

Outra forma seria através do comando pcs e instruções CAC diretamente de uma tty linux em uma sessão bash. Vamos usar dessa forma para configurar o cluster, executando os comandos apenas no nó primário SRVP1.

Criando o cluster:

# ccs --file /etc/cluster/cluster.conf --createcluster zcsCluster

Adicionando os nós:

# ccs --file /etc/cluster/cluster.conf --addnode srvp1.linuxajuda.org
# ccs --file /etc/cluster/cluster.conf --addnode srvp2.linuxajuda.org


Definir as barreiras que serão acatadas pelo Pacemaker:

# ccs --file /etc/cluster/cluster.conf --addfencedev pcmk agent=fence_pcmk
# ccs --file /etc/cluster/cluster.conf --addmethod pcmk-redirect srvp1.linuxajuda.org
# ccs --file /etc/cluster/cluster.conf --addmethod pcmk-redirect srvp2.linuxajuda.org
# ccs --file /etc/cluster/cluster.conf --addfenceinst pcmk srvp1.linuxajuda.org pcmk-redirect port=srvp1.linuxajuda.org
# ccs --file /etc/cluster/cluster.conf --addfenceinst pcmk srvp2.linuxajuda.org pcmk-redirect port=srvp2.linuxajuda.org


Desabilitando o CMAN Quorum:

Isso permitirá que a função de cluster de apenas um nó fique up, e será necessário desabilitar em ambos os nós.

# echo "CMAN_QUORUM_TIMEOUT=0" >> /etc/sysconfig/cman

Vamos iniciar o cluster no nó primário, execute o comandos no srvp1:

# service pacemaker start

Agora copie o arquivo do cluster para o nó secundário:

# scp -p /etc/cluster/cluster.conf root@10.0.1.102:/etc/cluster/

Checando o status do Pacemaker:

# pcs status
# crm_mon -1


Você pode também checar as configurações atuais do cluster usando os comandos abaixo:

# pcs config
# pcs property
# crm configure show


Verificando a validade das configurações:

# crm_verify -L -V

Desabilitar o stonith para que ele não fique gerando erros:

# pcs property set stonith-enabled=false

Ignore a política do Quorum:

# pcs property set no-quorum-policy=ignore

Definindo as tentativas de reconexão:

# pcs resource defaults --force migration-threshold=1

Conjunto stickiness:

# pcs resource defaults --force resource-stickiness=100

A seguir usaremos o interpretador crmsh para criar os serviços do zimbra no cluster:

Adicionando o ip virtual ao cluster:

# pcs resource create VIP1 IPaddr2 ip=10.0.1.100 \
broadcast=10.0.1.255 nic=eth0 cidr_netmask=24 \
iflabel=VIP1 op monitor interval=30s timeout=30s


Definindo os recursos do DRBD no cluster:

# crm
# configure primitive drbd ocf:linbit:drbd params \
drbd_resource=optzimbra \
op monitor role=Master interval=60s \
op monitor role=Slave interval=50s \
op start role=Master interval=60s timeout=240s \
op start role=Slave interval=0s timeout=240s \
op stop role=Master interval=60s timeout=100s \
op stop role=Slave interval=0s timeout=100s


Definindo o clone dos dados DRBD do zimbra:

# configure ms drbd_ms drbd \
meta master-max=1 master-node-max=1 \
clone-max=2 clone-node-max=1 notify=true


Definindo os recursos dos serviços do Zimbra:

# configure primitive zcs_service ocf:btactic:zimbra \
op monitor interval=2min timeout="40s" \
op start interval="0" timeout="360s" \
op stop interval="0" timeout="360s"


Definindo os recursos dos arquivos de sistemas do Zimbra:

# configure primitive zcs_fs ocf:heartbeat:Filesystem params \
device="/dev/drbd0" directory="/opt/zimbra" fstype=ext4 \
op start interval=0 timeout=60s \
op stop interval="0" timeout="60"


Defina todos os recursos dos hosts:

# configure group zcsgroup zcs_fs zcs_service
# configure colocation VIP1-with-drbd_ms-Master \
inf: drbd_ms:Master VIP1

# configure colocation drbd_ms-Master-with-zcs_fs \
inf: zcs_fs drbd_ms:Master

# configure colocation zcs_fs-with-zcs_service \
inf: zcs_service zcs_fs


Organizar a ordem dos recursos do cluster:

# configure order drbd_ms-promote-on-VIP1 \
inf: VIP1:start drbd_ms:promote

# configure order zcs_fs-on-dbrb_ms-promote \
inf: drbd_ms:promote zcs_fs:start

# configure order zcs_service-on-zcs_fs \
inf: zcs_fs:start zcs_service:start

# commit
# quit


Depois de alguns testes deixei os arquivos de inicialização dessa forma e funcionou.

chkconfig corosync off
chkconfig cman on
chkconfig ricci off
chkconfig pacemaker on
chkconfig drbd off

Página anterior     Próxima página

Páginas do artigo
   1. Considerações iniciais
   2. Configuração dos serviços de DNS do cluster
   3. Instalação do Zimbra Collaboration System
   4. OFC
   5. Pacemaker
   6. Comandos para controlar e checar os serviços
   7. Criando uma página para exibir o status via web
Outros artigos deste autor

Tutorial completo de implementação de LDAP + Samba + Squid

Leitura recomendada

Bloqueando SPAM no Kmail com o SpamAssassin

Qmail e chkuser - fila de mensagens limpa

Trabalhando com os logs do Postfix/Qmail usando o isoqlog

Servidor de email completo com Postfix

PHPXmail - um front-end web para o XMail

  
Comentários
[1] Comentário enviado por qxada07 em 03/08/2016 - 09:56h

Parabéns mano...
Att.

01010010 01101001 01100011 01100001 01110010 01100100 01101111 00100000 01010110 01100001 01110011 01100011 01101111 01101110 01100011 01100101 01101100 01101100 01101111 01110011


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts