Um backlog é relatado para um membro do Read-Only DFSR depois de remover um filtro de arquivo de replicação
Este artigo fornece uma solução para um problema em que um backlog é relatado para um membro Read-Only depois que você remove um filtro de arquivo de replicação.
Aplica-se a: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Número de KB original: 4021676
Sintomas
Considere o seguinte cenário:
- Você está executando o Windows Server 2019, Windows Server 2016 ou Windows Server 2012 R2.
- O sistema usa o DFSR (Distributed File System Replication) e inclui Read-Only pastas replicadas.
- Você está prestando dados independentemente do filtro de replicação de DFSR Leitura/Gravação para Read-Only candidatos membros. Portanto, os arquivos que estão no conjunto de filtros agora existem em todos os membros.
- Após a replicação inicial, você remove um filtro de arquivo de replicação.
- Quando os membros do DFSR detectam a alteração do filtro, todos eles executam uma pesquisa dirWalkerTask para obter conteúdo.
- Em um membro do Read-Only, esse processo cria uma UID para o objeto de arquivo e incrementa o GVSN (número de sequência de versão global) do vetor de versão. No entanto, a alteração local não é propagada.
- O parceiro de leitura/gravação cria sua própria UID para o mesmo arquivo e o membro Read-Only detecta um conflito de nomes.
- Por resolução de conflito padrão, a versão local mais recente do arquivo é selecionada. O membro Read-Only relata que a versão local domina e subsume a atualização do parceiro de leitura/gravação.
- O membro Read-Only incrementa seu GVSN e gera uma lápide para a UID do parceiro de leitura/gravação. No entanto, nenhuma alteração é propagada.
Nesse cenário, um backlog é relatado do membro Read-Only para o parceiro de leitura/gravação porque o serviço DFSR tem duas alterações locais que não são replicadas para seu parceiro. A primeira entrada de relatório é para a alteração local quando o DFSR apresenta o arquivo como um novo objeto. A segunda entrada é criada quando o DFSR gera uma lápide para a versão do arquivo do parceiro De leitura/gravação que perdeu a resolução de conflitos. Ele faz isso excluindo essa versão do arquivo.
Observação
Quando o mesmo arquivo é alterado posteriormente no membro Leitura/Gravação, o membro Read-Only reutiliza o registro de lápide em seu banco de dados relatando-o como "Versão remota domina" e fornecendo sua própria versão UID. Essa ação gera o evento de conflito 4412. Além disso, o membro Read-Only limpa seu backlog.
Motivo
Este é o comportamento padrão. O membro Read-Only aplica o mecanismo padrão de resolução de conflitos ao novo conteúdo de replicação se um filtro for removido e o conteúdo existente precisar ser integrado ao DFSR.
Resolução
Na maioria das circunstâncias, você pode ignorar com segurança os backlogs relatados no membro do Read-Only do DFSR para a direção do parceiro de leitura/gravação. Isso ocorre porque um membro Read-Only não se destina a ter alterações reais.
Se apenas alguns arquivos forem afetados, considere fazer alterações genéricas nos arquivos no membro leitura/gravação.
Geralmente, uma sincronização inicial é necessária para que o membro Read-Only remova esse backlog.
Mais informações
Quando você usa scripts Windows PowerShell e o Get-DfsrBacklog
cmdlet para criar uma visão geral para várias configurações do DFSR, talvez você queira considerar a seguinte lógica para excluir saídas de backlog de membros Read-Only para seus parceiros:
#variables for checking multiple DFSR setups, may be different in your existing script
$RGName="ReplicationGroupName"
$RFName="ReplicatedFolderName"
$SMem="SendingMember"
$RMem="ReceivingMember"
#new variable for the DFSR subcription for the RF, containing the value/attribute "ReadOnly"; obtained by Get-DfsrMembership
$DfsrSubscription=Get-DfsrMembership -Groupname $RGName -Computername $SMem | Where-object {$_.foldername -eq $RFName}
#now gather only the Backlog output, when the senders configuration for this RF is not Read-only
if ($DfsrSubscription.ReadOnly -eq 0)
{
Get-DfsrBacklog -Groupname $RGName -Foldername $RFName -SourceComputerName $SMem -DestinationComputerName $RMem -verbose
}
else
{
Write-Host "Backlog detection skipped because Sending Member ($SMem) is Read-only for this RF ($RFName)"
}
Resultado: Em vez da saída de backlog do membro Read-Only, agora você verá a seguinte entrada de relatório:
Detecção de backlog ignorada porque o Membro de Envio (SendingMember) é Read-Only para este RF (ReplicadFolderName)
Observação
Mesmo após a liberação do backlog inicial, Read-Only membros poderão mostrar novamente um backlog de atualizações após algum tempo. Se essas atualizações forem lápides de vetor de versão (também conhecidas como VersionVectorTombstones), você poderá ignorá-las. Essas atualizações não incluem alterações reais. Um membro Read-Only gera atualizações de lápide de vetor de versão nas seguintes condições:
- Quando ele detecta e marca GUIDs de banco de dados obsoletos (GcTask::GcStaleDbGuids)
- Quando ele sinaliza aos parceiros de replicação que ele está vivo e aguardando atualizações (GcTask::GcSendDbKeepAlive)
Para obter mais informações sobre essas funções, consulte A UID das lápides de vetor de versão no Processamento Atualizações.
Essas atualizações genéricas aumentam os números de sequência de versão (e, portanto, alteram o vetor da cadeia de versões do GVSN) no membro Read-Only. No entanto, o membro Read-Only nunca compartilha essas atualizações com seus parceiros de replicação, portanto, as atualizações nunca são rastreadas usando o vetor de versão global nos outros membros. Portanto, uma contagem de backlogs mostra um delta visível entre o membro Read-Only e seus parceiros de replicação.
Para impedir que essas atualizações gerem dados confusos, os scripts que coletam dados de backlog devem excluir Read-Only membros.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários