Gerenciamento de integridade de memória de classe de armazenamento (NVDIMM-N) no Windows

Aplica-se a: Windows Server 2022, Windows Server 2019, Windows Server 2016 e Windows 10

Este artigo fornece aos administradores de sistema e profissionais de TI informações sobre o gerenciamento da integridade e o tratamento de erros específicos para dispositivos de memória de classe de armazenamento (NVDIMM-N) no Windows, destacando as diferenças entre a memória de classe de armazenamento e dispositivos de armazenamento tradicionais.

Se você não estiver familiarizado com o suporte do Windows para dispositivos de memória de classe de armazenamento, esses vídeos curtos fornecerão uma visão geral:

  • Usando memória não volátil (NVDIMM-N) como armazenamento em bloco no Windows Server 2016
  • Usando memória não volátil (NVDIMM-N) como armazenamento endereçável por byte no Windows Server 2016
  • Acelerando o desempenho do SQL Server 2016 com memória persistente no Windows Server 2016

Confira também Entender e implantar memória persistente em Espaços de Armazenamento Diretos.

Dispositivos de memória de classe de armazenamento NVDIMM-N compatíveis com JEDEC têm suporte no Windows com drivers nativos do Windows Server 2016 e do Windows 10 (versão 1607). Embora esses dispositivos se comportem como outros discos (HDDs e SSDs), há algumas diferenças.

Todas as condições listadas aqui devem ser ocorrências raras, mas dependem das condições em que o hardware é usado.

Os vários casos abaixo podem se referir a configurações de espaços de armazenamento. A configuração de maior interesse é quando dois dispositivos NVDIMM-N são utilizados como um cache de write-back espelhado em um espaço de armazenamento. Para definir essa configuração, confira Configurar espaços de armazenamento com um cache de write-back NVDIMM-N.

No Windows Server 2016, a GUI de Espaços de Armazenamento mostra o tipo de barramento NVDIMM N como DESCONHECIDO. Ele não tem qualquer perda de funcionalidade ou incapacidade na criação do Pool, Armazenamento VD. Você pode verificar o tipo de barramento executando o seguinte comando:

PS C:\>Get-PhysicalDisk | fl

O parâmetro BusType na saída do cmdlet mostrará corretamente o tipo de barramento como "SCM"

Verificar a integridade da memória de classe do armazenamento

Para consultar a integridade da memória de classe de armazenamento, use os seguintes comandos em uma sessão do Windows PowerShell.

PS C:\> Get-PhysicalDisk | where BusType -eq "SCM" | select SerialNumber, HealthStatus, OperationalStatus, OperationalDetails

Isso produz esta saída de exemplo:

SerialNumber HealthStatus OperationalStatus OperationalDetails
802c-01-1602-117cb5fc Íntegros OK
802c-01-1602-117cb64f Aviso Falha preditiva {Limite excedido, erro de NVDIMM_N}

Observação

Para encontrar a localização física de um dispositivo NVDIMM N especificado em um evento, na guia Detalhes do evento no Visualizador de Eventos, acesse EventData>Local. Observe que o Windows Server 2016 lista o local incorreto dos dispositivos de NVDIMM-N, mas isso foi corrigido no Windows Server, versão 1709.

Para ajudar a entender as várias condições de integridade, confira as seções a seguir.

Status de integridade de "Aviso"

Esta condição é quando você verifica a integridade de um dispositivo de memória de classe de armazenamento e vê que o status de integridade dele está listado como Aviso, conforme mostrado nesta saída de exemplo:

SerialNumber HealthStatus OperationalStatus OperationalDetails
802c-01-1602-117cb5fc Íntegros OK
802c-01-1602-117cb64f Aviso Falha preditiva {Limite excedido, erro de NVDIMM_N}

A tabela a seguir lista algumas informações sobre essa condição.

Direcionamento Descrição
Condição provável Violação do limite de aviso de NVDIMM-N
Causa raiz Os dispositivos NVDIMM-N controlam vários limites, como temperatura, tempo de vida de NVM e/ou tempo de vida de fonte de energia. Quando um desses limites é excedido, o sistema operacional é notificado.
Comportamento geral O dispositivo permanece totalmente operacional. Este é um aviso, não um erro.
Comportamento dos Espaços de Armazenamento O dispositivo permanece totalmente operacional. Este é um aviso, não um erro.
Mais informações Campo OperationalStatus do objeto PhysicalDisk. EventLog – Microsoft-Windows-ScmDisk0101/Operational
O que fazer Dependendo do limite de aviso violado, pode ser prudente substituir todo ou algumas partes do NVDIMM-N. Por exemplo, se o limite de tempo de vida NVM for ultrapassado, faz sentido substituir o NVDIMM-N.

Falha ao gravar um NVDIMM-N

Esta condição ocorre quando você verifica a integridade de um dispositivo de memória de classe de armazenamento e vê que o status de integridade está listado como Não íntegro e o status operacional menciona um Erro de E/S, conforme mostrado nesta saída de exemplo:

SerialNumber HealthStatus OperationalStatus OperationalDetails
802c-01-1602-117cb5fc Íntegros OK
802c-01-1602-117cb64f Unhealthy {Metadados obsoletos, erro de E/S, erro temporário} {Perda da persistência de dados, perda de dados, NV...}

A tabela a seguir lista algumas informações sobre essa condição.

Direcionamento Descrição
Condição provável Perda de persistência/alimentação de backup
Causa raiz Os dispositivos NVDIMM-N dependem de uma fonte de alimentação de backup para sua persistência, normalmente uma bateria ou supercapacitor. Se essa fonte de alimentação de backup não estiver disponível ou o dispositivo não puder executar um backup por algum motivo (erro de controlador/Flash), os dados estarão em risco e o Windows impedirá gravações adicionais nos dispositivos afetados. Ainda é possível realizar leituras para remover dados.
Comportamento geral O volume NTFS será desmontado.
O campo de status de integridade do PhysicalDisk mostrará "Não íntegro" para todos os dispositivos NVDIMM-N afetados.
Comportamento dos Espaços de Armazenamento O Espaço de Armazenamento permanecerá operacional contanto que apenas um NVDIMM-N seja afetado. Se vários dispositivos forem afetados, haverá falha nas gravações no Espaço de Armazenamento.
O campo de status de integridade do PhysicalDisk mostrará "Não íntegro" para todos os dispositivos NVDIMM-N afetados.
Mais informações Campo OperationalStatus do objeto PhysicalDisk.
EventLog – Microsoft-Windows-ScmDisk0101/Operational
O que fazer É recomendável fazer o backup dos dados afetados do NVDIMM-N. Para obter acesso de leitura, você pode manualmente colocar o disco online (a sua superfície será como um volume NTFS somente leitura).

Para limpar totalmente essa condição, a causa raiz deverá ser resolvida (ou seja, ligar a fonte de alimentação ou substituir o NVDIMM-N, dependendo do problema) e o volume no NVDIMM-N deverá ser colocado offline e online novamente ou o sistema deverá ser reiniciado.

Para tornar o NVDIMM-N utilizável novamente em Espaços de Armazenamento, use o cmdlet Reset-PhysicalDisk, que reintegra o dispositivo e inicia o processo de reparo.

O NVDIMM-N é mostrado com uma capacidade de '0' bytes ou como um "Disco físico genérico"

Esta condição é quando um dispositivo de memória de classe de armazenamento é mostrado com uma capacidade de 0 bytes e não pode ser inicializado ou é exposto como um objeto de "Disco físico genérico" com um status operacional de Comunicação Perdida, conforme mostrado nesta saída de exemplo:

SerialNumber HealthStatus OperationalStatus OperationalDetails
802c-01-1602-117cb5fc Íntegros OK
Aviso Comunicação perdida

A tabela a seguir lista algumas informações sobre essa condição.

