Daniel [email protected]
IntroduçãoA disponibilidade de um sistema é a probabilidade de
que ele esteja funcionando num determinado momento e pronto para uso. Podemos classificar em 3 classes:
- Básica- Alta- Contínua
Disponibilidade Básica: Máquinas que não possuem dispositivos para “contornar” as faltas
Alta Disponibilidade: Um sistema de alta disponibilidade é um sistema informático resistente a falhas de software e energia, cujo objetivo é manter os serviços disponibilizados o máximo de tempo possível
Disponibilidade ContínuaA necessidade de disponibilidade torna-se
cada vez mais próxima dos 100%.- O tempo de indisponibilidade é quase
inexistente- Existe o "Mascaramento" de todas as
interrupções (planejadas ou não)
Determinando a disponibilidade de um BancoAlém de implementar uma estratégia de
manutenção da disponibilidade será necessário verificar os seguintes fatores:
- Horário de operação do sistema- Conectividade com o servidor de dados- Interação síncrona/assíncrona
Alta Disponibilidade com ClusterAs tarefas referentes ao processamento da aplicação podem ser
realizadas através de dois ou vários computadores que atuam em conjunto dentro de um sistema o qual é conhecido com cluster
- Cada máquina é denominada nó- A intensão é que as máquinas sejam consideradas como uma só- A Microsoft possui um conceito de Cluster- As máquinas devem possuir a mesma configuração- Devem ser interligadas entre si
Cluster para a tolerância a falhas do SQLCluster Ativo/PassivoUm servidor responde as solicitações e o
outro aguarda caso exista falhas
Cluster Ativo/AtivoOs nós respondem as solicitações dos clientes- Serão necessárias duas conexões de rede, no mínimo- Essa configuração de contar STORAGE SAN ou discos
físicos compartilhados- Os clientes podem estabelecer conexão com qualquer um
dos dois servidores- Todos os discos compartilhados devem possuir uma cópia
do SQL
Servidor de espera e de remessa de log- Replica de servidores- Utilização do servidor Subscriber para
utilização de leitura como geração de relatórios
Database MirroringO espelhamento de banco de dados (Database
Mirroring) é uma tecnologia disponível a partir da versão 2005
Consiste em transferir o transaction LOG diretamente para o servidor espelho
- O Database que está sendo espelhado ficará inacessível até que uma falha ocorra
Servidores envolvidos na configuração- Servidor Principal é a origem dos dados- Servidor Mirror é o de espelhamento- Servidor Witness é o servidor que habilita o
failover automático
Alguns itens importantes sobre o espelhamento de Banco de Dados
- Modelo de recovery deve ser FULL- É necessário criar um banco de espelhamento
com uma operação de RESTORE norecovery- O Mirror deve ter o mesmo nome do banco
principal
Transaction SafetyÉ o atributo que controla o modo de operação do
espelhamento da seção.- Por padrão é configurado com Transaction safety Full
(operação sincronizada). As transações são registradas no servidor e enviadas para o MIrror
- Desligar faz a operação em modo Assíncrono- Neste modo aumenta a performance, porém numa falha é
necessário realizar failover forçado
Quorum e Witness ServerQuando o Witness Server está configurado a
seção de espelhamento requer um quorum.Um quorum é a quantidade mínima de
servidores conectados necessária para manter o sincronismo de espelhamento
Indicação de Uso
Transaction Safety
Mecanismo de
Transferência
Quorum Requerid
o
Witness Server
Tipo de Failover
Alta disponibilidade FULL Synchronous Y Y
Automático ou Manual
Alta Proteção FULL Synchronous Y N Apenas manual
Alta Performance OFF Asynchronous N N/A Apenas forçado
Laboratório página 688 à 701