Exchange Server 2010: Exchange Server alta disponibilidade

E-mail é uma ferramenta de comunicação de negócios essenciais, portanto, qualquer coisa que você pode fazer para garantir a alta disponibilidade com Microsoft Exchange Server é uma coisa boa.

Extraído "Exchange 2010 – A prática abordagem," publicado pela Red Gate livros (2009).

Jaap Wesselius

Existem várias camadas em Microsoft Exchange Server 2010, você pode configurar como uma solução de alta disponibilidade (HA). O grupo de disponibilidade do banco de dados oferece HA na função de servidor de caixa de correio. Se você deseja uma solução HA completa, você pode configurar o servidor acesso para cliente e servidor de transporte de Hub como uma solução de alta disponibilidade também.

Vale a pena bearing em mente que Exchange Server 2010 Standard Edition também oferece suporte a tecnologias de replicação, assim como o Exchange Server 2010 Enterprise Edition. A única diferença é que o Standard Edition suporta apenas até cinco bancos de dados por servidor, enquanto o Enterprise Edition suporta até 100 bancos de dados por servidor. Este é um desenvolvimento perfeito para empresas que não têm milhares de caixas de correio e não precisar criar muitos bancos de dados de caixa de correio.

Bancos de dados de Exchange Server

Configurando o HA para outras funções de servidor não foram alterados significativamente desde o Exchange 2007. Exchange Server 2010 usa um banco de dados para armazenar os dados primários — as mensagens que você envia e recebe. Essa tecnologia de banco de dados é um sistema transacional, que é bastante comum, mas o Exchange Server usa sua própria tecnologia incorporada no mecanismo de armazenamento extensível (ESE), conhecido como um banco de dados JET.

Ao instalar um servidor de correio Exchange Server 2010, o banco de dados de caixa de correio inicial é, por padrão, armazenado na unidade C:\ local; mais especificamente no banco de dados do C:\Program programas\Microsoft\Exchange Server\V14\Mailbox\Mailbox << número aleatório >> \. Esse número aleatório é gerado pelo Exchange Server durante a configuração inicial, pois os nomes de banco de dados em servidores maiores e 2010 Exchange devem ser exclusivos dentro da organização do Exchange.

Um número de arquivos formam o ambiente de banco de dados do Exchange 2007, os quais têm uma função crucial no funcionamento correto do Exchange server:

  • "0242942819.edb de banco de dados de caixa de correio"
  • E00. log
  • E00000003a.log, E000000003b.log, E00000003c.log e assim por diante
  • E00.chk
  • E00res00001.log e E00res00002.log
  • E00tmp.log
  • Tmp. edb

Para entender o Exchange a tecnologia de banco de dados é entender o fluxo de dados entre o Exchange Server e o próprio banco de dados. Os dados são processados em blocos de 32 KB, também chamados de "páginas". Quando terminar Exchange como uma página de processamento, ele imediatamente grava em um arquivo de log se ele foi atualizado. A página ainda é mantida na memória até que o Exchange precisa dessa memória novamente, mas quando a página não é usada por algum tempo, ou quando Exchange precisa forçar uma atualização durante um ponto de verificação, a página é gravada no arquivo de banco de dados. Portanto, os dados nos arquivos de log são sempre antes dos dados no banco de dados. Essa é uma etapa importante lembrar ao solucionar problemas de banco de dados.

Como os dados são gravados no banco de dados, um ponteiro chamado o ponto de verificação é atualizado para refletir a página nova ou atualizada que foram gravada no banco de dados. O ponto de verificação é armazenado em um arquivo especial denominado o arquivo de verificação. Exchange Server usa isso para certificar-se de que ele sabe quais dados foram gravados no banco de dados e os dados que estão nos arquivos de log e ainda não foram gravados no banco de dados. Portanto, em breve:

  1. Dados de correio inicialmente são processados na memória e separados em páginas.
  2. Páginas atualizadas são gravadas no arquivo de log.
  3. Se as páginas não são mais necessárias pelo Exchange essas páginas são gravadas no banco de dados.
  4. O arquivo de verificação é atualizado para refletir a nova localização do ponto de verificação.

Mecanismo de armazenamento extensível

Exchange Server usa o mecanismo de banco de dados foi construído sobre o ESE. O ESE existe sabores diversos:

  • ESE97 para Exchange Server 5.5
  • ESE98 para Exchange Server 2000/2003
  • ESENT para o Active Directory
  • ESE para Exchange Server 2007 e Exchange Server 2010

O ESE é um mecanismo de banco de dados de nível inferior. Isso significa que ele sabe tudo sobre "tipos base", como, por exemplo, curto, string, long, longlong, systime e assim por diante. No entanto, ele não tem conhecimento de qualquer estrutura ou o esquema. O esquema é definido pelo armazenamento de informações do aplicativo. Isso é contrário de um banco de dados relacional, como Microsoft SQL Server, onde todas as estruturas de banco de dados são apenas metadados, ou parte do próprio banco de dados.

O ESE é otimizado para lidar com grandes quantidades de dados semi-estruturados, como é impossível para um Exchange Server prever que tipo de dados será recebido, grandes como os dados serão ou quais mensagens anexos terão.

Arquivos de log

Quando Exchange Server está trabalhando com uma página e status muda dessa página de dirty para limpar, a página é gravada no arquivo de log quase imediatamente. Os dados mantidos na memória são rápida para acessar, mas volátil. Tudo é um hiccup secundária no servidor e os dados da memória serão perdidos. Quando ele for salvo no arquivo de log, todo o servidor pode gravar para baixo e, desde que você mantenha o disco, também é manter os dados.