Direcionamento Descrição
Condição provável A BIOS não expôs o NVDIMM-N para o sistema operacional
Causa raiz Os dispositivos NVDIMM-N são baseados em DRAM. Quando um endereço DRAM corrompido é referenciado, a maioria das CPUs iniciará uma verificação de máquina e reiniciará o servidor. Algumas plataformas de servidor em seguida mapeiam o NVDIMM, impedindo que o sistema operacional o acesse e possivelmente causando outra verificação de máquina. Isso também pode ocorrer se a BIOS detectar que o NVDIMM-N falhou e precisa ser substituído.
Comportamento geral O NVDIMM-N é mostrado como não inicializado, com uma capacidade de 0 bytes e não pode ser lido ou gravado.
Comportamento dos Espaços de Armazenamento O Espaço de Armazenamento permanece operacional (desde que apenas um NVDIMM-N seja afetado).
O Objeto PhysicalDisk do NVDIMM-N é mostrado com um Status de Integridade de Aviso e como um "Disco físico geral"
Mais informações Campo OperationalStatus do objeto PhysicalDisk.
EventLog – Microsoft-Windows-ScmDisk0101/Operational
O que fazer O dispositivo NVDIMM-N deve ser substituído ou limpo, de forma que a plataforma de servidor o exponha para o sistema operacional de host novamente. Recomenda-se substituir o dispositivo, pois poderão ocorrer erros incorrigíveis adicionais. Pode-se adicionar um dispositivo de substituição a uma configuração de espaços de armazenamento com o cmdlet Add-Physicaldisk.

O NVDIMM-N é mostrado como RAW ou disco vazio após uma reinicialização

Esta condição é quando você verifica a integridade de um dispositivo de memória de classe de armazenamento e vê o status de integridade como Não Íntegro e o status operacional de Metadados Não Reconhecidos, conforme mostrado nesta saída de exemplo:

SerialNumber HealthStatus OperationalStatus OperationalDetails
802c-01-1602-117cb5fc Íntegros OK {Desconhecido}
802c-01-1602-117cb64f Unhealthy {Metadados não reconhecidos, metadados obsoletos} {Desconhecido}

A tabela a seguir lista algumas informações sobre essa condição.

Direcionamento Descrição
Condição provável Falha de backup/restauração
Causa raiz Uma falha no procedimento de backup ou restauração provavelmente resultará na perda de todos os dados do NVDIMM-N. Quando o sistema operacional for carregado, ele será exibido como um novo NVDIMM-N sem uma partição ou sistema de arquivos e uma superfície como RAW, o que significa que ele não tem um sistema de arquivos.
Comportamento geral O NVDIMM-N estará em modo somente leitura. É necessária uma ação explícita do usuário para começar a usá-lo novamente.
Comportamento dos Espaços de Armazenamento Os Espaços de Armazenamento permanecem operacionais se apenas um NVDIMM for afetado.
O objeto de disco físico NVDIMM-N será mostrado com o Status de Integridade "Não íntegro" e não é usado por Espaços de Armazenamento.
Mais informações Campo OperationalStatus do objeto PhysicalDisk.
EventLog – Microsoft-Windows-ScmDisk0101/Operational
O que fazer Se o usuário não quiser substituir o dispositivo afetado, ele poderá usar o cmdlet Reset-PhysicalDisk para limpar a condição somente leitura no NVDIMM-N afetado. Em ambientes de Espaços de Armazenamento, isso também tentará reintegrar o NVDIMM-N ao Espaço de Armazenamento e iniciar o processo de reparo.

Conjuntos intercalados

Os conjuntos intercalados com frequência podem ser criados na BIOS de uma plataforma para fazer vários dispositivos NVDIMM-N aparecerem como um único dispositivo para o sistema operacional do host.

O Windows Server 2016 e o Windows 10 Anniversary Edition não oferecem suporte a conjuntos intercalados de NVDIMM-Ns.

No momento da criação deste artigo, não há nenhum mecanismo para o sistema operacional do host identificar corretamente NVDIMM-Ns individuais nesses conjuntos e comunicar claramente ao usuário que determinado dispositivo pode ter causado um erro ou precisa ser reparado.