Gerenciamento de integridade de memória persistente

Aplica-se a: Azure Stack HCI, versões 22H2 e 21H2; Windows Server 2022, Windows Server 2019, Windows Server 2016 Windows 10

Este artigo fornece informações sobre tratamento de erros e gerenciamento de integridade específico para dispositivos de memória persistente (PMem), geralmente chamado de SCM (memória de classe de armazenamento), que é um tipo de mídia não volátil que pode ser usada como armazenamento de camada superior.

Esses vídeos curtos fornecem uma visão geral do suporte do Windows para memória persistente:

Confira também Entender e implantar memória persistente.

Há suporte para dispositivos de memória persistente com drivers nativos começando em Windows Server 2016 e Windows 10 (versão 1607). Embora os dispositivos de memória persistente se comportem de forma semelhante a outros discos (HDDs e SSDs), há algumas diferenças.

Um caso de uso comum é onde dois módulos de memória persistente 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 nenhuma perda de funcionalidade ou incapacidade na criação do Pool, VD de Armazenamento. Você pode verificar o tipo de barramento executando o seguinte cmdlet:

Get-PhysicalDisk | fl

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

Exibir status de integridade de memória persistente

Esta seção descreve como exibir a status de integridade dos módulos de memória persistente. Quando você usa memória persistente, há algumas diferenças na experiência de monitoramento:

  • A memória persistente não cria contadores de desempenho do Disco Físico, portanto, você não a verá aparecer em gráficos no Windows Admin Center.
  • A memória persistente não cria dados do Storport 505, portanto, você não obterá detecção de exceção proativa.

Caso contrário, a experiência de monitoramento será a mesma de qualquer outro disco físico.

Você pode consultar a integridade de um disco de memória persistente executando os seguintes cmdlets:

Get-PmemDisk

DiskNumber Size   HealthStatus AtomicityType CanBeRemoved PhysicalDeviceIds UnsafeShutdownCount
---------- ----   ------------ ------------- ------------ ----------------- -------------------
2          252 GB Unhealthy    None          True         {20, 120}         2
3          252 GB Healthy      None          True         {1020, 1120}      0

Get-PmemDisk | Get-PhysicalDisk | select SerialNumber, HealthStatus, OperationalStatus, OperationalDetails

SerialNumber               HealthStatus OperationalStatus  OperationalDetails
------------               ------------ ------------------ ------------------
802c-01-1602-117cb5fc      Healthy      OK
802c-01-1602-117cb64f      Warning      Predictive Failure {Threshold Exceeded,NVDIMM_N Error}

Vale a pena observar que você pode obter as mesmas informações usando o Get-PhysicalDisk cmdlet e especificando o BusType como SCM:

Get-PhysicalDisk | where BusType -eq "SCM" | select SerialNumber, HealthStatus, OperationalStatus, OperationalDetails

Observação

Para localizar o local físico de um dispositivo de memória persistente especificado em um evento, na guia Detalhes do evento em Visualizador de Eventos, acesse Local eventData>. Observe que Windows Server 2016 lista o local incorreto dos dispositivos de memória persistente, mas isso é corrigido no Windows Server, versão 1709.

HealthStatus mostra se o disco de memória persistente está íntegro.

O valor UnsafeshutdownCount acompanha o número de desligamentos que podem causar perda de dados nesse disco lógico. É a soma das contagens de desligamento não seguras de todos os dispositivos de memória persistente subjacentes desse disco. Para obter mais informações sobre a status de integridade, use o Get-PmemPhysicalDevice cmdlet para encontrar informações como OperationalStatus.

Get-PmemPhysicalDevice

DeviceId DeviceType           HealthStatus OperationalStatus PhysicalLocation FirmwareRevision Persistent memory size Volatile memory size
-------- ----------           ------------ ----------------- ---------------- ---------------- ---------------------- --------------------
1020     Intel INVDIMM device Healthy      {Ok}              CPU2_DIMM_C1     102005310        126 GB                 0 GB
1120     Intel INVDIMM device Healthy      {Ok}              CPU2_DIMM_F1     102005310        126 GB                 0 GB
120      Intel INVDIMM device Healthy      {Ok}              CPU1_DIMM_F1     102005310        126 GB                 0 GB
20       Intel INVDIMM device Unhealthy    {HardwareError}   CPU1_DIMM_C1     102005310        126 GB                 0 GB

