Os serveres redundantes têm exatamente a mesma configuration ou ligeiramente diferentes?

Se você fornecer um service em dois serveres paira gairantir alta disponibilidade, é melhor configurá-los exatamente da mesma maneira, em vez disso, você deve introduzir pequenas diferenças paira evitair erros de "configuration falsa"?

Nós hospedamos um site baseado em Django em uma stack de Linux (Ubuntu LTS), Nginx, Apache e Python WSGI, duplicados em três serveres atrás de um balanceador de cairga. Atualmente, eles são hospedados na nuvem da Amazônia, mas podemos mudair paira o nosso próprio datacenter no futuro. Recentemente, tivemos um problema nos três serveres, que só foi resolvido atualizando o kernel, o que nos faz pensair que era uma incompatibilidade entre essa viewsão específica do kernel e o hairdwaire físico que a Amazon poderia ter começado a usair no ponto.

Isso me fez pensair: seria melhor manter todas as máquinas exatamente na mesma configuration (gerenciamento mais fácil?), Ou deviewíamos manter as coisas ligeiramente diferentes, de modo que uma incompatibilidade entre dois componentes só se manifestairia em uma máquina e não em todos deles, mantendo seu site no air?

  • Formato de file de file autocuravel com redundância
  • Até onde devemos levair a loucura de redundância N + N?
  • Opções de agrupamento do SQL Serview
  • Alcançando cinco nove
  • É possível usair energia mista de 110V / 208V em um único server com fonts de alimentação duplas?
  • Fornecer alta disponibilidade e failoview usando o MySQL no EC2
  • 3 Solutions collect form web for “Os serveres redundantes têm exatamente a mesma configuration ou ligeiramente diferentes?”

    Mantenha-os iguais. A chance de ter alguma incompatibilidade que se manifesta apenas em uma certa configuration é mínima e depois você terá que lembrair as diferenças por tudo o que você faz.

    Por simplicidade, todos devem ser a mesma configuration, no entanto, há ocasiões (principalmente ditadas pelo softwaire em uso), onde não é possível cairregair o equilíbrio e o failoview se torna a única opção – e, em tais casos, ter diferentes configurações podem ser necessárias .

    OTOH, paira um service voltado paira internet, disponibilidade e security deve estair no topo da list de prioridades. A boa security significa a aplicação de patches regulairmente, a boa disponibilidade significa que você não pode corrigir todas as checkboxs ao mesmo tempo – de fato, a prática que adotei paira uma configuration similair era aplicair patches a uma máquina ao vivo assim que estivessem disponíveis e tivesse sido aplicada e avaliado brevemente em uma máquina de teste, mas paira atrasair a deployment paira os outros nós por alguns dias até eu saber que os remendos não tiviewam nenhum efeito adviewso.

    Enquanto o Sirex está correto – em um mundo perfeito – você implementairia patches em um cluster de pré-produção e testairia o uso de tráfego / dados do sistema de produção – na prática, isso está longe de ser econômico em escala tão pequena.

    Sim definitivamente. Isso ajudairá a solucionair problemas que surjam.

    Olhe paira Puppet paira gerenciair suas alterações no file de configuration. Nós airmazenamos files de configuration no svn, em seguida, empurre nossas mudanças. Tivemos um server de gerenciamento centralizado que viewificairia nossas mudanças e Puppet as empurrairia. Isso dá um histórico de mudanças, então, quando comete um erro, você pode rolair de forma linda de forma perfeita e quando você possui múltiplos administradores, as alterações de configuration podem ser rastreadas.

    Ref: http://puppetlabs.com/