<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>É...vivendo e tentando aprender.... XD.<div><br></div><div>Acredito que a saga do Cluster no CentOS 6 chegou ao fim Antônio.</div><div>Ontem fiquei até 00:00 "brincando" um pouco nesses servidores e nas replicações.</div><div>Agora está funcionando beleza. Os servidores fazem a ajuda entre si e as replicações. As replicações está perfeitas. Configurei tudo ontem no pacemaker. O failover também está perfeito. Quando uma estação cái, ou entra em standby a outra assume na hora.</div><div>Fiz tudo em 2 máquinas virtuais criadas no VMWare ESXi.</div><div>O ideal era eu deixar uma virtual e outra em Servidor Físico. Mas isso eu vejo com a parte financeira da empresa depois..hehe.</div><div><br></div><div>Outra pergunta, o DRBD não trabalha com mais de 2 servidores não né? Andei lendo que ele trabalha apenas com 2 servidores. Se quiser trabalhar com mais de 2 tem que ser com a ferramenta paga deles.</div><div><br></div><div>Bom, veja como ficou minhas configurações:</div><div><br></div><div>Informações do Servidor Urano1 que são as mesmas do Urano2:</div><div><br></div><div><div>[root@urano1 ~]# uname -a</div><div>Linux urano1 2.6.32-358.18.1.el6.x86_64 #1 SMP Wed Aug 28 17:19:38 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux</div><div><br></div><div><div># /etc/corosync/corosync.conf</div><div><br></div><div>#Opção do protocolo totem</div><div>totem {</div><div>&nbsp; &nbsp; &nbsp; &nbsp; version: 2</div><div><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; #Tempo para verificar perca de pacotes em (ms)</div><div>&nbsp; &nbsp; &nbsp; &nbsp; token: 3000</div><div><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; #Quantas verificações antes de gerar notificações</div><div>&nbsp; &nbsp; &nbsp; &nbsp; token_retransmits_before_loss_const: 10</div><div><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; #Quanto tempo esperar para agrupar as notificações em (ms)</div><div>&nbsp; &nbsp; &nbsp; &nbsp; join: 60</div><div><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; #Quanto tempo esperar para uma solução antes de começar uma nova verificação (ms)</div><div>&nbsp; &nbsp; &nbsp; &nbsp; consensus: 3600</div><div><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; #Filtro de sincronismo virtual desabilitado</div><div>&nbsp; &nbsp; &nbsp; &nbsp; vsftype: none</div><div><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; #Número de mensagens processadas na recepção de pacotes</div><div>&nbsp; &nbsp; &nbsp; &nbsp; max_messages: 20</div><div><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; #Limite de cluster assinados</div><div>&nbsp; &nbsp; &nbsp; &nbsp; clear_node_high_bit: yes</div><div><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; #Criptografia desabilitada</div><div>&nbsp; &nbsp; &nbsp; &nbsp; secauth: off</div><div><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; #Quantas threads usadas para criptografar/descriptografar</div><div>&nbsp; &nbsp; &nbsp; &nbsp; threads: 0</div><div><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; #Atribui ID em um cluster fixo (opcional)</div><div>&nbsp; &nbsp; &nbsp; &nbsp; # nodeid: 1234</div><div><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; #Especifica que em modo de redundancia, não pode havar nenhum cluster ativo ou passivo.</div><div>&nbsp; &nbsp; &nbsp; &nbsp; rrp_mode: none</div><div><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; interface {</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #Número de clusters (0 default)</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ringnumber: 0</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #Início de ips utilizados por cluster 10.101.0.0 é 10.101.0.0/24 aqui mude para</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #O endereço da sua rede ex: 192.168.0.0 que seria 192.168.0.0/24</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; bindnetaddr: 192.168.0.0</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #Fim de ips utilizados por cluster</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mcastaddr: 226.94.1.1</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #Porta utilizaad pelo corosync</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mcastport: 5405</div><div>&nbsp; &nbsp; &nbsp; &nbsp; }</div><div>}</div><div><br></div><div>#Configuração de AIS Availability Management Framework</div><div>amf {</div><div>&nbsp; &nbsp; &nbsp; &nbsp; mode: disabled</div><div>}</div><div><br></div><div>service {</div><div>&nbsp; &nbsp; &nbsp; &nbsp; #Carregamento do serviço para gerenciamento</div><div>&nbsp; &nbsp; &nbsp; &nbsp; ver: &nbsp; &nbsp; &nbsp; 1</div><div>&nbsp; &nbsp; &nbsp; &nbsp; name: &nbsp; &nbsp; &nbsp;pacemaker</div><div>}</div><div><br></div><div>#Temos que setar o usuário e grupo como root para o ais ser capaz de gerenciar os recursos do pacemaker</div><div>aisexec {</div><div>&nbsp; &nbsp; &nbsp; &nbsp; user: &nbsp; root</div><div>&nbsp; &nbsp; &nbsp; &nbsp; group: &nbsp;root</div><div>}</div><div><br></div><div><br></div><div>#Configuração de log</div><div>logging {</div><div>&nbsp; &nbsp; &nbsp; &nbsp; fileline: off</div><div>&nbsp; &nbsp; &nbsp; &nbsp; to_stderr: yes</div><div>&nbsp; &nbsp; &nbsp; &nbsp; to_logfile: yes</div><div>&nbsp; &nbsp; &nbsp; &nbsp; logfile: /var/log/corosync/corosync.log</div><div>&nbsp; &nbsp; &nbsp; &nbsp; #Aqui estou desabilitando os logs para o syslog, pq senão zoa demais o arquivo</div><div>&nbsp; &nbsp; &nbsp; &nbsp; to_syslog: no</div><div>&nbsp; &nbsp; &nbsp; &nbsp; syslog_facility: daemon</div><div>&nbsp; &nbsp; &nbsp; &nbsp; debug: off</div><div>&nbsp; &nbsp; &nbsp; &nbsp; timestamp: on</div><div>&nbsp; &nbsp; &nbsp; &nbsp; logger_subsys {</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; subsys: AMF</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; debug: off</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tags: enter|leave|trace1|trace2|trace3|trace4|trace6</div><div>&nbsp; &nbsp; &nbsp; &nbsp; }</div></div><div><br></div><div><div>[root@urano1 ~]# ls /etc/drbd.d</div><div>global_common.conf &nbsp;http.res &nbsp;mysql.res</div></div><div><br></div><div><div>[root@urano1 ~]# cat /etc/drbd.d/http.res</div><div>resource http {</div><div>&nbsp; &nbsp; &nbsp; &nbsp; on urano1{</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; device /dev/drbd1;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; disk /dev/vg_urano1/lv_web;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; address 192.168.0.181:7789;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; meta-disk internal;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; }</div><div><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; on urano2{</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; device /dev/drbd1;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; disk /dev/vg_urano2/lv_web;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; address 192.168.0.182:7789;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; meta-disk internal;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; }</div><div>}</div></div><div><br></div><div><div>[root@urano1 ~]# cat /etc/drbd.d/mysql.res</div><div>resource mysql {</div><div>&nbsp; &nbsp; &nbsp; &nbsp; on urano1{</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; device /dev/drbd0;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; disk /dev/vg_urano1/lv_mysql;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; address 192.168.0.181:7790;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; meta-disk internal;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; }</div><div><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; on urano2{</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; device /dev/drbd0;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; disk /dev/vg_urano2/lv_mysql;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; address 192.168.0.182:7790;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; meta-disk internal;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; }</div><div>}</div></div><div><br></div><div><div>[root@urano1 ~]# lvs</div><div>&nbsp; LV &nbsp; &nbsp; &nbsp; VG &nbsp; &nbsp; &nbsp; &nbsp;Attr &nbsp; &nbsp; &nbsp;LSize Pool Origin Data% &nbsp;Move Log Cpy%Sync Convert</div><div>&nbsp; lv_home &nbsp;vg_urano1 -wi-ao--- 4,88g</div><div>&nbsp; lv_mysql vg_urano1 -wi-ao--- 4,88g</div><div>&nbsp; lv_root &nbsp;vg_urano1 -wi-ao--- 4,88g</div><div>&nbsp; lv_swap &nbsp;vg_urano1 -wi-ao--- 3,94g</div><div>&nbsp; lv_usr &nbsp; vg_urano1 -wi-ao--- 4,88g</div><div>&nbsp; lv_var &nbsp; vg_urano1 -wi-ao--- 4,88g</div><div>&nbsp; lv_web &nbsp; vg_urano1 -wi-ao--- 4,88g</div></div><div><br></div><div><div>[root@urano1 ~]# crm configure show</div><div>node urano1 \</div><div>&nbsp; &nbsp; &nbsp; &nbsp; attributes standby="off"</div><div>node urano2 \</div><div>&nbsp; &nbsp; &nbsp; &nbsp; attributes standby="off"</div><div>primitive Failover ocf:heartbeat:IPaddr2 \</div><div>&nbsp; &nbsp; &nbsp; &nbsp; params ip="192.168.0.200" cidr_netmask="24" nic="eth0" \</div><div>&nbsp; &nbsp; &nbsp; &nbsp; op monitor interval="10s"</div><div>primitive Httpd lsb:httpd</div><div>primitive MysqlData ocf:linbit:drbd \</div><div>&nbsp; &nbsp; &nbsp; &nbsp; params drbd_resource="mysql" \</div><div>&nbsp; &nbsp; &nbsp; &nbsp; op monitor interval="60s"</div><div>primitive MysqlFS ocf:heartbeat:Filesystem \</div><div>&nbsp; &nbsp; &nbsp; &nbsp; params device="/dev/drbd0" directory="/var/lib/mysql" fstype="ext4"</div><div>primitive Mysqld lsb:mysqld</div><div>primitive Vsftpd lsb:vsftpd</div><div>primitive WebData ocf:linbit:drbd \</div><div>&nbsp; &nbsp; &nbsp; &nbsp; params drbd_resource="http" \</div><div>&nbsp; &nbsp; &nbsp; &nbsp; op monitor interval="60s"</div><div>primitive WebFS ocf:heartbeat:Filesystem \</div><div>&nbsp; &nbsp; &nbsp; &nbsp; params device="/dev/drbd1" directory="/var/www/html" fstype="ext4"</div><div>ms MysqlDataClone MysqlData \</div><div>&nbsp; &nbsp; &nbsp; &nbsp; meta master-max="1" master-node-max="1" clone-max="2" clone-node-max="1" notify="true"</div><div>ms WebDataClone WebData \</div><div>&nbsp; &nbsp; &nbsp; &nbsp; meta master-max="1" master-node-max="1" clone-max="2" clone-node-max="1" notify="true"</div><div>location cli-prefer-Httpd Httpd \</div><div>&nbsp; &nbsp; &nbsp; &nbsp; rule $id="cli-prefer-rule-Httpd" inf: #uname eq urano1</div><div>location cli-prefer-Mysqld Mysqld \</div><div>&nbsp; &nbsp; &nbsp; &nbsp; rule $id="cli-prefer-rule-Mysqld" inf: #uname eq urano1</div><div>location cli-prefer-Vsftpd Vsftpd \</div><div>&nbsp; &nbsp; &nbsp; &nbsp; rule $id="cli-prefer-rule-Vsftpd" inf: #uname eq urano1</div><div>colocation Htpd-with-WebFS inf: Httpd WebFS</div><div>colocation Mysqld-with-MysqlFS inf: Mysqld MysqlFS</div><div>colocation fs_on_drbd inf: MysqlFS MysqlDataClone:Master</div><div>colocation fs_on_drbd1 inf: WebFS WebDataClone:Master</div><div>colocation website-with-ip inf: Httpd Failover</div><div>order Httpd-after-WebFS inf: WebFS Httpd</div><div>order MysqlFS-after-MysqlData inf: MysqlDataClone:promote MysqlFS:start</div><div>order Mysqld-after-MysqlFS inf: MysqlFS Mysqld</div><div>order WebFS-after-WebData inf: WebDataClone:promote WebFS:start</div><div>order httpd-after-ip inf: Failover Httpd</div><div>property $id="cib-bootstrap-options" \</div><div>&nbsp; &nbsp; &nbsp; &nbsp; dc-version="1.1.9-2.2-2db99f1" \</div><div>&nbsp; &nbsp; &nbsp; &nbsp; cluster-infrastructure="classic openais (with plugin)" \</div><div>&nbsp; &nbsp; &nbsp; &nbsp; expected-quorum-votes="2" \</div><div>&nbsp; &nbsp; &nbsp; &nbsp; stonith-enabled="false" \</div><div>&nbsp; &nbsp; &nbsp; &nbsp; no-quorum-policy="ignore"</div></div><div><br></div><div><div>[root@urano1 ~]# crm_mon -1</div><div>Last updated: Fri Sep &nbsp;6 08:13:19 2013</div><div>Last change: Fri Sep &nbsp;6 07:44:54 2013 via crm_attribute on urano1</div><div>Stack: classic openais (with plugin)</div><div>Current DC: urano2 - partition with quorum</div><div>Version: 1.1.9-2.2-2db99f1</div><div>2 Nodes configured, 2 expected votes</div><div>10 Resources configured.</div><div><br></div><div><br></div><div>Online: [ urano1 urano2 ]</div><div><br></div><div>&nbsp;Failover &nbsp; &nbsp; &nbsp; (ocf::heartbeat:IPaddr2): &nbsp; &nbsp; &nbsp; Started urano1</div><div>&nbsp;Httpd &nbsp;(lsb:httpd): &nbsp; &nbsp;Started urano1</div><div>&nbsp;Mysqld (lsb:mysqld): &nbsp; Started urano1</div><div>&nbsp;Vsftpd (lsb:vsftpd): &nbsp; Started urano1</div><div>&nbsp;Master/Slave Set: MysqlDataClone [MysqlData]</div><div>&nbsp; &nbsp; &nbsp;Masters: [ urano1 ]</div><div>&nbsp; &nbsp; &nbsp;Slaves: [ urano2 ]</div><div>&nbsp;MysqlFS &nbsp; &nbsp; &nbsp; &nbsp;(ocf::heartbeat:Filesystem): &nbsp; &nbsp;Started urano1</div><div>&nbsp;Master/Slave Set: WebDataClone [WebData]</div><div>&nbsp; &nbsp; &nbsp;Masters: [ urano1 ]</div><div>&nbsp; &nbsp; &nbsp;Slaves: [ urano2 ]</div><div>&nbsp;WebFS &nbsp;(ocf::heartbeat:Filesystem): &nbsp; &nbsp;Started urano1</div></div><div><br></div><div><div>[root@urano1 ~]# cat /proc/drbd</div><div>version: 8.3.15 (api:88/proto:86-97)</div><div>GIT-hash: 0ce4d235fc02b5c53c1c52c53433d11a694eab8c build by phil@Build64R6, 2012-12-20 20:09:51</div><div>&nbsp;0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----</div><div>&nbsp; &nbsp; ns:372 nr:316 dw:688 dr:4109 al:0 bm:7 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0</div><div>&nbsp;1: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----</div><div>&nbsp; &nbsp; ns:104 nr:180 dw:284 dr:792 al:0 bm:4 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0</div></div><div><br></div><div><br></div><div>Tudo funcionando redondinho...Agradeço muito a sua ajuda Antônio. Você foi peça chave para eu conseguir fazer essa configuração. Muito obrigado mesmo. E muito obrigado a comunidade também que também me ajudou muito!</div><div><br></div><div>Fica a dica ai para quem quiser fazer cluster no CentOS. Funciona, tem que ralar um pouco mais funciona!</div><div><br></div><div>Hehe :)</div><div><br><div>&gt; Date: Fri, 6 Sep 2013 07:46:50 -0300<br>&gt; From: asmartins@uem.br<br>&gt; To: centos-pt-br@centos.org<br>&gt; Subject: Re: [CentOS-pt-br] Cluster no CentOS. Ajuda..<br>&gt; <br>&gt; <br>&gt; ----- "CássioElias ." &lt;cassioelias@hotmail.com&gt; escreveu:<br>&gt; <br>&gt; &gt; De: "CássioElias ." &lt;cassioelias@hotmail.com&gt;<br>&gt; &gt; Para: "Lista de Discussão CentOS-BR" &lt;centos-pt-br@centos.org&gt;<br>&gt; &gt; Enviadas: Quinta-feira, 5 de Setembro de 2013 17:12:49 (GMT-0300) Auto-Detected<br>&gt; &gt; Assunto: Re: [CentOS-pt-br] Cluster no CentOS. Ajuda..<br>&gt; &gt;<br>&gt; &gt; Certo...entendido..<br>&gt; &gt; <br>&gt; &gt; <br>&gt; &gt; Outra pergunta. Mas para o pacemaker entender isso, eu terei que<br>&gt; &gt; configura-lo ou ele entende isso por padrão?<br>&gt; &gt; <br>&gt; <br>&gt; Olá Cássio,<br>&gt; <br>&gt;    Você tem que configurar o Pacemaker, da mesma forma que faz para o<br>&gt; Apache/MySQL/IPAddr2 são recursos. Você vai configurar um recurso DRBD,<br>&gt; tem OCF::Resource para isso também (é preferivel a usar o lsb, como você<br>&gt; fez com o Apache).<br>&gt; <br>&gt;    De uma olhada aqui: http://www.drbd.org/users-guide-8.3/ch-pacemaker.html<br>&gt; <br>&gt;    E por falar em documentação! Você deveria ler a documentação do Pacemaker e<br>&gt; do DRBD toda, e não ficar atrás de receita de bolo (HowTo). :D Tem muita coisa<br>&gt; que a turma faz errado nestes HowTos, a principal é instalar a partir dos fontes<br>&gt; quando existem pacotes nos repositórios! Se é para usar fonte, use Slackware!<br>&gt; <br>&gt;    Att.,<br>&gt; <br>&gt;        Antonio.<br>&gt; <br>&gt; -- <br>&gt; Antonio da Silva Martins Jr. <br>&gt; Analista de Suporte<br>&gt; NPD - Núcleo de Processamento de Dados<br>&gt; UEM - Universidade Estadual de Maringá<br>&gt; email: asmartins@uem.br <br>&gt; fone: +55 (44) 3011-4015 / 3011-4411<br>&gt; inoc-dba: 263076*100                     <br>&gt; <br>&gt;      "Real Programmers don’t need comments — the code is obvious."<br>&gt; <br>&gt; -- <br>&gt; Esta mensagem foi verificada pelo sistema de antivirus e<br>&gt;  acredita-se estar livre de perigo.<br>&gt; <br>&gt; _______________________________________________<br>&gt; CentOS-pt-br mailing list<br>&gt; CentOS-pt-br@centos.org<br>&gt; http://lists.centos.org/mailman/listinfo/centos-pt-br<br></div></div></div>                                               </div></body>
</html>