Como configurar uma caixa linux para facilitar a restauração?

2

No meu trabalho, usamos uma caixa linux para armazenar nosso código-fonte e hospedar nosso software de controle de revisão (svn). Também temos alguns outros produtos como "trac" para gerenciamento de projetos, fisheye e cadinho para revisões de código. Se, ou quando, esta caixa for desativada, gostaria de poder manter todos os serviços, software, contas de usuário, etc. funcionando com tempo de inatividade próximo de zero. Qual solução estou procurando?

Algumas dicas úteis:
- Custo para a solução não é um problema. Eu prefiro ter um custo único de uma assinatura embora.
- Eu quero o mínimo de trabalho administrativo para manter o backup e restaurar. - A caixa está ociosa à noite e nos fins de semana.
- Temos outra instalação a alguns quilômetros de distância, mas uma conexão relativamente lenta entre os dois prédios (mais rápido à noite). Eu gostaria que esta opção de restauração fora do site em caso de incêndio, etc.
- Quero que o backup seja comprado, esteja em execução e pronto antes de ligar para ele. Não "depois de um acidente, compre uma nova caixa ..."
- A caixa não é nada chique, apenas um desktop padrão com o Ubuntu Linux. Nada que nós usamos é alto desempenho.

Alguém sabe de uma solução para mim? Eu não sou bem versado em nada relacionado a linux ou servidor, então por favor dê explicações básicas com suas respostas.

Obrigado!

    
por Jeff 20.02.2010 / 00:16

6 respostas

4

Você está realmente falando sobre três coisas inter-relacionadas, mas diferentes:

  1. Tolerância a falhas (como continuo em execução ou faço backup com tempo de inatividade mínimo)
  2. Backup de dados (o que eu faço quando alguém rm -rf é meu repositório)
  3. Recuperação de desastre (O que faço se meu escritório for apagado da face da terra)

Você deve realmente pensar neles como três processos distintos, mas inter-relacionados. Eu irei ao mais detalhes com tolerância a falhas, já que parece ser o que você está realmente procurando com o tempo de inatividade máximo de 1 hora.

Algumas coisas a considerar para tolerância a falhas:

  • Quanto tempo levarei para conseguir novos equipamentos?
  • Quanto tempo levarei para reconstruir a caixa?
  • Quanto tempo levarei para verificar e restaurar os dados?

Pegue a soma desses tempos, multiplique, mas 30% (nada funciona tão bem quanto você pensa em uma emergência) e se essa soma for maior do que seu tempo de inatividade aceitável, você precisa começar a ver algumas configurações de alta disponibilidade. Se é menos, é sua decisão de assumir o risco de suas estimativas estarem baixas e as pessoas ficarem mais tempo do que o esperado.

No que diz respeito a algumas possíveis soluções, há muitas coisas que você pode fazer. Mas em todos os casos eu recomendaria altamente a substituição da área de trabalho por uma máquina de classe de servidor. A qualidade dos componentes é maior, e eles são construídos para serem executados 24x7x365, portanto, há uma quantidade decente de redundância já embutida no hardware (boas placas RAID, fontes de alimentação redundantes, etc.)

  • Você pode configurar um servidor em espera em seu segundo site e depois sincronizar seus dados a cada x quantidade de tempo - em que x é a quantidade de dados que você está disposto a perder se o servidor ficar inoperante entre as replicações. O rsync é um canal de dados muito pequeno e amigável após a primeira sincronização, pois envia apenas arquivos delta e alterados. Além disso, configure seus servidores para que eles sejam acessados via CNAME para que você possa simplesmente trocar onde está apontado e pronto.
  • Faça o mesmo que acima, exceto o servidor em espera no local principal.
  • Obtenha um SAN / NAS e dois servidores. Em seguida, configure-os em um cluster ativo / ativo ou em um cluster ativo / passivo

Os backups são uma parte muito importante do cenário também. Você deve se lembrar de que não há substituto para um backup pontual armazenado fora do local. Pessoalmente, eu ainda acho que o backup em fita, e depois tê-lo armazenado por uma empresa como a Iron Mountain, é a melhor opção. Para o seu tamanho ambiente, qualquer uma das soluções de backup "grandes" - ArcServ, BackupExec, NetBackup deve fazer muito bem. Também certifique-se de testar seus backups pelo menos trimestralmente. Nada é mais difícil do que descobrir que o backup que você precisa é ruim.

