Redundância de sombra no Exchange ServerShadow redundancy in Exchange Server

A redundância de sombra foi introduzida no Exchange 2010 para fornecer cópias redundantes de mensagens antes que elas sejam entregues às caixas de correio.Shadow redundancy was introduced in Exchange 2010 to provide redundant copies of messages before they're delivered to mailboxes. No Exchange 2010, a redundância de sombra atrasou a exclusão de uma mensagem do banco de dados de fila em um servidor de transporte de Hub até que o servidor Verifique que o próximo salto no caminho de entrega de mensagens concluiu a entrega.In Exchange 2010, shadow redundancy delayed deleting a message from the queue database on a Hub Transport server until the server verified that the next hop in the message delivery path had completed delivery. Se o próximo salto falhar antes de relatar a entrega bem-sucedida de volta para o servidor de transporte de Hub, o servidor reenviou a mensagem para o próximo salto.If the next hop failed before reporting successful delivery back to the Hub Transport server, the server resubmitted the message to that next hop. Servidores de transporte de Hub do Exchange 2010 usavam o verbo XSHADOW para anunciar o suporte de redundância de sombra.Exchange 2010 Hub Transport servers used the XSHADOW verb to advertise their shadow redundancy support. Se um servidor de mensagens de origem não suportar redundância de sombra, o Exchange 2010 usava a confirmação atrasada com base em um intervalo de tempo configurado no conector de recebimento para fazer uma cópia redundante da mensagem.If a source messaging server didn't support shadow redundancy, Exchange 2010 used delayed acknowledgment based on a configured time interval on the Receive connector to make a redundant copy of the message.

