Fórum Replicação ou Clusterização: Qual devo usar ? #31121
01/11/2007
0
Preciso montar um esquema de servidores para rodar um sistema Delphi/MySQL, que estará dividido em 3 lojas:
PHD – Terá o [b:e1adaa87de]servidor principal[/b:e1adaa87de], e as máquinas internas irão acessá-lo através da rede local (ou seja, a banda larga reservada à ele, fica apenas para quem for acessar direto no servidor). Caindo a banda larga, ficará afetado apenas as atualizações das demais lojas;
BJBC e DHP – Terão [b:e1adaa87de]servidores locais[/b:e1adaa87de], que constantemente estarão enviando suas atualizações para o servidor principal (loja PHD, a única que terá acesso aos dados de todas as lojas). Caso venha a ter indisponibilidade de conexão com o servidor principal, os servidores locais ficarão encarregados de armazenarem as informações até que a conexão seja restabelecida, e logo após isto, iniciar a transmissão dos dados atualizados. Enquanto houver conexão, as atualizações no servidor central deverão ser simultâneas. Lembrando que os servidores de BJBC e DHP não terão nenhum tipo de contato, ambos apenas irão ser reportar à PHD (servidor central). Não é necessário que nenhuma dessas duas lojas tenha acesso aos dados uma da outra.
Diante deste cenário, qual tipo de configuração é a ideal e mais confiável a se fazer (Replicação ou Clusterização) ?
E como deveria fazer isto ?
Servidor Central está configurado com o Fedora 5 (com o mysql instalado e com usuário configurado pra ter acesso total), e os Servidores Locais com o Fedora 7 (e o mysqld instalado, e rodando na inicialização).
Estou lendo 2 livros, [b:e1adaa87de]MySQL Guia do Programador [/b:e1adaa87de]e [b:e1adaa87de]MySQL a Bíblia[/b:e1adaa87de]. Entendi mais ou menos o conceito disso, mas a parte prática não entendi nada até agora, poderiam me ajudar ?
Supervitao
Curtir tópico
+ 0Posts
11/02/2008
Supervitao
[b:ae336845c9]Passo 1:[/b:ae336845c9] Configurar servidor master
[mysqld]
log-bin=mysqlmaster # Habilitando log binário
server-id=1 Identificando o servidor
[b:ae336845c9]Passo 2:[/b:ae336845c9] Criar conta exclusiva para replicação
GRANT REPLICATION SLAVE ON *.* TO ´<usuario>´@´<dominio>´ IDENTIFIED BY ´<senha>´;
[b:ae336845c9]Passo 3:[/b:ae336845c9] Configurando servidor Slave
[mysqld]
server-id=2 # Identificando o servidor
[b:ae336845c9]Passo 4:[/b:ae336845c9] Após reiniciar servidor slave, os seguintes comandos foram executados
CHANGE MASTER TO
-> MASTER_HOST = ´<endereço IP ou URL do servidor master>´ ,
-> MASTER_PORT = <porta no qual o servidor está configurado, sem aspas>,
-> MASTER_USER = ´<usuário com acesso ao log binário>´,
-> MASTER_PASSWORD = ´<senha do usuário com acesso ao log binário>´,
-> MASTER_LOG_FILE = ´<vazio ou arquivo de replicação, se houver>´,
-> MASTER_LOG_POS = <zero ou linha de início de replicação, sem aspas>;
[b:ae336845c9]Passo 5:[/b:ae336845c9] Deixar a mesma database nos 3 servidores
Fiz estes passos e nada aconteceu. Agora a minha dúvida: A alteração que ele replica é de apenas registros, ou seria também na estrutura ? Por que no teste que fiz, eu criei uma nova tabela no servidor master, e depois fui verificar nos servidores slave, e nada desta tabela aparecer.
Uma outra forma que utilizei para configurar um servidor escravo, foi editar o my.conf da seguinte forma:
[mysqld]
server-id=2
master-host=<endereço IP ou URL do servidor master>
master-port=<porta no qual o servidor está configurado>
master-user=<usuário com acesso ao log binário>
master-password=<senha do usuário com acesso ao log binário>
replicate-do-db=<nome do banco de dados a ser replicado>
E novamente fiz o mesmo tipo de teste, criando uma tabela, ao invés de editar um registro. Será que a replicação estaria funcionando, e o erro estaria no tipo de teste ?
Como sou iniciante nesse brinquedo, quanto mais claro na explicação, será mais fácil para que eu entenda, desde já obrigado.
[b:ae336845c9]Obs.[/b:ae336845c9] A estrutura da replicação seria:
- Servidor PHD é o Master;
- Servidor DHP e Servidor BJBC são os Slaves;
Deve funcionar da seguinte forma: Os registros dos servidores DHP e BJBC serão enviados para o servidor PHD, e este irá sincronizar os dados, e devolver uma cópia atualizada para os servidores DHP e BJBC, sendo que estes dois servidores (DHP e BJBC) jamais se comunicarão, apenas se reportarão ao servidor PHD.
Gostei + 0
24/04/2008
[vaza]
Eu terei que fazer esses testes logo logo para meu novo sistema.
Nessa ´estrutura´ que vc criou, os dados já estão sendo replicados?
Você esta usando que versão do MySql?
Você esta usando as engines InnoDB?
Abraços..t+
Gostei + 0
24/04/2008
Eselvati
no servidor de 1 filial...
[mysqld]
log-bin
server-id=2
master-host=seuhostprincipal
master-user=seuusuariodereplicacao
master-password=senhadereplicacao
na outra filial
[mysqld]
log-bin
server-id=3
master-host=seuhostprincipal
master-user=seuusuariodereplicacao
master-password=senhadereplicacao
no servidor principal
[mysqld]
server-id=1
#log-bin desabilitado...pois dele nao sera replicado nada..apenas recebera dados de replicacao de filiais
Ederson Selvati
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)