[CentOS-pt-br] Cluster no CentOS. Ajuda..

CássioElias . cassioelias em hotmail.com
Segunda Setembro 9 10:28:46 UTC 2013


Por exemplo Antônio. Se eu fizesse assim
Servidor 1 = urano1Servidor 2 = urano2Servidor 3 = urano3
Durante todo o dia, o servico do drbd estaria parado no servidor urano3. Dai a meia noite eu daria um stop no serviço do drbd no servidor urano2 e daria um start no serviço do drbd no servidor urano3. Funcionaria assim também? Somente dando start e stop ?

> Date: Fri, 6 Sep 2013 08:28:30 -0300
> From: asmartins em uem.br
> To: centos-pt-br em centos.org
> Subject: Re: [CentOS-pt-br] Cluster no CentOS. Ajuda..
> 
> Olá Cássio,
> 
>     Legal que funcionou! Como lhe disse, temos máquinas aqui funcionando já a um bom tempo!
> 
>     Quanto a replicação para mais de 2 nós, tem com 3 (um backup) veja: http://www.drbd.org/users-guide-8.3/s-three-way-repl.html
> 
>     E com imaginação dá para fazer muita coisa também! Como o tempo de sync do DRBD não é muito grande
> se a quantidade de alterações de seus dados não for enorme, você pode montar um 
> esquema em que, p.ex., toda noite, você "troca" o nó secundário, sincronizando com outros nós. 
> Dai em caso de uma perda total do hardware do primário, você já tem outra máquina para assumir.
> 
>     Att.,
> 
>         Antonio.
> 
> ----- "CássioElias ." <cassioelias em hotmail.com> escreveu:
> 
> > De: "CássioElias ." <cassioelias em hotmail.com>
> > Para: "Lista de Discussão CentOS-BR" <centos-pt-br em centos.org>
> > Enviadas: Sexta-feira, 6 de Setembro de 2013 8:16:53 (GMT-0300) Auto-Detected
> > Assunto: Re: [CentOS-pt-br] Cluster no CentOS. Ajuda..
> >
> > É...vivendo e tentando aprender.... XD.
> > 
> > 
> > Acredito que a saga do Cluster no CentOS 6 chegou ao fim Antônio.
> > Ontem fiquei até 00:00 "brincando" um pouco nesses servidores e nas
> > replicações.
> > 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.
> > Fiz tudo em 2 máquinas virtuais criadas no VMWare ESXi.
> > 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.
> > 
> > 
> > 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.
> > 
> > 
> > Bom, veja como ficou minhas configurações:
> > 
> > 
> > Informações do Servidor Urano1 que são as mesmas do Urano2:
> > 
> > 
> > 
> > [root em urano1 ~]# uname -a
> > 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
> > 
> > 
> > 
> > # /etc/corosync/corosync.conf
> > 
> > 
> > #Opção do protocolo totem
> > totem {
> > version: 2
> > 
> > 
> > #Tempo para verificar perca de pacotes em (ms)
> > token: 3000
> > 
> > 
> > #Quantas verificações antes de gerar notificações
> > token_retransmits_before_loss_const: 10
> > 
> > 
> > #Quanto tempo esperar para agrupar as notificações em (ms)
> > join: 60
> > 
> > 
> > #Quanto tempo esperar para uma solução antes de começar uma nova
> > verificação (ms)
> > consensus: 3600
> > 
> > 
> > #Filtro de sincronismo virtual desabilitado
> > vsftype: none
> > 
> > 
> > #Número de mensagens processadas na recepção de pacotes
> > max_messages: 20
> > 
> > 
> > #Limite de cluster assinados
> > clear_node_high_bit: yes
> > 
> > 
> > #Criptografia desabilitada
> > secauth: off
> > 
> > 
> > #Quantas threads usadas para criptografar/descriptografar
> > threads: 0
> > 
> > 
> > #Atribui ID em um cluster fixo (opcional)
> > # nodeid: 1234
> > 
> > 
> > #Especifica que em modo de redundancia, não pode havar nenhum cluster
> > ativo ou passivo.
> > rrp_mode: none
> > 
> > 
> > interface {
> > #Número de clusters (0 default)
> > ringnumber: 0
> > #Início de ips utilizados por cluster 10.101.0.0 é 10.101.0.0/24 aqui
> > mude para
> > #O endereço da sua rede ex: 192.168.0.0 que seria 192.168.0.0/24
> > bindnetaddr: 192.168.0.0
> > #Fim de ips utilizados por cluster
> > mcastaddr: 226.94.1.1
> > #Porta utilizaad pelo corosync
> > mcastport: 5405
> > }
> > }
> > 
> > 
> > #Configuração de AIS Availability Management Framework
> > amf {
> > mode: disabled
> > }
> > 
> > 
> > service {
> > #Carregamento do serviço para gerenciamento
> > ver: 1
> > name: pacemaker
> > }
> > 
> > 
> > #Temos que setar o usuário e grupo como root para o ais ser capaz de
> > gerenciar os recursos do pacemaker
> > aisexec {
> > user: root
> > group: root
> > }
> > 
> > 
> > 
> > 
> > #Configuração de log
> > logging {
> > fileline: off
> > to_stderr: yes
> > to_logfile: yes
> > logfile: /var/log/corosync/corosync.log
> > #Aqui estou desabilitando os logs para o syslog, pq senão zoa demais o
> > arquivo
> > to_syslog: no
> > syslog_facility: daemon
> > debug: off
> > timestamp: on
> > logger_subsys {
> > subsys: AMF
> > debug: off
> > tags: enter|leave|trace1|trace2|trace3|trace4|trace6
> > }
> > 
> > 
> > 
> > [root em urano1 ~]# ls /etc/drbd.d
> > global_common.conf http.res mysql.res
> > 
> > 
> > 
> > [root em urano1 ~]# cat /etc/drbd.d/http.res
> > resource http {
> > on urano1{
> > device /dev/drbd1;
> > disk /dev/vg_urano1/lv_web;
> > address 192.168.0.181:7789;
> > meta-disk internal;
> > }
> > 
> > 
> > on urano2{
> > device /dev/drbd1;
> > disk /dev/vg_urano2/lv_web;
> > address 192.168.0.182:7789;
> > meta-disk internal;
> > }
> > }
> > 
> > 
> > 
> > [root em urano1 ~]# cat /etc/drbd.d/mysql.res
> > resource mysql {
> > on urano1{
> > device /dev/drbd0;
> > disk /dev/vg_urano1/lv_mysql;
> > address 192.168.0.181:7790;
> > meta-disk internal;
> > }
> > 
> > 
> > on urano2{
> > device /dev/drbd0;
> > disk /dev/vg_urano2/lv_mysql;
> > address 192.168.0.182:7790;
> > meta-disk internal;
> > }
> > }
> > 
> > 
> > 
> > [root em urano1 ~]# lvs
> > LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
> > lv_home vg_urano1 -wi-ao--- 4,88g
> > lv_mysql vg_urano1 -wi-ao--- 4,88g
> > lv_root vg_urano1 -wi-ao--- 4,88g
> > lv_swap vg_urano1 -wi-ao--- 3,94g
> > lv_usr vg_urano1 -wi-ao--- 4,88g
> > lv_var vg_urano1 -wi-ao--- 4,88g
> > lv_web vg_urano1 -wi-ao--- 4,88g
> > 
> > 
> > 
> > [root em urano1 ~]# crm configure show
> > node urano1 \
> > attributes standby="off"
> > node urano2 \
> > attributes standby="off"
> > primitive Failover ocf:heartbeat:IPaddr2 \
> > params ip="192.168.0.200" cidr_netmask="24" nic="eth0" \
> > op monitor interval="10s"
> > primitive Httpd lsb:httpd
> > primitive MysqlData ocf:linbit:drbd \
> > params drbd_resource="mysql" \
> > op monitor interval="60s"
> > primitive MysqlFS ocf:heartbeat:Filesystem \
> > params device="/dev/drbd0" directory="/var/lib/mysql" fstype="ext4"
> > primitive Mysqld lsb:mysqld
> > primitive Vsftpd lsb:vsftpd
> > primitive WebData ocf:linbit:drbd \
> > params drbd_resource="http" \
> > op monitor interval="60s"
> > primitive WebFS ocf:heartbeat:Filesystem \
> > params device="/dev/drbd1" directory="/var/www/html" fstype="ext4"
> > ms MysqlDataClone MysqlData \
> > meta master-max="1" master-node-max="1" clone-max="2"
> > clone-node-max="1" notify="true"
> > ms WebDataClone WebData \
> > meta master-max="1" master-node-max="1" clone-max="2"
> > clone-node-max="1" notify="true"
> > location cli-prefer-Httpd Httpd \
> > rule $id="cli-prefer-rule-Httpd" inf: #uname eq urano1
> > location cli-prefer-Mysqld Mysqld \
> > rule $id="cli-prefer-rule-Mysqld" inf: #uname eq urano1
> > location cli-prefer-Vsftpd Vsftpd \
> > rule $id="cli-prefer-rule-Vsftpd" inf: #uname eq urano1
> > colocation Htpd-with-WebFS inf: Httpd WebFS
> > colocation Mysqld-with-MysqlFS inf: Mysqld MysqlFS
> > colocation fs_on_drbd inf: MysqlFS MysqlDataClone:Master
> > colocation fs_on_drbd1 inf: WebFS WebDataClone:Master
> > colocation website-with-ip inf: Httpd Failover
> > order Httpd-after-WebFS inf: WebFS Httpd
> > order MysqlFS-after-MysqlData inf: MysqlDataClone:promote
> > MysqlFS:start
> > order Mysqld-after-MysqlFS inf: MysqlFS Mysqld
> > order WebFS-after-WebData inf: WebDataClone:promote WebFS:start
> > order httpd-after-ip inf: Failover Httpd
> > property $id="cib-bootstrap-options" \
> > dc-version="1.1.9-2.2-2db99f1" \
> > cluster-infrastructure="classic openais (with plugin)" \
> > expected-quorum-votes="2" \
> > stonith-enabled="false" \
> > no-quorum-policy="ignore"
> > 
> > 
> > 
> > [root em urano1 ~]# crm_mon -1
> > Last updated: Fri Sep 6 08:13:19 2013
> > Last change: Fri Sep 6 07:44:54 2013 via crm_attribute on urano1
> > Stack: classic openais (with plugin)
> > Current DC: urano2 - partition with quorum
> > Version: 1.1.9-2.2-2db99f1
> > 2 Nodes configured, 2 expected votes
> > 10 Resources configured.
> > 
> > 
> > 
> > 
> > Online: [ urano1 urano2 ]
> > 
> > 
> > Failover (ocf::heartbeat:IPaddr2): Started urano1
> > Httpd (lsb:httpd): Started urano1
> > Mysqld (lsb:mysqld): Started urano1
> > Vsftpd (lsb:vsftpd): Started urano1
> > Master/Slave Set: MysqlDataClone [MysqlData]
> > Masters: [ urano1 ]
> > Slaves: [ urano2 ]
> > MysqlFS (ocf::heartbeat:Filesystem): Started urano1
> > Master/Slave Set: WebDataClone [WebData]
> > Masters: [ urano1 ]
> > Slaves: [ urano2 ]
> > WebFS (ocf::heartbeat:Filesystem): Started urano1
> > 
> > 
> > 
> > [root em urano1 ~]# cat /proc/drbd
> > version: 8.3.15 (api:88/proto:86-97)
> > GIT-hash: 0ce4d235fc02b5c53c1c52c53433d11a694eab8c build by
> > phil em Build64R6, 2012-12-20 20:09:51
> > 0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
> > 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
> > 1: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
> > 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
> > 
> > 
> > 
> > 
> > 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!
> > 
> > 
> > Fica a dica ai para quem quiser fazer cluster no CentOS. Funciona, tem
> > que ralar um pouco mais funciona!
> > 
> > 
> > Hehe :)
> > 
> > 
> > > Date: Fri, 6 Sep 2013 07:46:50 -0300
> > > From: asmartins em uem.br
> > > To: centos-pt-br em centos.org
> > > Subject: Re: [CentOS-pt-br] Cluster no CentOS. Ajuda..
> > >
> > >
> > > ----- "CássioElias ." <cassioelias em hotmail.com> escreveu:
> > >
> > > > De: "CássioElias ." <cassioelias em hotmail.com>
> > > > Para: "Lista de Discussão CentOS-BR" <centos-pt-br em centos.org>
> > > > Enviadas: Quinta-feira, 5 de Setembro de 2013 17:12:49 (GMT-0300)
> > Auto-Detected
> > > > Assunto: Re: [CentOS-pt-br] Cluster no CentOS. Ajuda..
> > > >
> > > > Certo...entendido..
> > > >
> > > >
> > > > Outra pergunta. Mas para o pacemaker entender isso, eu terei que
> > > > configura-lo ou ele entende isso por padrão?
> > > >
> > >
> > > Olá Cássio,
> > >
> > > Você tem que configurar o Pacemaker, da mesma forma que faz para o
> > > Apache/MySQL/IPAddr2 são recursos. Você vai configurar um recurso
> > DRBD,
> > > tem OCF::Resource para isso também (é preferivel a usar o lsb, como
> > você
> > > fez com o Apache).
> > >
> > > De uma olhada aqui:
> > http://www.drbd.org/users-guide-8.3/ch-pacemaker.html
> > >
> > > E por falar em documentação! Você deveria ler a documentação do
> > Pacemaker e
> > > do DRBD toda, e não ficar atrás de receita de bolo (HowTo). :D Tem
> > muita coisa
> > > que a turma faz errado nestes HowTos, a principal é instalar a
> > partir dos fontes
> > > quando existem pacotes nos repositórios! Se é para usar fonte, use
> > Slackware!
> > >
> > > Att.,
> > >
> > > Antonio.
> > >
> > > --
> > > Antonio da Silva Martins Jr.
> > > Analista de Suporte
> > > NPD - Núcleo de Processamento de Dados
> > > UEM - Universidade Estadual de Maringá
> > > email: asmartins em uem.br
> > > fone: +55 (44) 3011-4015 / 3011-4411
> > > inoc-dba: 263076*100
> > >
> > > "Real Programmers don’t need comments — the code is obvious."
> > >
> > > --
> > > Esta mensagem foi verificada pelo sistema de antivirus e
> > > acredita-se estar livre de perigo.
> > >
> > > _______________________________________________
> > > CentOS-pt-br mailing list
> > > CentOS-pt-br em centos.org
> > > http://lists.centos.org/mailman/listinfo/centos-pt-br
> > 
> > --
> > Esta mensagem foi verificada pelo sistema de antivírus e
> > acredita-se estar livre de perigo. 
> > _______________________________________________
> > CentOS-pt-br mailing list
> > CentOS-pt-br em centos.org
> > http://lists.centos.org/mailman/listinfo/centos-pt-br
> 
> -- 
> Antonio da Silva Martins Jr. 
> Analista de Suporte
> NPD - Núcleo de Processamento de Dados
> UEM - Universidade Estadual de Maringá
> email: asmartins em uem.br 
> fone: +55 (44) 3011-4015 / 3011-4411
> inoc-dba: 263076*100                     
> 
>      "Real Programmers don’t need comments — the code is obvious."
> 
> -- 
> Esta mensagem foi verificada pelo sistema de antivirus e
>  acredita-se estar livre de perigo.
> 
> _______________________________________________
> CentOS-pt-br mailing list
> CentOS-pt-br em centos.org
> http://lists.centos.org/mailman/listinfo/centos-pt-br
 		 	   		  
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://lists.centos.org/pipermail/centos-pt-br/attachments/20130909/e4d425ec/attachment-0001.html 


Mais detalhes sobre a lista de discussão CentOS-pt-br