Solução de alta disponibilidade mais adequada

2

Minha empresa está hospedando um site em um servidor com IIS, SQL Server e um serviço de terceiros (escrito em C #, código-fonte disponível para emendas).

Compramos um novo servidor idêntico, composto por: 1x Quad Core, 12GB de RAM, SATA Raid 5 de 4x160 GB, Windows Server 2008 R2 Datacenter, IP público.

Nosso objetivo é colocar todas as páginas da Web e o serviço de terceiros em um estado de alta disponibilidade.

Após alguns testes de laboratório sobre como configurar o Cluster de Failover e o Hyper-V, temos profundas dúvidas sobre qual seria a solução " melhor ", por " melhor "significa que pode ser mantido e capaz de lidar corretamente com uma falha no servidor físico.

Alguma sugestão sobre como devemos configurar os dois servidores?
Nós não precisamos de todos os passos da configuração, apenas uma sugestão na direção certa a seguir.

UPDATE :

  • Nenhuma SAN externa no momento.
  • Os serviços mencionados (SQL, IIS, Serviço Personalizado do Windows) exigirão a maioria dos recursos.
    Pode haver um servidor Exchange chegando, mas não é importante a partir de agora.
  • Nenhum controlador de domínio configurado no momento.

Faltam elementos, mas não sabemos quais são mais importantes do que outros e quais são os passos que devemos seguir.

UPDATE2 :

  • Escrevemos uma ideia aproximada de que achamos que seria adequada às nossas necessidades. Você pode encontrar o pdf aqui .
  • A questão agora é recompensada. Eu entendo que há muito profissionalismo em TI por trás desse tipo de coisa, e é compreensível recompensar a sugestão correta.
  • Nossa idéia é baseada nessas suposições (por favor corrija qualquer uma delas se você achar errado):
    • Você precisa de um domínio para criar um cluster de failover do Windows
    • Você não pode instalar o Exchange em um cluster de failover do Windows
    • Controlador de domínio é um único ponto de falha

As máquinas virtuais parecem resolver todos esses problemas, mas também usam muitos recursos.

Não há uma configuração de failover mais simples usando dois servidores físicos para apenas fazer failover da instância do SQL?
Páginas da Web são sem estado eo serviço de windows C # opera principalmente no banco de dados SQL, eu acho que seria possível configurá-los usando o NLB?

Sinta-se à vontade para pedir mais informações, se precisar, colocando um comentário a esta pergunta.

    
por Alex Bagnolini 16.04.2010 / 18:08

4 respostas

5

Todos esses serviços estão sendo executados em um sistema? Eu não sei qual é a carga no sistema, mas parece difícil conseguir uma configuração ativa-ativa.

A primeira coisa que me vem à mente é usar apenas o NLB para a parte da web. Defina um sistema como primário e o outro para assumir se o primeiro falhar. Espelhe seu banco de dados usando SAFETY FULL para que o escravo envie a confirmação de uma consulta que está sendo endurecida em seus logs antes que o principal faça o mesmo. Isso garante que seus dados permaneçam em sincronia se alguém morrer, supondo que seu aplicativo possa lidar com isso, pois isso adicionará algum atraso ao processo. O failover do banco de dados também pode ser automático com o espelhamento.

Se você estiver confiando no IIS para as sessões de aplicativos, o ativo ativo não funcionará de qualquer maneira, porque cada servidor não saberia sobre as sessões no outro servidor.

Editar: links para alguns recursos:

Configurando o NLB link

Configurando o espelhamento de banco de dados link

    
por 16.04.2010 / 20:52
0

Parece que você estava no caminho certo para mim. Eu estou supondo que você tem tudo em um SAN externo certo?

    
por 16.04.2010 / 18:13
0

Minha suposição é que você está falando com HA sem COOP.

As recomendações a seguir fornecerão informações sobre HA & COOP, usando líderes da indústria.

Algumas recomendações:
(1) Mover para o VMware em vez do Hyper-V.
(2) Mova seus sistemas operacionais físicos para virtuais usando o software V2P
(3) Mova seu servidor SQL em VMs dedicadas e mude para um modo ativo-ativo
(4) Resumo de seu armazenamento usando o Netapp
(5) Compre um servidor Netapp + x86 adicional, ou 2 para o seu site COOP

Resultados:
Você deve ter o armazenamento RAID6 abstraído, disponível local e remotamente. Os Netapps devem estar se replicando Você deve ter várias VMs executando seu servidor da Web (IIS Clustered) & C # app
Você deve ter várias VMs executando seu DB

Notas:
Se o seu banco de dados for muito sensível ao desempenho, considere mantê-lo físico.

    
por 16.04.2010 / 18:35
0

Veja a tecnologia VMware FT: link

    
por 22.04.2010 / 19:58