----- "CássioElias ." cassioelias@hotmail.com escreveu:
De: "CássioElias ." cassioelias@hotmail.com Para: "Lista de Discussão CentOS-BR" centos-pt-br@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.
É...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@urano1 ~]# uname -aLinux 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 totemtotem { 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 Frameworkamf { 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 pacemakeraisexec { user: root group: root}
#Configuração de loglogging { 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@urano1 ~]# ls /etc/drbd.dglobal_common.conf http.res mysql.res [root@urano1 ~]# cat /etc/drbd.d/http.resresource 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@urano1 ~]# cat /etc/drbd.d/mysql.resresource 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@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@urano1 ~]# crm configure shownode 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:httpdprimitive 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:mysqldprimitive Vsftpd lsb:vsftpdprimitive 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 urano1location cli-prefer-Mysqld Mysqld \ rule $id="cli-prefer-rule-Mysqld" inf: #uname eq urano1location cli-prefer-Vsftpd Vsftpd \ rule $id="cli-prefer-rule-Vsftpd" inf: #uname eq urano1colocation Htpd-with-WebFS inf: Httpd WebFScolocation Mysqld-with-MysqlFS inf: Mysqld MysqlFScolocation fs_on_drbd inf: MysqlFS MysqlDataClone:Mastercolocation fs_on_drbd1 inf: WebFS WebDataClone:Mastercolocation website-with-ip inf: Httpd Failoverorder Httpd-after-WebFS inf: WebFS Httpdorder MysqlFS-after-MysqlData inf: MysqlDataClone:promote MysqlFS:startorder Mysqld-after-MysqlFS inf: MysqlFS Mysqldorder WebFS-after-WebData inf: WebDataClone:promote WebFS:startorder httpd-after-ip inf: Failover Httpdproperty $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@urano1 ~]# crm_mon -1Last updated: Fri Sep 6 08:13:19 2013Last change: Fri Sep 6 07:44:54 2013 via crm_attribute on urano1Stack: classic openais (with plugin)Current DC: urano2 - partition with quorumVersion: 1.1.9-2.2-2db99f12 Nodes configured, 2 expected votes10 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@urano1 ~]# cat /proc/drbdversion: 8.3.15 (api:88/proto:86-97)GIT-hash: 0ce4d235fc02b5c53c1c52c53433d11a694eab8c build by phil@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@uem.br To: centos-pt-br@centos.org Subject: Re: [CentOS-pt-br] Cluster no CentOS. Ajuda..
----- "CássioElias ." cassioelias@hotmail.com escreveu:
De: "CássioElias ." cassioelias@hotmail.com Para: "Lista de Discussão CentOS-BR" centos-pt-br@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@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@centos.org http://lists.centos.org/mailman/listinfo/centos-pt-br
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@hotmail.com escreveu:
De: "CássioElias ." cassioelias@hotmail.com Para: "Lista de Discussão CentOS-BR" centos-pt-br@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@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@urano1 ~]# ls /etc/drbd.d global_common.conf http.res mysql.res
[root@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@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@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@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@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@urano1 ~]# cat /proc/drbd version: 8.3.15 (api:88/proto:86-97) GIT-hash: 0ce4d235fc02b5c53c1c52c53433d11a694eab8c build by phil@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@uem.br To: centos-pt-br@centos.org Subject: Re: [CentOS-pt-br] Cluster no CentOS. Ajuda..
----- "CássioElias ." cassioelias@hotmail.com escreveu:
De: "CássioElias ." cassioelias@hotmail.com Para: "Lista de Discussão CentOS-BR" centos-pt-br@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@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@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@centos.org http://lists.centos.org/mailman/listinfo/centos-pt-br
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@uem.br To: centos-pt-br@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@hotmail.com escreveu:
De: "CássioElias ." cassioelias@hotmail.com Para: "Lista de Discussão CentOS-BR" centos-pt-br@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@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@urano1 ~]# ls /etc/drbd.d global_common.conf http.res mysql.res
[root@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@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@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@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@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@urano1 ~]# cat /proc/drbd version: 8.3.15 (api:88/proto:86-97) GIT-hash: 0ce4d235fc02b5c53c1c52c53433d11a694eab8c build by phil@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@uem.br To: centos-pt-br@centos.org Subject: Re: [CentOS-pt-br] Cluster no CentOS. Ajuda..
----- "CássioElias ." cassioelias@hotmail.com escreveu:
De: "CássioElias ." cassioelias@hotmail.com Para: "Lista de Discussão CentOS-BR" centos-pt-br@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@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@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@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@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@centos.org http://lists.centos.org/mailman/listinfo/centos-pt-br
Boa Tarde,
Tenho um cluster (2 maquinas) de email utilizando o pacemaker/corosync como Ativo/Passivo.
Já configurei filesystem(,ocf:heartbeat:Filesystem), SFEX, ping(ocf:pacemaker:ping) e start/stop de imap e saslauthd. Coloquei tudo em um grupo só.
O que está faltando é monitoramento, ou seja, gostaria de configurar o Cluster_mon para receber emails, mas no meu ambiente isso não funcionou. Alguém já conseguiu?
Aguardo o retorno,
Denise
pacemaker-cli-1.1.9-1512.el6.x86_64 pacemaker-libs-1.1.9-1512.el6.x86_64 pacemaker-cluster-libs-1.1.9-1512.el6.x86_64 pacemaker-1.1.9-1512.el6.x86_64 [root@laka log]# rpm -qa|grep -i corosync corosynclib-1.4.5-35.1.x86_64 corosync-1.4.5-35.1.x86_64
discuss-pt-br@lists.centos.org