O Exchange 2016 e o Exchange 2019 têm as mesmas melhorias que foram feitas na redundância de sombra no Exchange 2013: o serviço de transporte em um servidor de caixa de correio agora faz uma cópia redundante de qualquer mensagem que recebe antes de confirmar o recebimento da mensagem para o servidor de envio.Exchange 2016 and Exchange 2019 have the same improvements that were made to shadow redundancy in Exchange 2013: the Transport service on a Mailbox server now makes a redundant copy of any message it receives before acknowledging the receipt of the message to the sending server. Manter cópias redundantes de mensagens em trânsito é mais do que o melhor esforço que pode ou não funcionar, pois agora a redundância de sombra não depende dos recursos com suporte do servidor de envio (o suporte ou a falta de suporte para a redundância de sombra não importa).Maintaining redundant copies of messages in transit is more than a best effort that may or may not work, because now shadow redundancy doesn't depend the sending server's supported features (support or lack of support for shadow redundancy doesn't matter). Isso ajuda a garantir que todas as mensagens no pipeline de transporte sejam tornadas redundantes enquanto estão em trânsito.This helps to ensure that all messages in the transport pipeline are made redundant while they're in transit. Se o Exchange determinar que a mensagem original foi perdida em trânsito, a cópia redundante da mensagem será entregue novamente.If Exchange determines the original message was lost in transit, the redundant copy of the message is redelivered.

Para obter mais informações sobre os recursos de alta disponibilidade de transporte no Exchange Server, consulte Transport High Availability in Exchange Server.For more information about transport high availability features in Exchange Server, see Transport high availability in Exchange Server. Para obter mais informações sobre a redundância de mensagens após uma mensagem ser entregue com êxito, consulte rede de segurança no Exchange Server.For more information about message redundancy after a message has been successfully delivered, see Safety Net in Exchange Server.

Componentes de redundância de sombraShadow redundancy components

Esta tabela descreve os componentes da redundância de sombra no serviço de transporte em servidores de caixa de correio.This table describes the components of shadow redundancy in the Transport service on Mailbox servers. Esses termos são usados em todo o tópico.These terms are used throughout the topic.

TermoTerm DescriçãoDescription
Limite de alta disponibilidade de transporteTransport high availability boundary Um grupo de disponibilidade de banco de dados (DAG) em ambientes do DAG ou um site do Active Directory em ambientes que não são do DAG.A database availability group (DAG) in DAG environments, or an Active Directory site in non-DAG environments. Para o DAGs que abrange vários sites do Active Directory, o DAG em si ainda é o limite (não o site).For DAGs that span multiple Active Directory sites, the DAG itself is still the boundary (not the site).

Quando uma mensagem chega em um servidor de caixa de correio no limite de alta disponibilidade de transporte, o Exchange tenta manter duas cópias redundantes da mensagem em servidores de caixa de correio dentro do limite.When a message arrives on a Mailbox server in the transport high availability boundary, Exchange tries to maintain two redundant copies of the message on Mailbox servers within the boundary. Quando uma mensagem deixa o limite de alta disponibilidade de transporte, o Exchange interrompe a manutenção de cópias redundantes da mensagem.When a message leaves the transport high availability boundary, Exchange stops maintaining redundant copies of the message.
Mensagem principalPrimary message A mensagem enviada para o pipeline de transporte para entrega.The message submitted into the transport pipeline for delivery.
Mensagem de sombraShadow message A cópia redundante da mensagem que o servidor de sombra retém até que ele confirme que a mensagem principal foi processada com êxito pelo servidor primário.The redundant copy of the message that the shadow server retains until it confirms the primary message was successfully processed by the primary server.
Servidor primárioPrimary server O servidor de caixa de correio que está processando a mensagem principal.The Mailbox server that's currently processing the primary message.
Servidor de sombraShadow server O servidor de caixa de correio que contém a mensagem de sombra do servidor primário.The Mailbox server that holds the shadow message for the primary server. Um servidor de caixa de correio pode ser o servidor principal de algumas mensagens e o servidor de sombra para outras mensagens simultaneamente.A Mailbox server may be the primary server for some messages and the shadow server for other messages simultaneously.
Fila de sombraShadow queue A fila de entrega onde o servidor de sombra armazena mensagens de sombra.The delivery queue where the shadow server stores shadow messages. Para mensagens com vários destinatários, cada salto seguinte para a mensagem principal requer filas de sombra separadas.For messages with multiple recipients, each next hop for the primary message requires separate shadow queues.
Status de descarteDiscard status As informações que o servidor de caixa de correio mantém para mensagens de sombra para indicar que a mensagem principal foi processada com êxito.The information that the Mailbox server maintains for shadow messages to indicate the primary message has been successfully processed.
Descartar notificaçãoDiscard notification A resposta que um servidor de sombra recebe de um servidor primário que indica que uma mensagem de sombra está pronta para ser descartada.The response a shadow server receives from a primary server indicating a shadow message is ready to be discarded.
Rede de SegurançaSafety Net A versão aprimorada do dumpster de transporte no Exchange 2013 ou posterior.The improved version of the transport dumpster in Exchange 2013 or later. As mensagens que são processadas ou entregues com êxito a um destinatário de caixa de correio pelo serviço de transporte em um servidor de caixa de correio são movidas para rede de segurança.Messages that are successfully processed or delivered to a mailbox recipient by the Transport service on a Mailbox server are moved into Safety Net. Para obter mais informações, consulte rede de segurança no Exchange Server.For more information, see Safety Net in Exchange Server.
Gerenciador de redundância de sombraShadow Redundancy Manager O componente de transporte que gerencia a redundância de sombra.The transport component that manages shadow redundancy.
PulsaçãoHeartbeat O processo que permite que servidores primários e servidores de sombra verifiquem a disponibilidade entre si.The process that allows primary servers and shadow servers to verify the availability of each other.

Requisitos para redundância de sombraRequirements for shadow redundancy

Embora possa parecer óbvio, a redundância de sombra requer vários servidores de caixa de correio:Although it may seem obvious, shadow redundancy requires multiple Mailbox servers:

  • Se o servidor de caixa de correio não for membro de um DAG, os outros servidores de caixa de correio devem estar no site local do Active Directory.If the Mailbox server isn't a member of a DAG, the other Mailbox servers must be in the local Active Directory site.

  • Se o servidor de caixa de correio for membro de um DAG, os outros servidores de caixa de correio deverão pertencer ao mesmo DAG.If the Mailbox server is a member of a DAG, the other Mailbox servers must belong to the same DAG. Os outros membros do DAG podem estar no site local do Active Directory ou em um site remoto.The other DAG members can be in the local Active Directory site, or in a remote site. Por padrão, se o DAG abrange vários sites do Active Directory, a redundância de sombra prefere criar uma cópia redundante da mensagem em um site remoto para resiliência de site.By default, if the DAG spans multiple Active Directory sites, shadow redundancy prefers creating a redundant copy of the message in a remote site for site resiliency.

Estas são as situações em que a redundância de sombra não consegue proteger mensagens em trânsito:These are the situations where shadow redundancy can't protect messages in transit:

  • Em ambientes únicos do Exchange Server.In single Exchange server environments.

  • Em DAGss inprovisionados.In under-provisioned DAGs.

  • Durante a falha simultânea de dois ou mais servidores de caixa de correio envolvidos na redundância de sombra de uma mensagem.During the simultaneous failure of two or more Mailbox servers involved in the shadow redundancy of a message.

A redundância de sombra é habilitada por padrãoShadow redundancy is enabled by default

Por padrão, a redundância de sombra é habilitada globalmente no serviço de transporte em todos os servidores de caixa de correio.By default, shadow redundancy is enabled globally in the Transport service on all Mailbox servers. Esta tabela descreve os parâmetros que habilitam a redundância de sombra.This table describes the parameters that enable shadow redundancy.

ParâmetroParameter Valor padrãoDefault value DescriçãoDescription
ShadowRedundancyEnabled no Set-TransportConfigShadowRedundancyEnabled on Set-TransportConfig $true $true: A redundância de sombra está habilitada em todos os servidores de caixa de correio da organização.$true: Shadow redundancy is enabled on all Mailbox servers in the organization.

$false: A redundância de sombra está desabilitada em todos os servidores de caixa de correio na organização.$false: Shadow redundancy is disabled on all Mailbox servers in the organization.
RejectMessageOnShadowFailure no Set-TransportConfigRejectMessageOnShadowFailure on Set-TransportConfig $false $false: Quando uma cópia de sombra da mensagem não pode ser criada, a mensagem principal é aceita de qualquer forma pelos servidores de caixa de correio na organização.$false: When a shadow copy of the message can't be created, the primary message is accepted anyway by Mailbox servers in the organization. Essas mensagens não são mantidas redundantes enquanto estão em trânsito.These messages aren't redundantly persisted while they're in transit.

$true: Nenhuma mensagem é aceita ou confirmada por qualquer servidor de caixa de correio na organização até que uma cópia de sombra da mensagem seja criada com êxito.$true: No message is accepted or acknowledged by any Mailbox server in the organization until a shadow copy of the message is successfully created. Se uma cópia de sombra da mensagem não puder ser criada, a mensagem principal será rejeitada com um erro transitório, mas o servidor de envio poderá transmitir a mensagem novamente.If a shadow copy of the message can't be created, the primary message is rejected with a transient error, but the sending server can transmit the message again. O código de resposta SMTP é 451 4.4.0 Message failed to be made redundant .The SMTP response code is 451 4.4.0 Message failed to be made redundant. Todas as mensagens na organização são mantidas redundantemente enquanto estão em trânsito.All messages in the organization are redundantly persisted while they're in transit.

Observação: use $true somente se você tiver vários servidores de caixa de correio no mesmo site do DAG ou do Active Directory para que uma cópia de sombra da mensagem possa ser criada.Note: Use $true only if you have multiple Mailbox servers in the same DAG or Active Directory site so a shadow copy of the message can be created.

Este parâmetro é significativo apenas quando ShadowRedundancyEnabled é $true .This parameter is only meaningful when ShadowRedundancyEnabled is $true.

Como as mensagens de sombra são criadasHow shadow messages are created

O objetivo principal da redundância de sombra é sempre ter duas cópias de uma mensagem dentro de um limite de alta disponibilidade de transporte enquanto a mensagem está em trânsito.The main goal of shadow redundancy is to always have two copies of a message within a transport high availability boundary while the message is in transit. Onde e quando a cópia redundante da mensagem é criada depende de onde a mensagem veio e onde a mensagem está indo.Where and when the redundant copy of the message is created depends on where the message came from, and where the message is going. Há três fatores determinantes para a criação de mensagens de sombra:There are three determining factors for creating shadow messages:

  • Mensagens recebidas de fora de um limite de alta disponibilidade de transporte (o DAG ou um site do Active Directory em ambientes que não são do DAG).Messages received from outside a transport high availability boundary (the DAG, or an Active Directory site in non-DAG environments).

  • Mensagens enviadas fora de um limite de alta disponibilidade de transporte.Messages sent outside a transport high availability boundary.

  • Mensagens recebidas do serviço de envio de transporte de caixa de correio de um servidor de caixa de correio dentro do limite de alta disponibilidade de transporte.Messages received from the Mailbox Transport Submission service from a Mailbox server within the transport high availability boundary.

A redundância de sombra nunca controla mensagens de sombra em um limite de alta disponibilidade de transporte.Shadow redundancy never tracks shadow messages across a transport high availability boundary. Quando uma mensagem cruza o limite de alta disponibilidade de transporte, a redundância de sombra começa ou reinicia.When a message crosses the transport high availability boundary, shadow redundancy begins or restarts. Isso reduz o tráfego de manutenção de mensagens de sombra e impede o reenvio de mensagens de sombra no limite de alta disponibilidade de transporte.This reduces shadow message maintenance traffic and prevents shadow message resubmissions across the transport high availability boundary. Os servidores de transporte de Hub do Exchange 2010 são um caso especial, e serão discutidos posteriormente neste tópico.Exchange 2010 Hub Transport servers are a special case, and are discussed later in this topic.

Mensagens recebidas de fora de um limite de alta disponibilidade de transporteMessages received from outside a transport high availability boundary

Quando o serviço de transporte em um servidor de caixa de correio recebe uma mensagem de fora do limite de alta disponibilidade de transporte, o servidor de caixa de correio não está preocupado com o suporte ou a falta de suporte para redundância de sombra pelo servidor de envio.When the Transport service on a Mailbox server receives a message from outside the transport high availability boundary, the Mailbox server isn't concerned about the support or lack of support for shadow redundancy by the sending server. Contanto que a redundância de sombra esteja habilitada, o servidor de caixa de correio que recebe a mensagem faz uma cópia redundante da mensagem em outro servidor de caixa de correio dentro do limite de alta disponibilidade de transporte antes de confirmar o recebimento da mensagem de volta para o servidor de envio.As long as shadow redundancy is enabled, the Mailbox server that receives the message makes a redundant copy of the message on another Mailbox server within the transport high availability boundary before acknowledging receipt of the message back to the sending server. Veja um exemplo de como funciona o processo:Here's an example of how the process works:

Criação de mensagem de sombra

  1. Um servidor de mensagens transmite uma mensagem para o serviço de transporte em um servidor de caixa de correio.A messaging server transmits a message to the Transport service on a Mailbox server. O servidor de caixa de correio é o servidor primário, e a mensagem é a principal.The Mailbox server is the primary server, and the message is the primary message.

  2. Embora a sessão SMTP original com o servidor de mensagens ainda esteja ativa, o serviço de transporte no servidor primário abre uma nova sessão SMTP simultânea com o serviço de transporte em um servidor de caixa de correio diferente na organização para criar uma cópia redundante da mensagem.While the original SMTP session with the messaging server is still active, the Transport service on primary server opens a new, simultaneous SMTP session with the Transport service on a different Mailbox server in the organization to create a redundant copy of the message.

    • Se o servidor primário for membro de um DAG, o servidor primário se conecta a um servidor de caixa de correio diferente no mesmo DAG.If the primary server is a member of a DAG, the primary server connects to a different Mailbox server in the same DAG. Se o DAG abrange vários sites do Active Directory, um servidor de caixa de correio em um site do Active Directory diferente é preferido por padrão (o valor padrão do parâmetro ShadowMessagePreferenceSetting no cmdlet Set-TransportConfig é PreferRemote , mas você pode alterá-lo para RemoteOnly ou LocalOnly ).If the DAG spans multiple Active Directory sites, a Mailbox server in a different Active Directory site is preferred by default (the default value of the ShadowMessagePreferenceSetting parameter on the Set-TransportConfig cmdlet is PreferRemote, but you can change it to RemoteOnly or LocalOnly).

    • Se o servidor primário não for membro de um DAG, o servidor primário se conecta a um servidor de caixa de correio diferente no mesmo site do Active Directory (independentemente do valor do parâmetro ShadowMessagePreferenceSetting ).If the primary server isn't a member of a DAG, the primary server connects to a different Mailbox server in the same Active Directory site (regardless of the value of the ShadowMessagePreferenceSetting parameter).

  3. O servidor primário transmite uma cópia da mensagem para o serviço de transporte em outro servidor de caixa de correio, e o serviço de transporte no outro servidor de caixa de correio reconhece que a cópia da mensagem foi criada com êxito.The primary server transmits a copy of the message to the Transport service on another Mailbox server, and Transport service on the other Mailbox server acknowledges that the copy of the message was created successfully. A cópia da mensagem é a mensagem de sombra e o servidor de caixa de correio que a detém é o servidor de sombra para o servidor primário.The copy of the message is the shadow message, and the Mailbox server that holds it is the shadow server for the primary server. A mensagem existe em uma fila de sombra no servidor de sombra.The message exists in a shadow queue on the shadow server.

  4. Depois que o servidor primário recebe a confirmação do servidor de sombra, o servidor primário reconhece o recebimento da mensagem principal para o servidor de mensagens original na sessão SMTP original e a sessão SMTP é fechada.After the primary server receives acknowledgment from the shadow server, the primary server acknowledges the receipt of the primary message to the original messaging server in the original SMTP session, and the SMTP session is closed.

Mensagens enviadas fora de um limite de alta disponibilidade de transporteMessages sent outside a transport high availability boundary

Quando um servidor de caixa de correio transmite uma mensagem fora do limite de alta disponibilidade de transporte, e o servidor de mensagens no outro lado reconhece o recebimento bem-sucedido da mensagem e o servidor de caixa de correio move a mensagem para a rede de segurança.When a Mailbox server transmits a message outside the transport high availability boundary, and the messaging server on the other side acknowledges successful receipt of the message, and the Mailbox server moves the message into Safety Net. Nenhum reenvio da mensagem da rede de segurança pode ocorrer depois que a mensagem principal é transmitida com êxito no limite de alta disponibilidade de transporte.No resubmission of the message from Safety Net can occur after the primary message has been successfully transmitted across the transport high availability boundary. Para obter mais informações sobre a rede de segurança, consulte rede de segurança no Exchange Server.For more information about Safety Net, see Safety Net in Exchange Server.

Mensagens transmitidas dentro de um limite de alta disponibilidade de transporteMessages transmitted within a transport high availability boundary

O roteamento de mensagens é otimizado para que, quando o destino final estiver em um site do DAG ou do Active Directory, vários saltos entre os servidores no DAG ou site de destino normalmente não são necessários.Message routing is optimized so that when the ultimate destination is in a DAG or Active Directory site, multiple hops between servers within the destination DAG or site aren't typically required. Depois que a mensagem é aceita pelo serviço de transporte em um servidor de caixa de correio no DAG de destino ou Active Directory, o próximo salto da mensagem é normalmente o próprio destino final (por exemplo, o servidor de caixa de correio que mantém a cópia ativa da caixa de correio de destino).After the message is accepted by the Transport service on a Mailbox server in the destination DAG or Active Directory, the next hop for the message is typically the ultimate destination itself (for example, the Mailbox server that holds the active copy of the destination mailbox). A meta da redundância de sombra de manter duas cópias de uma mensagem em trânsito é atendida quando uma cópia de sombra da mensagem existe em qualquer lugar dentro do DAG ou do site do Active Directory.Shadow redundancy's goal of keeping two copies of a message in transit is fulfilled when one shadow copy of the message exists anywhere within the DAG or Active Directory site. Normalmente, apenas cenários de failover em um DAG que exigem que o cmdlet Redirect-Message para drenar as filas de mensagens ativas em um servidor de caixa de correio exigiria vários saltos dentro do mesmo limite de alta disponibilidade de transporte.Typically, only failover scenarios in a DAG that require the Redirect-Message cmdlet to drain the active message queues on a Mailbox server would require multiple hops within the same transport high availability boundary.

Redundância de sombra com servidores de transporte de Hub do Exchange 2010 no mesmo site do Active Directory em organizações do Exchange 2016Shadow redundancy with Exchange 2010 Hub Transport servers in the same Active Directory site in Exchange 2016 organizations

Quando um servidor de transporte de Hub do Exchange 2010 transmite uma mensagem para um servidor de caixa de correio do Exchange 2016 no mesmo site do Active Directory, o servidor de transporte de Hub do Exchange 2010 anuncia o suporte para redundância de sombra usando o comando XSHADOW, mas o servidor de caixa de correio não anuncia suporte para redundância de sombra.When an Exchange 2010 Hub Transport server transmits a message to an Exchange 2016 Mailbox server in the same Active Directory site, the Exchange 2010 Hub Transport server advertises support for shadow redundancy using the XSHADOW command, but the Mailbox server doesn't advertise support for shadow redundancy. Isso impede que o servidor de transporte de Hub do Exchange 2010 crie uma cópia de sombra da mensagem em um servidor de caixa de correio do Exchange 2016.This prevents the Exchange 2010 Hub Transport server from creating a shadow copy of the message on an Exchange 2016 Mailbox server.

Quando o serviço de transporte em um servidor de caixa de correio do Exchange 2016 transmite uma mensagem para um transporte de Hub do Exchange 2010 no mesmo site do Active Directory, o servidor de caixa de correio do Exchange 2016 sombreia a mensagem para o servidor de transporte de Hub do Exchange 2010.When the Transport service on an Exchange 2016 Mailbox server transmits a message to an Exchange 2010 Hub Transport in the same Active Directory site, the Exchange 2016 Mailbox server shadows the message for the Exchange 2010 Hub Transport server. Depois que o servidor de caixa de correio do Exchange 2016 recebe a confirmação do servidor de transporte de Hub do Exchange 2010 que a mensagem foi recebida com êxito, o servidor de caixa de correio do Exchange 2016 move a mensagem processada com êxito para a rede de segurança.After the Exchange 2016 Mailbox server receives acknowledgment from the Exchange 2010 Hub Transport server that the message was successfully received, the Exchange 2016 Mailbox server moves the successfully processed message into Safety Net. No entanto, as mensagens processadas com êxito armazenadas em rede de segurança pela caixa de correio do Exchange 2016 nunca são reenviadas aos servidores de transporte de Hub do Exchange 2010.However, the successfully processed messages stored in Safety Net by Exchange 2016 Mailbox are never resubmitted to the Exchange 2010 Hub Transport servers.

Tempos limite do SMTPSMTP timeouts

Durante a tentativa de fazer uma cópia redundante da mensagem, a conexão SMTP entre os servidores (o servidor de envio e o servidor primário ou o servidor primário e o servidor de sombra) pode ter expirado.During the attempt to make a redundant copy of the message, the SMTP connection between servers (the sending server and the primary server, or the primary server and the shadow server) could timeout. Conectores de recebimento e conectores de envio têm um parâmetro ConnectionInactivityTimeout para quando os dados estão sendo transmitidos no conector.Receive connectors and Send connectors both have a ConnectionInactivityTimeOut parameter for when data is actually being transmitted on the connector. Os conectores de recebimento também têm um parâmetro connectionTimeout absoluto.Receive connectors also have an absolute ConnectionTimeOut parameter.

Se qualquer uma das sessões SMTP expirar antes da cópia de sombra da mensagem ser criada com êxito e confirmada, o resultado é controlado pelo parâmetro RejectMessageOnShadowFailure no cmdlet Set-TransportConfig .If any of the SMTP sessions time out before the shadow copy of the message is successfully created and acknowledged, the result is controlled by the RejectMessageOnShadowFailure parameter on the Set-TransportConfig cmdlet. Por padrão, o valor desse parâmetro é $false , o que significa que a mensagem principal é aceita sem uma cópia de sombra sendo criada.By default, the value of this parameter is $false, which means the primary message is accepted without a shadow copy being created. Se o valor desse parâmetro for $true a mensagem principal for rejeitada com o erro transitório 451 4.4.0 .If the value of this parameter is $true the primary message is rejected with the transient error 451 4.4.0.

Se a cópia de sombra de uma mensagem for criada com êxito, mas a sessão SMTP entre o servidor de envio e o servidor primário expirar, o servidor primário aceita e processa a mensagem principal.If the shadow copy of a message is successfully created, but the SMTP session between the sending server and the primary server times out, the primary server accepts and processes the primary message. O servidor de envio fornecerá novamente a mensagem não reconhecida, mas a detecção de mensagens duplicada impedirá que os usuários da caixa de correio do Exchange vejam as mensagens duplicadas.The sending server will re-deliver the unacknowledged message, but duplicate message detection will prevent Exchange mailbox users from seeing the duplicate messages. Quando o servidor de envio reenviar a mensagem, o servidor primário criará outra cópia de sombra da mensagem.When the sending server resubmits the message, the primary server will create another shadow copy of the message. Não há relação entre as mensagens de sombra criadas durante reenvios de mensagem pelo servidor de envio.There's no relationship between the shadow messages created during message resubmissions by the sending server.

A tabela a seguir descreve os parâmetros que controlam a criação de mensagens de sombraThe following table describes the parameters that control the creation of shadow messages

FonteSource Valor padrãoDefault value DescriçãoDescription
ShadowMessagePreferenceSetting no Set-TransportConfigShadowMessagePreferenceSetting on Set-TransportConfig PreferRemote Esse parâmetro é usado somente quando o servidor primário que está tentando fazer uma cópia de sombra da mensagem é um membro de um DAG que abrange vários sites do Active Directory.This parameter is only used when the primary server that's trying to make a shadow copy of the message is a member of a DAG that spans multiple Active Directory sites.
PreferRemote : Tente fazer uma cópia de sombra da mensagem em um membro do DAG em um site do Active Directory diferente com base no número de tentativas especificado pelo parâmetro MaxRetriesForRemoteSiteShadow .PreferRemote: Try to make a shadow copy of the message on a DAG member in a different Active Directory site based on the number of attempts specified by the MaxRetriesForRemoteSiteShadow parameter. Se a operação falhar, tente fazer uma cópia de sombra da mensagem em um membro do DAG no site local do Active Directory com base no número de tentativas especificado pelo parâmetro MaxRetriesForLocalSiteShadow .If the operation fails, try make a shadow copy of the message on a DAG member in the local Active Directory site based on the number of attempts specified by the MaxRetriesForLocalSiteShadow parameter.
LocalOnly : Tente fazer uma cópia de sombra da mensagem somente em um membro do DAG no site local do Active Directory com base no número de tentativas especificado pelo parâmetro MaxRetriesForLocalSiteShadow .LocalOnly: Try to make a shadow copy of the message only on a DAG member in the local Active Directory site based on the number of attempts specified by the MaxRetriesForLocalSiteShadow parameter.
RemoteOnly : Tente fazer uma cópia de sombra da mensagem somente em um membro do DAG em um site do Active Directory diferente com base no número de tentativas especificado pelo parâmetro MaxRetriesForRemoteSiteShadow .RemoteOnly: Try to make shadow copy of the message only on a DAG member in a different Active Directory site based on the number of attempts specified by the MaxRetriesForRemoteSiteShadow parameter.
MaxRetriesForRemoteSiteShadow no Set-TransportConfigMaxRetriesForRemoteSiteShadow on Set-TransportConfig 4 4 Esse parâmetro especifica o número máximo de tentativas de criar uma cópia de sombra da mensagem em outro servidor no DAG quando o valor do parâmetro ShadowMessagePreferenceSetting for PreferRemote (o valor padrão) ou RemoteOnly .This parameter specifies the maximum number of attempts to create a shadow copy of the message on another server in the DAG when the value of the ShadowMessagePreferenceSetting parameter is PreferRemote (the default value) or RemoteOnly.

Esse parâmetro é usado somente quando o servidor de caixa de correio é um membro de um DAG que abrange vários sites do Active Directory.This parameter is only used when the Mailbox server is a member of a DAG that spans multiple Active Directory sites.

Se uma cópia de sombra da mensagem não for criada com êxito após o número especificado de tentativas, o resultado dependerá do valor do parâmetro RejectMessageOnShadowFailure :If a shadow copy of the message isn't successfully created after the specified number of attempts, the result depends of the value of the RejectMessageOnShadowFailure parameter:
$true : A mensagem principal é rejeitada com um erro transitório.$true: The primary message is rejected with a transient error.
$false : A mensagem principal é aceita mesmo assim, mas não é mantida de forma redundante.$false: The primary message is accepted anyway, but isn't redundantly persisted.
MaxRetriesForLocalSiteShadow no Set-TransportConfigMaxRetriesForLocalSiteShadow on Set-TransportConfig 2 2 Esse parâmetro especifica o número máximo de tentativas de criar uma cópia de sombra da mensagem em outro servidor de caixa de correio no site local do Active Directory quando:This parameter specifies the maximum number of attempts to create a shadow copy of the message on another Mailbox server in the local Active Directory site when:
• O servidor de caixa de correio é um membro de um DAG que abrange vários sites do Active Directory e o valor do parâmetro ShadowMessagePreferenceSetting é PreferRemote (o valor padrão) ou LocalOnly .• The Mailbox server is a member of a DAG that spans multiple Active Directory sites, and the value of the ShadowMessagePreferenceSetting parameter is PreferRemote (the default value) or LocalOnly.
• O servidor de caixa de correio é um membro de um DAG em um site do Active Directory.• The Mailbox server is a member of a DAG that's in one Active Directory site.
• O servidor de caixa de correio não é um membro de um DAG.• The Mailbox server isn't a member of a DAG.

Se uma cópia de sombra da mensagem não for criada com êxito após o número especificado de tentativas, o resultado dependerá do valor do parâmetro RejectMessageOnShadowFailure :If a shadow copy of the message isn't successfully created after the specified number of attempts, the result depends of the value of the RejectMessageOnShadowFailure parameter:
$true : A mensagem principal é rejeitada com um erro transitório.$true: The primary message is rejected with a transient error.
ò $false : a mensagem principal é aceita de qualquer modo, mas não é mantida de forma redundante.ò $false: The primary message is accepted anyway, but isn't redundantly persisted.
ConnectionInactivityTimeout em Set-ReceiveConnectorConnectionInactivityTimeout on Set-ReceiveConnector 5 minutos para conectores de recebimento no serviço de transporte em servidores de caixa de correio5 minutes for Receive connectors in the Transport service on Mailbox servers Esse parâmetro especifica o tempo máximo que uma conexão SMTP aberta com o servidor de mensagens de origem pode permanecer ociosa antes de a conexão ser fechada.This parameter specifies the maximum time that an open SMTP connection with the source messaging server can remain idle before the connection is closed. O valor desse parâmetro deve ser maior que o valor do parâmetro connectionTimeout .The value of this parameter must be greater than the value of the ConnectionTimeout parameter.
ConnectionTimeout em Set-ReceiveConnectorConnectionTimeout on Set-ReceiveConnector 10 minutos para conectores de recebimento no serviço de transporte em servidores de caixa de correio10 minutes for Receive connectors in the Transport service on Mailbox servers Esse parâmetro especifica o tempo máximo que uma conexão SMTP com o servidor de mensagens de origem pode permanecer aberto, mesmo se o servidor estiver transmitindo dados.This parameter specifies the maximum time that an SMTP connection with the source messaging server can remain open, even if the server is transmitting data. O valor desse parâmetro deve ser maior que o valor do parâmetro ConnectionInactivityTimeout.The value of this parameter must be greater than the value of the ConnectionInactivityTimeout parameter.
ConnectionInactivityTimeout em Set-SendConnectorConnectionInactivityTimeOut on Set-SendConnector 10 minutos10 minutes Esse parâmetro especifica o tempo máximo que uma conexão SMTP aberta com um servidor de mensagens de destino pode permanecer ociosa antes de a conexão ser fechada.This parameter specifies the maximum time that an open SMTP connection with a destination messaging server can remain idle before the connection is closed.

Como as mensagens de sombra são mantidasHow shadow messages are maintained

Depois que uma mensagem de sombra é criada com êxito, o trabalho da redundância de sombra apenas começou.After a shadow message is successfully created, the work of shadow redundancy has only just begun. O servidor primário e o servidor de sombra precisam permanecer em contato entre si para acompanhar o progresso da mensagem.The primary server and the shadow server need to stay in contact with each other to track the progress of the message.

Quando o servidor primário transmitir a mensagem para o próximo salto com êxito e o próximo salto confirmar o recebimento da mensagem, o servidor primário atualizará o status de descarte da mensagem como entrega concluída.When the primary server successfully transmits the message to the next hop, and the next hop acknowledges receipt of the message, the primary server updates the discard status of the message as delivery complete. O status de descarte é basicamente uma mensagem que contém uma lista de mensagens que estão sendo monitoradas.The discard status is basically a message that contains of list of messages that are being monitored. Uma mensagem entregue com êxito não precisa ser mantida em uma fila de sombra, assim, depois que o servidor de sombra sabe que o servidor primário transmitiu com êxito a mensagem para o próximo salto, o servidor de sombra move a mensagem de sombra da fila de sombra para a rede de segurança.A successfully delivered message doesn't need to be kept in a shadow queue, so once the shadow server knows the primary server has successfully transmitted the message to the next hop, the shadow server moves the shadow message from the shadow queue into Safety Net.

O servidor de sombra determina o status de descarte das mensagens de sombra em suas filas de sombra consultando o servidor primário.The shadow server determines the discard status of the shadow messages in its shadow queues by querying the primary server. Se o servidor de sombra abrir uma sessão SMTP com o servidor principal por qualquer motivo (incluindo a transmissão de outras mensagens não relacionadas), o servidor de sombra emitirá o comando XQDISCARD para determinar o status de descarte das mensagens primárias.If the shadow server opens an SMTP session with the primary server for any reason (including the transmission of other unrelated messages), the shadow server issues the XQDISCARD command to determine the discard status of the primary messages. Caso contrário, o servidor de sombra abrirá automaticamente uma sessão SMTP com o servidor primário após um intervalo de tempo pré-configurado (o parâmetro ShadowHeartbeatFrequentcy no cmdlet Set-TransportConfig ; o valor padrão é 2 minutos).Otherwise, the shadow server will automatically open an SMTP session with the primary server after a preconfigured time interval (the ShadowHeartbeatFrequentcy parameter on the Set-TransportConfig cmdlet; the default value is 2 minutes).

Depois que o servidor de sombra abre uma sessão SMTP com o servidor primário, o servidor primário responde com as notificações de descarte de mensagens que se aplicam ao servidor de sombra de consulta.After the shadow server opens an SMTP session with the primary server, the primary server responds with the discard notifications for messages that apply to the querying shadow server. As notificações de descarte são armazenadas em disco (não na memória), portanto, se o serviço de transporte do Microsoft Exchange for reiniciado, as notificações de descarte permanecerão.Discard notifications are stored on disk (not in memory) so, if the Microsoft Exchange Transport service restarts, the discard notifications persist. Após o início do serviço, o servidor primário ainda sabe sobre as mensagens que ele processou com êxito e que as informações estão disponíveis para o servidor de sombra.After the service starts, the primary server still knows about the messages it successfully processed, and that information is available to the shadow server.

A comunicação SMTP entre o servidor de sombra e o servidor primário é usada como pulsação que determina a disponibilidade dos servidores.The SMTP communication between the shadow server and the primary server is used as the heartbeat that determines the availability of the servers. Se o servidor de sombra não puder abrir uma sessão SMTP com o servidor primário após um intervalo de tempo pré-configurado (o parâmetro ShadowResubmitTimeSpan no cmdlet Set-TransportConfig ; o valor padrão é de 3 horas), o servidor de sombra se promove como servidor primário, promove as mensagens de sombra como mensagens primárias e transmite as mensagens para o próximo salto.If the shadow server can't open an SMTP session with the primary server after a preconfigured time interval (the ShadowResubmitTimeSpan parameter on the Set-TransportConfig cmdlet; the default value is 3 hours) the shadow server promotes itself as the primary server, promotes the shadow messages as primary messages, and transmits the messages to the next hop. Mas, sempre que o servidor de sombra detectar que a ID do banco de dados de fila do servidor primário foi alterada, o servidor de sombra também se promove como o servidor primário, promove as mensagens de sombra como mensagens primárias e transmite as mensagens para o próximo salto.But, whenever the shadow server detects that the queue database ID of the primary server has changed, the shadow server also promotes itself as the primary server, promotes the shadow messages as primary messages, and transmits the messages to the next hop. Isso pode acontecer bem antes que o valor do parâmetro ShadowResubmitTimeSpan tenha passado.This could happen well before the ShadowResubmitTimeSpan parameter value has passed.

Shadow Redundancy Manager é o componente principal em um servidor de caixa de correio responsável por gerenciar a redundância de sombra.Shadow Redundancy Manager is the core component on a Mailbox server that's responsible for managing shadow redundancy. O Gerenciador de redundância de sombra é responsável por manter as seguintes informações para todas as mensagens principais que um servidor está processando atualmente:Shadow Redundancy Manager is responsible for maintaining the following information for all the primary messages that a server is currently processing:

  • O servidor de sombra de cada mensagem principal que está sendo processada.The shadow server for each primary message that's being processed.

  • O status de descarte a ser enviado aos servidores de sombra.The discard status to be sent to shadow servers.

O Gerenciador de redundância de sombra é responsável pelas seguintes ações para todas as mensagens de sombra que um servidor de sombra tem em suas filas de sombra:Shadow Redundancy Manager is responsible for the following actions for all the shadow messages that a shadow server has in its shadow queues:

  • Manter a lista de servidores primários para cada mensagem de sombra.Maintaining the list of primary servers for each shadow message.

  • Comparando a ID do banco de dados original e a ID atual do banco de dados de fila onde a cópia primária da mensagem está armazenada.Comparing the original database ID and the current database ID of the queue database where the primary copy of the message is stored.

  • Verificação da disponibilidade de cada servidor primário para o qual uma mensagem de sombra é enfileirada.Checking the availability of each primary server for which a shadow message is queued.

  • Processamento de notificações de descarte de servidores primários.Processing discard notifications from primary servers.

  • Remover as mensagens de sombra das filas de sombra após todas as notificações de descarte esperadas serem recebidas.Removing the shadow messages from the shadow queues after all expected discard notifications are received.

  • Decidir quando o servidor de sombra deve se apropriar de mensagens de sombra, tornando-se um servidor principal.Deciding when the shadow server should take ownership of shadow messages, becoming a primary server.

  • Controle da mensagem de bifurcations e outras mensagens de efeito lado, como notificações de status de entrega (também conhecidas como DSNs, relatórios de falha na entrega, NDRs ou mensagens de devolução) e relatórios de diário para verificar se a cópia redundante da mensagem não é liberada até que todas as bifurcações da mensagem sejam totalmente processadas.Tracking message bifurcations and other side-effect messages like delivery status notifications (also known as DSNs, non-delivery reports, NDRs, or bounce messages) and journal reports to verify that the redundant copy of the message isn't released until all forks of the message are fully processed.

Esta tabela descreve os parâmetros que controlam como as mensagens de sombra são mantidas.This table describes the parameters that control how shadow messages are maintained.

ParâmetroParameter Valor padrãoDefault value DescriçãoDescription
ShadowHeartbeatFrequency no Set-TransportConfigShadowHeartbeatFrequency on Set-TransportConfig 2 minutos2 minutes A quantidade máxima de tempo que um servidor de sombra espera antes de abrir uma conexão SMTP com o servidor primário para verificar o status de descarte de mensagens.The maximum amount of time a shadow server waits before opening an SMTP connection to the primary server to check the discard status of messages.
ShadowResubmitTimeSpan no Set-TransportConfigShadowResubmitTimeSpan on Set-TransportConfig 3 horas3 hours Quanto tempo um servidor espera antes de decidir que um servidor primário falhou e assume a posse de mensagens de sombra na fila de sombra para o servidor primário que está inacessível.How long a server waits before deciding that a primary server has failed and assumes ownership of shadow messages in the shadow queue for the primary server that's unreachable.

Observe que um servidor de sombra também pode se promover como servidor primário antes do valor desse parâmetro quando o banco de dados de fila do servidor primário é encontrado para ter uma ID de banco de dados diferente.Note that a shadow server can also promote itself as the primary server before the value of this parameter when the queue database of the primary server is found to have a different database ID.
ShadowMessageAutoDiscardInterval no Set-TransportConfigShadowMessageAutoDiscardInterval on Set-TransportConfig 2 dias2 days Quanto tempo um servidor mantém eventos de descarte para mensagens entregues com êxito.How long a server retains discard events for successfully delivered messages. As filas de servidor primários descartam eventos até que ele seja consultado pelo servidor de sombra.A primary server queues discard events until it's queried by the shadow server. No entanto, se o servidor de sombra não consultar o servidor primário pela duração especificada nesse parâmetro, o servidor primário excluirá os eventos de descarte na fila.However, if the shadow server doesn't query the primary server for the duration specified in this parameter, the primary server deletes the queued discard events.
SafetyNetHoldTime no Set-TransportConfigSafetyNetHoldTime on Set-TransportConfig 2 dias2 days Quanto tempo as mensagens processadas com êxito são mantidas na rede de segurança.How long successfully processed messages are retained in Safety Net. As mensagens de sombra não confirmadas eventualmente expiram da rede de segurança após a soma dos valores de parâmetro SafetyNetHoldTime e MessageExpirationTimeOut no cmdlet set-TransportService .Unacknowledged shadow messages eventually expire from Safety Net after the sum of the SafetyNetHoldTime and MessageExpirationTimeout parameter values on the Set-TransportService cmdlet.
MessageExpirationTimeOut em set-TransportServiceMessageExpirationTimeout on Set-TransportService 2 dias2 days Quanto tempo uma mensagem pode permanecer em uma fila antes de expirar.How long a message can remain in a queue before it expires.

Processamento de mensagens após uma interrupçãoMessage processing after an outage

Esta tabela resume como a redundância de sombra minimiza a perda de mensagem devido a interrupções do servidor.This table summarizes how shadow redundancy minimizes message loss due to server outages. Para maior clareza, o servidor que sofreu uma interrupção é chamado de Mailbox01.For clarity, the server that had an outage is named Mailbox01.

Cenário de recuperaçãoRecovery scenario Ações executadasActions taken
O Mailbox01 volta para o modo online com um novo banco de dados de fila antes que o valor do parâmetro ShadowResubmitTimeSpan tenha passado (por padrão, 3 horas).Mailbox01 comes back online with a new queue database before the value of the ShadowResubmitTimeSpan parameter has passed (by default, 3 hours).

Este cenário pode ocorrer quando o banco de dados de fila é irrecuperável devido à corrupção de dados ou falha de hardware.This scenario can occur when the queue database is unrecoverable due to data corruption or hardware failure.
Quando a nova ID do banco de dados de fila é detectada no Mailbox01, cada servidor que tenha mensagens de sombra enfileiradas para Mailbox01 assumirá a propriedade dessas mensagens e as reenviará.When the new queue database ID is detected on Mailbox01, each server that has shadow messages queued for Mailbox01 will assume ownership of those messages and resubmit them. As mensagens são entregues em seus destinos.The messages are then delivered to their destinations.

O atraso máximo para envio de mensagem após o novo banco de dados de fila é detectado é o valor do parâmetro ShadowHeartbeatFrequency (por padrão, 2 minutos).The maximum delay for message submission after the new queue database is detected is the value of the ShadowHeartbeatFrequency parameter (by default, 2 minutes).
Mailbox01 volta online com o mesmo banco de dados depois que o valor do parâmetro ShadowResubmitTimeSpan é passado (por padrão, 3 horas).Mailbox01 comes back online with the same database after the value of the ShadowResubmitTimeSpan parameter has passed (by default, 3 hours).

Este cenário pode ocorrer após uma falha de placa de rede ou manutenção demorada no servidor.This scenario can occur after a network card failure, or time-consuming maintenance on the server.
Após o Mailbox01 voltar a ficar online, ele entregará as mensagens em suas filas, que já foram entregues pelos servidores que contêm cópias de sombra de mensagens para o Mailbox01.After Mailbox01 comes back online, it will deliver the messages in its queues, which have already been delivered by the servers that hold shadow copies of messages for Mailbox01. Isso resultará na entrega duplicada dessas mensagens.This will result in duplicate delivery of these messages. Os usuários de caixa de correio do Exchange não verão mensagens duplicadas devido à detecção de mensagens duplicadas.Exchange mailbox users won't see duplicate messages due to duplicate message detection. No entanto, os destinatários em outros sistemas de mensagens podem ver cópias duplicadas das mensagens.However, recipients on other messaging systems might see duplicate copies of messages.

O atraso máximo para envio de mensagem é o valor do parâmetro ShadowResubmitTimeSpan .The maximum delay for message submission is the value of the ShadowResubmitTimeSpan parameter.