Felizmente, como salvar o arquivo de log normalmente é uma questão de milissegundos. Os arquivos de log são numerados internamente e esse número (referido como o número de lGeneration) é usado para identificar os arquivos de log e para armazená-los no disco quando elas estiver totalmente preenchidas com dados.

O arquivo de log atual, ou o "arquivo de log em uso," é E00. log; enquanto o Exchange é preencher esse arquivo de log com dados, um arquivo temporário de E00tmp.log já foi criado (ou está em processo de criação) no plano de fundo. Quando o E00. log eventualmente é preenchido com dados, ele é salvo com outro nome. O nome é derivado do prefixo do arquivo de log (E00, E01, E02 e assim por diante) e o número de lGeneration, que é uma notação hexadecimal seqüencial.

Por exemplo, quando o número de lGeneration é 1, o E00. log é salvo como E0000000001.log. Como alternativa, a última vez que aconteceu com esse processo, o número de lGeneration era 3E, portanto, o arquivo de log foi salvo como E000000003E.log. Como o número de lGeneration é um número seqüencial, sabemos que as lGeneration próximas a E00. log devem ser 3F e na próxima vez que esse processo de sobreposição de arquivo de log ocorre, o arquivo de log será salvo como E000000003F.log.

Embora não esteja visível diretamente, o número de lGeneration é armazenado dentro do arquivo de log e pode ser verificado por despejando as informações de cabeçalho do arquivo de log com o utilitário ESEUTIL. As primeiras linhas do cabeçalho do arquivo de log devem ler algo como:.

Base name: E00 Log file: E00.log lGeneration: 63 (0x3F) Checkpoint: (0x3F,8,16)

O número de lGeneration está listado na terceira linha, ambos em notação decimal e hexadecimal. Infelizmente, isso é muito confuso e haverá um dia em que um administrador do Exchange combina até essas notações e começa a trabalhar com o arquivo de log errado.

Depois que as páginas são gravadas no arquivo de log, elas são mantidas na memória, economizando um cara ler de uma ação do disco quando precisa Exchange Server a página novamente. Quando o servidor de caixa de correio precisa que a memória para outras páginas, ou quando a página permanece na memória por um longo tempo, ela é gravada no arquivo de banco de dados. Isso também é conhecido como o "mecanismo de gravador lento".

Um equívoco comum é que dados são lidos a partir de arquivos de log e gravados no arquivo de banco de dados, mas isso não for o caso. Ele é escrito diretamente da memória no banco de dados e arquivos de log são somente leitura em cenários de recuperação, como após um desligamento incorreto do servidor. Em circunstâncias normais, os arquivos de log são 100 por cento de gravação, enquanto o banco de dados é uma mistura aleatória entre a leitura e gravação de ações.

Arquivos de verificação

A relação entre a gravação de dados nos arquivos de log e gravar dados no banco de dados propriamente dito é gerenciada pelo arquivo de ponto de verificação, E00.chk. O arquivo de verificação aponta para a página do banco de dados que foi gravado pela última vez e é avançado tão logo Exchange grava outra página da memória para o banco de dados.

A diferença entre os dados no banco de dados e os dados nos arquivos de log é conhecida como profundidade do ponto de verificação. Essa profundidade do ponto de verificação pode ser vários arquivos de log; Na verdade, a profundidade do ponto de verificação padrão é 20 arquivos de log. Usando o ponto de verificação, Exchange deve aguardar antes de gravar no banco de dados e tenta combinar várias ações de gravação para que as operações de gravação do banco de dados podem ser executadas com mais eficiência.

Profundidade do ponto de verificação também é uma configuração por banco de dados. Portanto, quando a profundidade do ponto de verificação do banco de dados é 20 arquivos de log, um mínimo de 20 MB de dados é mantido na memória para o banco de dados específico. Ao usar bancos de dados de 30 Exchange Server em 2010, cada um em sua profundidade máxima do ponto de verificação, aproximadamente 600 MB de dados do Exchange é mantido na memória.

O banco de dados de caixa de correio

O arquivo "0242942819.edb de banco de dados de caixa de correio" é o repositório principal da função de servidor de caixa de correio Exchange Server 2010. No Exchange Server 2007 este arquivo foi chamado "database.edb da caixa de correio", enquanto no Exchange 2003 e Exchange 2000 de banco de dados foi composto de dois arquivos: Priv1. edb e Priv1. Exchange Server em 2010, um servidor de caixa de correio pode conter até 100 bancos de dados.

O tamanho máximo de um banco de dados ESE pode ser enorme. O limite superior de um arquivo em NTFS é 64EB, e isso geralmente é considerado suficiente para hospedar arquivos grandes de banco de dados de caixa de correio. O tamanho máximo de arquivo Microsoft recomendado do banco de dados da caixa de correio em 2010 de Exchange Server é de 2TB. Isso se comparado ao limite de tamanho do arquivo de 200 GB no Exchange 2007 (usando a replicação contínua em Cluster) é um enorme aumento. Tenha em mente que você terá que configurar várias cópias do banco de dados para obter uma solução de alta disponibilidade, se você estiver usando esse dimensionamento.

Jaap Wesselius

Jaap Wesselius é o fundador da DM consultores, uma empresa com um forte foco em soluções de mensagens e colaboração. Após trabalhar na Microsoft há oito anos, Wesselius decidiu confirmar mais de seu tempo para a comunidade do Exchange na Holanda, resultando em um prêmio MVP de Exchange Server em 2007. Também é colaborador regular em holandês Unified Communications grupo de usuários e um autor regular para simples-Talk.

Saiba mais sobre "Abordagem de práticas do Exchange 2010 – A" em red-gate.com/our-company/about/book-store.

Conteúdo relacionado