Project Description

Cliente: rede de restaurantes fast food.

Tempo de contrato: Cliente desde 2010.

Bases de dados administradas: 125 bases de dados Microsoft SQL Server.

Serviços contratados: Administração e monitoramento das bases de dados com atendimento 24 horas por dia.

Por conta do acordo de confidencialidade entre as empresas, detalhes específicos do projeto não serão divulgados. Somente serão descritas informações de conhecimento geral e/ou domínio público sobre hardware, software e atividades que sejam inerentes à administração de banco de dados.

Descrição do projeto:

Migrar os bancos de dados atuais de produção (84 bases de dados) na Versão SQL Server 2008 para versão 2012 em cluster, utilizando o Always On FCI (failover Cluster Instance) para aumentar alta-disponibilidade das bases de dados. A parada máxima para a migração das bases de dados de produção deveria ser menor que 15 minutos.

O projeto foi executado em 04 etapas:

  • Instalação e configuração de estrutura de servidores em cluster (Cluster Microsoft);
  • Criação das bases de dados SQL Server em cluster com Always On FCI;
  • Migração das Bases de dados de 2008 para 2012 para validação e testes funcionais;
  • Migração definitiva das Bases de dados de 2008 para 2012, utilizando o Mirroring.

Representação gráfica do projeto final:

Após as instalações do Windows Server 2012 Standard (64bit) em cluster e do SQL Server 2012 Standard Edition (64-bit) em cluster com Always On FCI, copiamos e migramos as bases de dados de 2008 para 2012 para as validações e testes funcionais.

Esta etapa antecede a migração definitiva e é nela que tudo é validado para garantir que não ocorram falhas e que todas as aplicações acessem o banco de dados na nova versão com a performance desejada (no caso – no mínimo igual a atual). Também nesta fase é feita a simulação da migração definitiva, contemplando o tempo máximo com a base de dados fora do ar de 15 minutos.

Os testes foram os seguintes:

Testes de funcionamento do ambiente em cluster:

  • Simular falha nos nós do cluster;
  • Desativar um dos nós;
  • Chavear a aplicação para o segundo nó do cluster;
  • Testar o funcionamento das aplicações;
  • Reativar o nó principal do cluster;
  • Retornar as aplicações e testar o funcionamento novamente.

Testes de funcionamento da aplicação em SQL Server 2012:

  • Para cada aplicação que acessa os bancos de dados, foram efetuados testes funcionais e de carga de dados para garantir que todas as aplicações funcionem perfeitamente na nova versão;
  • Foram efetuados pequenos ajustes encontrados durante os testes, mas tudo funcionou normalmente.

Testes de tempo de migração:

  • Tomada de tempo e simulação da migração definitiva;
  • Tempo máximo de parada da base de dados testado: 15 minutos.

Migração definitiva:

A próxima etapa foi a migração definitiva sem parada superior a 15 minutos das bases de dados durante restore e a migração, uma vez que os bancos de dados operam 24 horas por dia. Para que este objetivo fosse atingido, criamos um mirror para cada banco de dados que ficava sincronizado com as base de dados principais e. Na hora da migração, era interrompido o espelhamento e feito as configurações finais para liberação da aplicação no novo cluster.

Finalizado a etapa de migração para o novo cluster, foram feitas as configurações finais abaixo:

  • Acompanhar o funcionamento das aplicações e das bases de dados (ajustando o que for necessário, em caráter de urgência);
  • Uma semana de acompanhamento 24×7 com DBAs sempre disponíveis para os ajustes, se necessário;
  • Configuração de backup das bases de dados;
  • Configuração de estrutura de monitoramento das bases de dados. Este é um cliente com contrato mensal para administração e monitoramento das bases de dados e por ser um novo cluster, foi necessário configurar um novo monitoramento.

Desafios

  • Migrar toda as bases de dados para novos servidores em cluster com novo sistema operacional e versão de banco dados;
  • Fazer a migração com parada máxima de 15 minutos dos bancos de dados de produção;
  • Garantir que tudo funcionasse com, no mínimo a mesma performance (desejável performance superior);
  • Utilizar o Always On FCI para alta-disponibilidade das bases de dados em cluster.

Tecnologias de Banco de Dados Utilizadas

Quando uma instância do SQL Server é configurada para ser uma FCI em vez de uma instância autônoma, a alta disponibilidade dessa instância é protegida pela presença de nós redundantes configurados via WSFC (Windows Server Failover Clustering), compartilhados por um Storage. No caso de uma falha no primeiro nó, o segundo nó assume a operação e o banco de dados continua a funcionar normalmente. A detecção de problema e o failover automático podem ser configurados.

O Mirroring (espelhamento) disponibiliza a cópia de um único banco de dados. A base de dados de espelhamento deve residir em diferentes instâncias do SQL Server. A base espelho fica ativa e pronta para ser usada em caso de falha na base de dados principal, sem a perda de dados de transações já salvas.

Resumidamente, o espelhamento de banco de dados envolve a reaplicação de cada operação de inserção, atualização e exclusão ocorrida no banco de dados principal para o banco de dados espelho.

A configuração do espelhamento pode ser assíncrona ou síncrona.

  • Assíncrona: as transações são confirmadas sem esperar que o servidor espelho escreva o log no disco (maior desempenho). Para tanto, a configuração high performance da versão Enterprise do banco de dados deve ser utilizada;
  • Síncrona, a sincronização denominada “high safety” deve ser utilizada em ambos os servidores, ou seja, o banco principal espera a gravação no banco espelho (gravação em disco no log) e só após sua confirmação o processo é liberado, ao custo do aumento da latência e diminuição da performance. Pode ser utilizada com a versão Standard.

Resultados Alcançados

Todas as 84 bases de dados foram migradas com sucesso para a nova versão de banco de dados (SQL Server 2012 – Standard Edition) em cluster com Always On FCI e sem parada das aplicações por um período maior que 15 minutos durante a migração.