Como você configura servidores redundantes?

6

Para os sysadmins que estão por aí, estou tentando ter uma ideia sobre como você faz a manutenção de servidores redundantes para pequenos projetos. O número modesto de servidores em minha mente é dois, e três principais serviços essenciais vêm à mente: HTTP, email e DNS. Como você automatiza essa duplicidade? O rsync é a ferramenta de escolha (novamente, para pequenos projetos)?

Além das ferramentas comuns para essas tarefas, as referências a livros e artigos seriam muito apreciadas. Quanto mais prática a abordagem, melhor.

    
por ezequiel-garzon 20.06.2011 / 23:49

3 respostas

6

Parece que a sua verdadeira questão é, na verdade, como tornar um serviço altamente disponível (ignore se essa não é a verdadeira questão). Já que você está falando sobre servidores, serviços e dados (arquivos de zona, apache docroot, ...) - se meu palpite estiver correto, você pode querer ajustar o título e as tags da sua pergunta:)

Redundância (como em várias cópias dos dados)

pode ser alcançado com:

  • drbd (síncrono - dá a você certas garantias de que em ambos os servidores sempre haverá os mesmos dados)
  • rsync (assíncrono - não há garantias sobre a consistência de dados entre dois hosts)
    • scp ou qualquer outra ferramenta que possa copiar dados entre hosts (ou mesmo cp se você montar o NFS)

Eu acredito que não é o que você está realmente pedindo ...

Alta disponibilidade

O rsync não é a ferramenta de escolha para alta disponibilidade (HA) . é a ferramenta de escolha se você quiser sincronizar 2 diretórios .

Você deve conhecer o Clusters do Scratch Guide do Clusterlabs para ter uma ideia. Isso abrange os seguintes tópicos:

  • HA de serviços
  • Migração de serviços entre hosts (para que qualquer um possa ser desativado e você ainda esteja prestando serviços)
  • Serviços de amostra
    • Apache (sem nenhuma sincronização para os dados)
    • drbd (sincronização de dispositivo de bloco sincrônico)
    • GFS (Sistema de arquivos de cluster que permite que o mesmo dispositivo de bloco seja montado por hosts diferentes)
  • Clusters ativos / passivos e ativos / ativos

É mais ou menos um passo-a-passo que lhe dará os ponteiros certos. Mas esteja ciente de que o HA não é um assunto para se acertar em uma tarde se você acabou de começar. Também desde que você marcou com sysadmin-basics : espere ter um tempo difícil (mas irá pagar depois de entender o conceito)

    
por 21.06.2011 / 00:38
1

A redundância geralmente não é algo que você simplesmente coloca em sistemas existentes com o rsync. Para HTTP, é comum usar um balanceador de carga que suporte failover, como o HAProxy ou o NLB da MS, ou possivelmente uma solução de compartilhamento de IP como o CARP; o servidor de back-end serviria de um armazenamento compartilhado comum, ou dois sistemas de arquivos sincronizados com algo como rsync ou um sistema de banco de dados (novamente, poderia ser mais ou menos complicado). Para e-mail, ele possui seus próprios sistemas em conjunto com o DNS para fornecer round robin e ordem de preferência para SMTP; vários servidores POP ou IMAP para frente de um DBMS redundante; ou o Exchange tem DAGs. O DNS também possui seus próprios mecanismos, principalmente vários servidores de nomes nas configurações mestre / escravo (ou multimaster em alguns casos).

Como você consegue redundância em uma situação particular, com um software específico, é altamente dependente de seus requisitos; certamente não é um tamanho único que eu possa apontar um rápido documento de instruções.

    
por 20.06.2011 / 23:56
1

Esta é uma questão bastante ampla; já que você mencionou o rsync, eu suponho que você esteja falando sobre um sistema * nix.

Isso realmente depende do tipo de configuração que você tem. Se o seu serviço HTTP é totalmente estático (sem banco de dados, ou o que você tem), então dois servidores apache gêmeos com um diretório raiz rsync'ed.

O e-mail é mais complicado, porque, se você estiver hospedando caixas de correio, elas provavelmente estarão em um banco de dados e o rsyncing de um banco de dados no nível do sistema de arquivos causará danos.

Dependendo de como o seu DNS funciona (se ele usa arquivos planos para armazenamento) você também pode configurar o software DNS para executar o mesmo em ambas as máquinas e rsync os arquivos simples, se ele usar um banco de dados ou arquivo binário personalizado, O rsync não ajudará.

Existem sistemas de nível corporativo disponíveis para isso, mas desde que você perguntou especificamente sobre pequenos projetos, presumo que eles estejam fora do seu escopo.

    
por 20.06.2011 / 23:57

Tags