O volume do ReFS usando o DPM fica sem resposta no Windows Server 2016

Este artigo ajuda a resolve um problema no qual o volume de DPM ou ReFS fica sem resposta em Windows Server 2016.

Aplica-se a: Windows Server 2016
Número de KB original: 4035951

Sintoma

Você observa que um volume ReFS (Sistema de Arquivos Resiliente) que usa o DPM (Gerenciamento de Proteção de Dados) fica sem resposta ou congela quando executa backups, especificamente quando o DPM emite grandes operações de clone de blocos.

Motivo

O DPM usa VHDs montados em loopback. Eles aparecem como discos normais para o sistema operacional. Portanto, esses discos são exibidos no Windows Explorer, Diskmgt e outras ferramentas de GUI. Essas ferramentas sondam periodicamente os discos para garantir que eles estejam funcionando corretamente. Isso faz com que os IOs sejam enviados para baixo da pilha de loopback para o volume ReFS. Se o volume reFS estiver ocupado, esses IOs terão que esperar. Portanto, quando o ReFS executa uma operação de longa duração, como a liberação ou uma chamada de clone de bloco grande, esses IOs terão que esperar mais. Quando esses IOs estiverem presos, a interface do usuário de Explorer ou Diskmgt não será atualizada. Como resultado, parece que os discos são pendurados ou desmontados.

Além disso, o driver de miniporto de montagem de loopback (vhdmp) começa a gerar eventos de aviso se algum IOs não for concluído dentro de 30 segundos.

Observação

Nenhuma E/S ou operação de sistema de arquivos falha durante esse processo. Todas as operações serão bem-sucedidas, e elas levarão mais tempo. Além disso, nenhum volume será desmontado. Esse problema é apenas um problema de latência de operação do sistema de arquivos, o que faz com que a interface do usuário fique presa e faça com que os drivers de porta façam log de erros.

Resolução

Esse problema é resolvido na atualização cumulativa de 18 de julho de 2017. A correção contém:

  • Três parâmetros de registro ajustáveis
  • Uma alteração de política que evita fazer descargas de volume desnecessárias, o que impede o ReFS de adicionar latência pesada aos IOs reFS em andamento.

Informações adicionais

Como definir os parâmetros ajustáveis

Importante

Antes de seguir estas etapas, verifique se você leu e implementou os três parâmetros de registro, conforme descrito no artigo do KB 4016173. Se eles não resolverem adequadamente os problemas encontrados, não desabilite esses parâmetros de registro. Esses parâmetros e os descritos nesta seção não se sobrepõem funcionalmente para que possam ser usados juntos.

Esta atualização descreve parâmetros adicionais do registro que ajudam a resolver os problemas de latência descritos na seção "Sintomas". Esses parâmetros podem ser usados em qualquer combinação.

Aviso

Problemas graves poderão ocorrer se você alterar o registro incorretamente usando o Registro Editor ou usando outro método. Esses problemas podem exigir que você reinstale o sistema operacional. A Microsoft não pode garantir que esses problemas possam ser resolvidos. Altere o registro por sua conta e risco.

Importante

  • Uma reinicialização é necessária para que essas alterações de parâmetro entrem em vigor.
  • Esses parâmetros devem ser definidos consistentemente em cada nó de um cluster de failover.

Parâmetros Tunable

Opção 1

Essa opção desabilita os pinos armazenados em cache, que foram uma das principais causas do grande conjunto de trabalho ativo.

Especifique os valores indicados na subchave a seguir:

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
  • Nome do valor: RefsDisableCachedPins
  • Definir RefsDisableCachedPins = 1
  • Tipo de valor: REG_DWORD

Opção 2

Essa opção adiciona uma heurística à lógica de ponto de verificação do ReFS, o que faz com que o ReFS faça o ponto de verificação quando a fila de exclusão atingir um determinado tamanho. Os IOs estão presos no ReFS porque a lógica de ponto de verificação ficaria presa processando uma fila de exclusão grande.

Especifique os valores indicados na subchave a seguir:

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
  • Nome do valor: RefsProcessedDeleteQueueEntryCountThreshold
  • Definir RefsProcessedDeleteQueueEntryCountThreshold = 2048
  • Tipo de valor: REG_DWORD

Observação

Definir RefsProcessedDeleteQueueEntryThreshold como valores mais baixos faz com que o ReFS faça o ponto de verificação com mais frequência. Defina o valor como 2048 e, em seguida, reduza o valor para 1024 e, em seguida, 512.

Opção 3

Grandes extensões duplicadas chamam introduzir latência no sistema, pois outras operações terão que esperar até que essas operações de longa execução sejam concluídas. Essa opção reduz o tamanho da chamada de extensões duplicadas.

Observação

O DPM definirá essa alteração de chave do registro como o valor padrão como parte da UR4, que será lançada em agosto de 2017.

Especifique os valores indicados na subchave a seguir:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Data Protection Manager\Configuration\DiskStorage
  • Nome do valor: DuplicateExtentBatchSizeinMB
  • Defina DuplicateExtentBatchSizeinMB = 100. (O padrão é 2000 [2GB]. Qualquer valor de 1 a 4095 é aceito).
  • Tipo de valor: REG_DWORD

Opção 4

Essa opção estende o TimeOutValue.

Especifique os valores indicados na subchave a seguir:

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Disk
  • Nome do valor: TimeOutValue
  • Definir TimeOutValue (em segundos) = 0x78
  • Tipo de valor: REG_DWORD

Observação

O valor padrão de TimeOutValue é 0x41 (65 decimais). 0x78 se traduz em 120 decimais.