Qual é a melhor maneira de criar um cluster de failover para meu site IIS?

2

Nosso site de comércio eletrônico atualmente é executado em dois servidores:

  • SQL server: 2005 x 86 no Windows Server 2003 Standard x86 com um único processador dual core e 4 gb de memeory
  • servidor IIS: edição x64 para a Web do Windows Server 2008 com processadores de quatro threads com núcleo duplo e 32 gb de memória

Nossa receita cresceu de forma constante até o ponto em que precisamos ter servidores redundantes implantados com um mecanismo de failover para que não tivéssemos nenhum tempo de inatividade.

Como o servidor SQL é tão fraco em comparação com o servidor da web, meu pensamento foi comprar:

  • 2 x licença de processador único x64 do SQL Server 2008 R2 para edição na Web
  • 2 x licenças do Windows Server 2008 R2 Web Edition
  • 1 x Novo servidor físico de 32 GB com quad core
  • 1 x balanceador de carga F5

Eu preciso das licenças do Windows Server 2008 R2 Web Edition para que eu possa executar SQL e IIS na mesma caixa para esses dois servidores.

O pensamento é executar isso como um cluster de failover ativo / passivo que pode ser atualizado para um cluster ativo / ativo se comprarmos o licenciamento SQL adicional. O balanceador de carga F5 serviria como o dispositivo que monitora os dois servidores e, se o ativo atual parar de responder, passará a usar o outro servidor. Para ficar claro, isso não é o armazenamento em cluster do Windows, mas simplesmente o uso de um balanceador de carga para fazer o failover entre dois computadores, para que você tenha agora um cluster no sentido geral.

Esta é realmente a melhor maneira de realizar o que eu preciso? Existe alguma maneira de aproveitar o antigo servidor SQL do servidor 2003 para funcionar como os dispositivos que canalizam solicitações http para o servidor ativo apropriado e, em seguida, executam o failover se ocorrer um problema? Existe algum software de clustering de terceiros que possa me ajudar a realizar isso de maneira mais simples?

    
por Chris Magnuson 17.05.2010 / 19:30

2 respostas

3

Há uma grande diferença entre um cluster de failover e um cluster com balanceamento de carga de rede. Para o IIS, você deseja implementar um cluster NLB. Ambos estarão ativos o tempo todo. Para o SQL, você desejará implementar um cluster de failover. Alcançar os níveis de disponibilidade que você está insinuando não é tão simples quanto jogar um pouco de hardware e instalar os sistemas operacionais.

Um cluster de failover precisará de algum tipo de armazenamento compartilhado, como SAS ou SAN conectado diretamente (prefiro iSCSI). Tudo isso pode ser realizado em um ambiente virtual, agrupando 2 servidores executando 2008R2 (corporativo ou superior) com o Hyper-V (pelo menos 4 nics. 2 para SAN, 1 para NLB e um para outro comm). Estes seriam anexados aos switches SAN que, por sua vez, se conectam à SAN. Em seguida, ambos seriam conectados aos switches front-end (NLB e outros). Em seguida, você pode criar o cluster NLB como máquinas virtuais e o cluster de failover do SQL como máquinas virtuais.

Agora, adicione mais infraestrutura. Você precisará de controladores de domínio (2 caixas físicas) e um servidor de backup. Tudo dito você estará olhando na faixa de US $ 150 mil e acima, juntamente com alguém que realmente sabe o que está fazendo. Alcançar alta disponibilidade não é barato.

Ah, e não se esqueça de energia e resfriamento redundantes. Tenha um plano de recuperação de desastres (DR) e continuidade de negócios (BC).

Pensei apenas numa alternativa. Tenha seu site hospedado com um contrato de nível de serviço (SLA) de 99,99%. Certifique-se de que é local e faça um tour pelo data center. Pode ser mais barato a longo prazo, considerando o custo humano.

    
por 22.08.2011 / 00:12
1
  • não compre nada. Você não pode de qualquer maneira - edição da web é apenas para alugar. Faça um contrato de SPLA.

  • As licenças adquiridas não estão disponíveis para hospedagem E são - em geral - muito mais caras que as licenças de SPLA, de qualquer maneira.

  • Não há necessidade de um balanceador de carga. Use o NLB (Network Load Balancing), parte do Windows. Ele irá lidar com o failove muito rápido (nota: 100% de tempo de atividade é realmente difícil de obter - 5 segundos são normalmente aceitáveis).

  • Execute o SQL com 3 servidores (2x padrão, 1x expresso). Espelho, use expresso como wittness - a web não permite um bom failover.

  • Executar servidores da Web na configuração ativa / ativa com o NLB.

por 17.05.2010 / 20:27