Esse cmdlet mostra qual dispositivo de memória persistente não está íntegro. O dispositivo não íntegro (DeviceId 20) corresponde ao caso no exemplo anterior. O PhysicalLocation no BIOS pode ajudar a identificar qual dispositivo de memória persistente está em estado de falha.

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

Status de Integridade do Aviso

Essa condição está presente quando você marcar a integridade de um dispositivo de memória persistente e vê que seu Status de Integridade 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 Limite de aviso violado
Causa raiz Os dispositivos de memória persistente rastreiam vários limites, como temperatura, tempo de vida de NVM e/ou tempo de vida da 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 o dispositivo de memória persistente.

As gravações em um dispositivo de memória persistente falham

Essa condição está presente quando você marcar a integridade de um dispositivo de memória persistente e vê o Status de Integridade 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/energia de backup
Causa raiz Os dispositivos de memória persistente dependem de uma fonte de alimentação de backup para sua persistência , geralmente uma bateria ou uma supercapça. 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 enquanto apenas um módulo de memória persistente for afetado. Se vários dispositivos forem afetados, haverá falha nas gravações no Espaço de Armazenamento.
O campo Status de Integridade do PhysicalDisk mostrará "Não Íntegro" para todos os dispositivos de memória persistente afetados.
Mais informações Campo OperationalStatus do objeto PhysicalDisk.
EventLog – Microsoft-Windows-ScmDisk0101/Operational
O que fazer Recomendamos fazer backup dos dados do PMem afetados. 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 deve ser resolvida (ou seja, a fonte de alimentação de serviço ou substituir o módulo de memória persistente, dependendo do problema) e o volume no módulo deve ser colocado offline e colocado online novamente ou o sistema deve ser reiniciado.

Para tornar o módulo de memória persistente utilizável no Espaços de Armazenamento novamente, use o Reset-PhysicalDisk cmdlet , que reintegra o dispositivo e inicia o processo de reparo.

O dispositivo é mostrado com uma capacidade de '0' bytes ou como um "Disco Físico Genérico"

Essa condição está presente quando um dispositivo de memória persistente é mostrado com uma capacidade de 0 bytes e não pode ser inicializado ou é exposto como um objeto "Disco Físico Genérico" sem número de série que exibe 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 O BIOS não expôs o módulo de memória persistente ao sistema operacional
Causa raiz Os dispositivos de memória persistente 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, desmapeam o módulo de memória persistente, impedindo o sistema operacional de acessá-lo e potencialmente causando outro computador marcar. Isso também pode ocorrer se o BIOS detectar que o módulo de memória persistente falhou e precisa ser substituído.
Comportamento geral O módulo de memória persistente é 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 módulo de memória persistente seja afetado).
O objeto PMem PhysicalDisk é 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 de memória persistente deve ser substituído ou higienizado, de modo que a plataforma do servidor o exponha ao sistema operacional host novamente. A substituição do dispositivo é recomendada, pois podem ocorrer mais erros não correcionáveis. A adição de um dispositivo de substituição a uma configuração de espaços de armazenamento pode ser obtida com o Add-PhysicalDisk cmdlet .

O dispositivo é mostrado como um disco RAW ou vazio após uma reinicialização

Essa condição está presente quando você marcar a integridade de um dispositivo de memória persistente e vê um Status de Integridade de Status Não Íntegro e 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 no módulo de memória persistente. Quando o sistema operacional for carregado, ele aparecerá como um novo dispositivo de memória persistente sem uma partição ou sistema de arquivos e será exibido como RAW, o que significa que ele não tem um sistema de arquivos.
Comportamento geral A memória persistente estará no 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 Espaços de Armazenamento permanecerá operacional se apenas um módulo de memória persistente for afetado).
O objeto de disco físico PMem 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 Reset-PhysicalDisk cmdlet para limpar a condição somente leitura no módulo de memória persistente afetado. Em ambientes Espaços de Armazenamento, isso também tentará reintegrar o módulo de memória persistente em Espaços de Armazenamento e iniciar o processo de reparo.

Próximas etapas

Para informações relacionadas, confira também: