As interrupções e falhas do sistema são dolorosas para os DBAs, mas ainda mais para os clientes. Os usuários de hoje esperam quase 100 por cento de disponibilidade, e qualquer coisa menos é motivo de irritação se você tiver sorte e perda de um cliente se não tiver.
Um dos principais objetivos do DBA é ajudar a garantir que as instâncias e bancos de dados do SQL Server permaneçam online e funcionando após uma falha ou interrupção. Um método para aumentar a disponibilidade é configurar clusters de failover do Windows Server com o SQL Server.
Um cluster de failover é um grupo de servidores que trabalham juntos para manter a disponibilidade de seus aplicativos e serviços em caso de interrupção ou falha. Basicamente, o cluster de failover pega todos os dados armazenados em uma instância do SQL Server e os instala em um repositório de armazenamento compartilhado – geralmente em uma SAN – que pode ser acessado de diferentes servidores.
Para ajudá-lo a iniciar o caminho para a alta disponibilidade, compilamos os nove principais prós e contras para configurar seu cluster de failover do SQL Server para que você possa minimizar o tempo de inatividade do banco de dados.
1. Não pule a validação do cluster.
Antes de instalar um cluster, é imperativo que você execute a validação para verificar a configuração. Se este for um novo cluster, você desejará executar todos os testes.
Depois que o cluster estiver configurado e você tiver instalado e configurado completamente suas instâncias do SQL Server no cluster, execute a validação sempre que fizer alterações. É importante certificar-se de que os resultados da validação estejam corretos antes de enviar o cluster de failover do SQL Server para o funcionamento, para que você não precise agendar o tempo de inatividade para corrigir problemas perdidos.
2. Configure bem o quórum.
Se você deseja manter seu SQL Server online, certifique-se de ter configurado o quorum corretamente no cluster de failover. Esta documentação da Microsoft fornece instruções detalhadas sobre como fazer isso, mas o rolo de destaque inclui estas práticas recomendadas:
- Reavalie o quórum sempre que a configuração do cluster for alterada
- Atribua uma testemunha para obter um número ímpar de votos
- Remover votos quando apropriado
- Use o recurso "Dynamic Quorum" para ajustar dinamicamente os votos dos nós
É importante observar que a maneira mais eficaz de configurar o quorum varia de acordo com a versão do Windows, o número de nós e a confiabilidade da comunicação de rede entre os nós.
3. Não selecione a versão errada do Windows ou SQL Server.
Este tipo de soa como um acéfalo, mas sempre vale a pena repetir. Certifique-se de selecionar a versão mais recente do Windows Server e verifique se está usando a versão Enterprise ou Datacenter. Além disso, fique com uma versão do SQL Server para manter as coisas simples. Aderir a essas duas práticas tornará seu cluster mais fácil de gerenciar e manter online.
4. Compre o hardware correto.
O dimensionamento correto de seu hardware para um cluster do SQL Server pode ser difícil. Por exemplo, você não quer desperdiçar dinheiro com muita memória, mas ter pouca memória pode afetar o desempenho.
À medida que você desenvolve seu plano para criar seu cluster do SQL Server, certifique-se de confirmar que suas necessidades de hardware são atendidas para a quantidade certa de memória, seu caminho de rede é redundante e você avaliou com precisão suas necessidades de SSD.
5. Não coloque muitos nós em um cluster.
Você pode ficar tentado a colocar todos os seus nós em um cluster, mas é melhor ficar com um ou dois nós por cluster. Lembre-se de que sempre que você aplicar um patch ou uma atualização a um cluster, precisará testar se cada instância ainda funciona em cada nó. Quanto menos nós em um cluster, menos tempo de inatividade para cada instância quando você falha em cada nó.
6. Planeje seus nós e instâncias.
Os clusters de failover não são de tamanho único, portanto, você precisará avaliar suas necessidades e planejar adequadamente. Um ótimo lugar para começar é respondendo a essas perguntas e adaptando seu cluster conforme apropriado:
- De quantos nós de cluster precisamos?
- Quantas instâncias do SQL Server instalaremos?
- Quantos clusters de failover do Windows atendem às nossas necessidades e orçamento?
- Que tipo de armazenamento usaremos?
- Como é nosso ambiente de teste?
7. Não presuma que seus aplicativos farão failover normalmente.
Nunca confie que sua instância do SQL Server está sendo executada como antes da ocorrência de um failover. Alguns aplicativos podem não voltar a ficar online automaticamente depois e, dependendo do aplicativo, pode demorar um pouco para você perceber.
Torne uma prática padrão incluir testes de aplicativos em cada migração para um cluster de failover.
8. Reavalie suas definições de configuração do SQL Server.
À medida que você inicia a fase de planejamento da criação de clusters de failover do SQL Server, é um bom momento para examinar novamente suas definições de configuração. Por exemplo, verifique se você está usando as melhores configurações para itens como alocação de memória em clusters de várias instâncias.
9. Não afrouxe sua convenção de nomenclatura.
Reserve um tempo agora para nomear seus componentes de cluster com cuidado e economize uma enorme dor de cabeça ao tentar se conectar ao servidor posteriormente. Aqui estão algumas ideias para ajudar a estabelecer uma convenção de nomenclatura eficaz:
- Certifique-se de que o nome identifique o tipo de componente que você está rotulando. É um cluster, servidor físico, instância do SQL Server ou coordenador de transações distribuídas?
- Instale o BGINFO para exibir o nome do servidor na área de trabalho para cada servidor no cluster. Isso torna muito fácil encontrar os bancos de dados corretos.
- Seja consistente ao adicionar nós adicionais ou instalar outra instância do SQL Server no cluster. Se você mantiver sua convenção de nomenclatura, isso não apenas simplificará as coisas para você agora, mas também facilitará a localização de servidores para aqueles que precisarem deles mais tarde.