Recuperação de desastre é realmente apenas sentar e planejar onde você vai trabalhar, de onde você obterá o equipamento de substituição, certificando-se de que você tem bons backups externos. Eu vejo DR como trazer todos os componentes mencionados acima em um plano de ação coeso para quando o pior acontecer.

    
por 20.02.2010 / 01:52
1

Você pode virtualizar o ambiente, então tudo o que você precisa fazer é restaurar a imagem.

    
por 20.02.2010 / 00:21
1

Existem muitas opções dependendo da quantidade de dados, da complexidade do sistema principal e da quantidade de gerenciamento que você deseja fazer.

Eu gosto do XenServer para isso se a caixa virtualizada for relativamente pequena em tamanho (alguns GB). Por exemplo, um servidor de aplicativos interno que executamos tem apenas 3 GB de tamanho. Eu posso facilmente pará-lo fazer um backup e transferir o backup para outro sistema. No entanto, se você não estiver familiarizado com o XenServer, isso pode ser uma curva de aprendizado.

Eu também uso o software de backup do servidor CDP da R1Soft, mas ele não é realmente adequado para uma recuperação rápida. É ótimo para fazer uma restauração bare-metal completa de um servidor com falha, mas para backup e recuperação sub-horas.

Eu fiz algo assim para os clientes: Use o software de backup do CDP para clonar um sistema primário para uma reserva a frio. Isso garante que o sobressalente seja idêntico ao sistema primário. Em seguida, temos instantâneos de hora em hora armazenados no servidor CDP. O servidor CDP usa um backup muito eficiente de algo, portanto, há pouco impacto no servidor ao vivo.

Em caso de falha, você pode restaurar os dados do servidor CDP para o seu cold spare.

O problema com esta ou com uma abordagem baseada em rsync é que você precisa ter certeza de que gerencia o sobresselente quente e o frio para que o software permaneça em sincronia. Você não gostaria de executar atualizações do SO em um e esquecer de fazê-las do outro.

Uma recomendação é tentar, da melhor forma possível, usar a configuração padronizada em seu servidor, isso reduzirá o impacto das alterações de configuração / atualização na restauração / rsyncing de dados para o sistema de espera a frio.

Além disso, gosto de manter meus dados - que são coisas que adiciono - bem isolados do sistema. Se você usar o LVM, os métodos de captura instantânea do LVM também funcionarão.

Existem muitas opções a serem consideradas, mas a melhor delas dependerá de sua experiência interna, tempo para gerenciar o sistema e os padrões de uso de dados.

Além disso, se a quantidade de dados for muito leve, talvez você queira examinar as ferramentas de backup / recuperação em nível de área de trabalho. Eu não estou tão familiarizado com isso.

link Software do servidor CDP

link XenServer

link rsync

    
por 20.02.2010 / 01:46
1

Não execute software de produção em hardware de desktop. No mínimo, coloque 2 discos na caixa e configure o software RAID para isso, mas isso é sub-ótimo em caso de falha de disco: você ainda tem que desligar o servidor para substituir o disco. Com o hardware do servidor, você não terá esse problema: hot swap.

Monitore a saúde do hardware (muitas ferramentas de monitoramento gratuitas, minha opção seria opsview porque é nagios com uma interface web brilhante. Você ainda consegue todos os plug-ins do nagios para trabalhar nela). Eles também têm uma edição corporativa para todo o suporte necessário.

Para os backups eu iria com bacula, se você precisa de suporte você também pode obtê-lo deles (edição corporativa).

Se você realmente não tem administradores de sistemas em sua empresa capazes de realizar essas tarefas, terceirize as operações para outra empresa ou demitir suas empresas atuais e obter algumas boas.

Eu concordo com Ignacio Vazquez-Abran que o software de gerenciamento de configuração é, no final das contas, o mais importante. Gostaria de ir com cfengine, porém, o fantoche é um recurso de porco e é mais sensacionalista do que deveria ser. Se você precisar de outro servidor svn, apenas o netboot, ele terá instalado e configurado em questão de minutos. Você pode comprar todo o apoio que quiser deles também.

    
por 20.02.2010 / 09:32
0

parece algo tão simples como o rsync + cron pode ser suficiente aqui.

    
por 20.02.2010 / 00:26
-1
O

Puppet pode ser usado para colocar o sistema em funcionamento, para quando você precisar. Configure uma instalação mínima, adicione o cliente Puppet e deixe o Puppetmaster fazer seu trabalho configurando a máquina.

    
por 20.02.2010 / 00:20