Galera, dando continuidade aos nossos artigos de AlwaysOn hoje resolvi escrever sobre o AlwaysOn Failover Cluster Instance, nos artigos anteriores eu vinha falando bastante sobre AlwaysOn Availability Group que é fantástico mas não posso deixar de falar do magnifico AlwaysOn Failover Cluster Instance.
Se você ainda não leu os artigos anteriores sobre o AlwaysOn não deixe de clicar nos links abaixo e iniciar a leitura.
Always On Availability Group – Configuração
AlwaysOn Availability Group – Configurando Iscsi Target
Antes de iniciar as demonstrações vamos entender um pouco do AlwaysOn Failover Cluster Instance e depois ver como ele funciona.
AlwaysOn Failover Cluster Instance
Como o nome já diz estamos tratando do Failover de uma instância do SQL Server, mas como assim uma instância? Sabemos que ao utilizar o Availability Group podemos selecionar um grupo de banco de dados para que eles tenham um Failover seja ele automático ou manual mas como fazer isso com uma instância inteira do SQL Server?
Vamos a alguns detalhes desta solução, continuamos com o Windows Server Failover Cluster (WSFC) configurado e agora vamos instalar uma instância do SQL Server com Failover, até ai bacana, agora nossa instância do SQL Server faz parte do Cluster.
Agora vamos adicionar um segundo Nó, lembrando que não estamos falando de instalações stand alone, estamos agora com um segundo nó em nosso Cluster.
No CLUSTERSRV1 (Nome dado por mim ao server 1) estão executando todas as funcionalidades do SQL Server, meu banco de dados está lá funcionando perfeitamente, toda minha instalação foi configurada para os discos que fazem parte do meu WSFC.
Em determinado momento meu CLUSTERSRV1 para por qualquer motivo seja ele hardware ou software e você tem o Failover de tudo para o CLUSTERSRV2 em tempo real, imagine agora a instancia do CLUSTERSRV2 que estava pausada iniciasse pelo comando do Failover e seus discos, bancos e tudo mais estivesse lá no Server 2 agora.
Vamos lá…
Diferente do Availability Group o Failover Cluster instance não utiliza sincronização dos logs (Síncrono ou Assíncrono) na verdade ele trabalha com uma instância parada só aguardando que ocorra algum problema e automaticamente está instância assume todos os serviços e discos.
Para simplificar vamos ver uma demonstração.
Cenário
Nesta demonstração estou utilizando:
- 4 VMS com Hyper-V com Windows Server 2016
- SQL Server 2016 Developer
Como podemos observar na imagem acima tenho já meu WSFC configurado e com 2 nós (CLUSTERSRV1 e CLUSTERSRV2), são meus dois servidores.
Podemos observar agora a instância do SQL Server sendo executada e também presente no meu WSFC, pela imagem podemos observar que minha instância está presente no CLUSTERSRV1, ou seja, não temos instância do CLUSTERSRV2 em nosso WSFC.
Validando o que foi dito lá em cima na instância 2 temos um serviço do SQL Server pausado, aguardando…
Neste cenário tenho também os discos configurados presentes somente no CLUSTERSRV1, no momento em que ocorrer qualquer problema tudo será passado para o CLUSTERSRV2.
Agora vou simular um problema qualquer, sendo que vou mandar o WSFC movimentar tudo da minha instância SQL Server do CLUSTERSRV1 para o CLUSTERSRV2 e vamos conseguir captar até onde está solução é poderosa.
Iniciou então a nossa migração do CLUSTERSRV1 para o CLUSTERSRV2 a partir da conclusão deste passo o server 1 para e fica aguardando uma falha no server 2 para que ele assuma a instância.
Resultado final no servidor CLUSTERSRV2.
Uma observação antes de finalizar este artigo é que quando se trata de Availability Group temos o Failover dos bancos de dados e isso não inclui serviços de banco de dados, usuários, bancos de dados do sistema e etc.
Quando estamos trabalhando com o AlwaysOn Failover Cluster Instance estamos falando de uma instância completa, ou seja, tudo está incluso, se você tiver 300 Jobs, 100 banco de dados e 200 usuários tudo isso fará parte do Failover.
Em breve estarei trazendo mais artigos sobre AlwaysOn Failover Cluster Instance espero que tenham gostado desta solução e se gostaram deixem seus comentários.
Link permanente