Gestão persistente da saúde da memória

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

Este artigo fornece informações sobre o manuseamento de erros e a gestão da saúde específicas para dispositivos de memória persistente (PMem), muitas vezes chamados de memória de classe de armazenamento (SCM), que é um tipo de meio de comunicação não volátil que pode ser usado como armazenamento de topo.

Estes pequenos vídeos fornecem uma visão geral do suporte de Windows para memória persistente:

Consulte também compreender e implementar memória persistente.

Os dispositivos de memória persistentes são suportados com condutores nativos a partir de Windows Server 2016 e Windows 10 (versão 1607). Embora os dispositivos de memória persistentes se comportem semelhantes a outros discos (HDDs e SSDs), existem algumas diferenças.

Um caso de uso comum é onde dois módulos de memória persistentes são usados como uma cache espelhada de write-back em um espaço de armazenamento. Para definir tal configuração, veja Configuring Storage Spaces with a NVDIMM-N write-back cache (Configurar Espaços de Armazenamento com uma cache de write-back do NVDIMM-N).

Em Windows Server 2016, o GUI Espaços de Armazenamento mostra o tipo de ônibus NVDIMM-N como DESCONHECIDO. Não tem nenhuma perda de funcionalidade ou incapacidade na criação de Pool, Armazenamento VD. Pode verificar o tipo de autocarro executando o seguinte cmdlet:

Get-PhysicalDisk | fl

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

Ver estado de saúde da memória persistente

Esta secção descreve como visualizar o estado de saúde dos seus módulos de memória persistentes. Quando se utiliza a memória persistente, existem algumas diferenças na experiência de monitorização:

  • A memória persistente não cria contadores de desempenho do Disco Físico, pelo que não o verá aparecer em gráficos no Windows Centro de Administração.
  • A memória persistente não cria dados Storport 505, por isso não terás uma deteção proactiva.

Caso contrário, a experiência de monitorização é a mesma que em qualquer outro disco físico.

Pode consultar a saúde 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 notar que 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

Nota

Para encontrar a localização física de um dispositivo de memória persistente especificado num evento, no separador Detalhes do evento no Visualizador de Eventos, vá ao EventDataLocation. Note que Windows Server 2016 lista a localização incorreta dos dispositivos de memória persistentes, mas esta é corrigida no Windows Server, versão 1709.

HealthStatus mostra se o disco de memória persistente é saudável.

O valor UnsafeshutdownCount rastreia o número de paralisações que podem causar perda de dados neste disco lógico. É a soma das contagens de paragem inseguras de todos os dispositivos de memória persistentes subjacentes deste disco. Para obter mais informações sobre o estado de saúde, utilize o Get-PmemPhysicalDevice cmdlet para encontrar informações como Get-PmemPhysicalDevice.

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

Este cmdlet mostra qual o dispositivo de memória persistente que não é saudável. O dispositivo pouco saudável(DeviceId 20) corresponde ao caso no exemplo anterior. A PhysicalLocation in BIOS pode ajudar a identificar que dispositivo de memória persistente está em estado de avaria.

Para ajudar a compreender as várias condições de estado de funcionamento, veja as secções seguintes.

Estado de Saúde de Aviso

Esta condição está presente quando verifica a saúde de um dispositivo de memória persistente e vê se o seu Estado de Saúde está listado como Aviso,como mostrado nesta saída de exemplo:

SerialNumber HealthStatus OperationalStatus OperationalDetails
802c-01-1602-117cb5fc Bom estado de funcionamento OK
802c-01-1602-117cb64f Aviso Falha Preditiva {Limiar ultrapassado,NVDIMM_N Erro}

A tabela que se segue lista algumas informações sobre esta condição.

Rumo Description
Condição provável Limiar de aviso violado
Causa Raiz Os dispositivos de memória persistentes rastreiam vários limiares, tais como temperatura, vida útil da NVM e/ou vida útil da fonte de energia. Quando um desses limiares é excedido, o sistema operativo é notificado.
Comportamento geral O dispositivo permanece totalmente operacional. Este é um aviso, não um erro.
Comportamento de 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/Operacional
O que fazer Dependendo do limiar de aviso violado, pode ser prudente substituir o dispositivo de memória persistente.

Escreve para um dispositivo de memória persistente falha

Esta condição está presente quando verifica a saúde de um dispositivo de memória persistente e vê o Estado de Saúde listado como Insalubre, e o Estado Operacional menciona um Erro de IO,como mostrado nesta saída de exemplo:

SerialNumber HealthStatus OperationalStatus OperationalDetails
802c-01-1602-117cb5fc Bom estado de funcionamento OK
802c-01-1602-117cb64f Mau estado de funcionamento {Metadados Obsoletos, Erro de E/S, Erro Transitório} {Persistência de Dados Perdidos, Dados Perdidos, NV…}

A tabela que se segue lista algumas informações sobre esta condição.

Rumo Description
Condição provável Perda de persistência / poder de reserva
Causa Raiz Os dispositivos de memória persistentes dependem de uma fonte de energia de back-up para a sua persistência – normalmente uma bateria ou uma super-tampa. Se esta energia de reserva estiver indisponível ou se o dispositivo não puder, por qualquer motivo, realizar uma cópia de segurança (Erro de Controlador/Flash), os dados estarão em risco e o Windows impedirá qualquer escrita adicional nos dispositivos afetados. As leituras ainda são possíveis para evacuar dados.
Comportamento geral O volume NTFS será desmontado.
O campo De Estado de Saúde PhysicalDisk mostrará "Insalubre" para todos os dispositivos NVDIMM-N afetados.
Comportamento de Espaços de Armazenamento Armazenamento Espaço permanecerá operacional enquanto apenas um módulo de memória persistente for afetado. Se forem afetados vários dispositivos, a escrita no Espaço de Armazenamento falhará.
O campo PhysicalDisk Health Status mostrará "Insalubre" para todos os dispositivos de memória persistentes afetados.
Mais informações Campo OperationalStatus do objeto PhysicalDisk.
EventLog – Microsoft-Windows-ScmDisk0101/Operacional
O que fazer Recomendamos o apoio dos dados do PMem afetados. Para obter acesso de leitura, pode colocar o disco online manualmente (este aparecerá como volume NTFS só de leitura).

Para limpar totalmente esta condição, a causa raiz deve ser resolvida (isto é, alimentação de serviço ou substituição do módulo de memória persistente, dependendo do problema) e o volume do módulo deve ser desligado e colocado on-line novamente, ou o sistema deve ser reiniciado.

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

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

Esta 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 apresenta um Estado Operacional da Comunicação Perdida,como mostra a saída deste exemplo:

SerialNumber HealthStatus OperationalStatus OperationalDetails
802c-01-1602-117cb5fc Bom estado de funcionamento OK
Aviso Comunicação Perdida

A tabela que se segue lista algumas informações sobre esta condição.

Rumo Description
Condição provável BioS não expôs módulo de memória persistente ao SO
Causa Raiz Os dispositivos de memória persistentes são baseados em DRAM. Quando um endereço DRAM danificado é referenciado, a maioria das CPUs iniciará uma verificação do computador e reiniciará o servidor. Algumas plataformas de servidor então desaplam o módulo de memória persistente, impedindo o SO de aceder ao mesmo e potencialmente causando outra verificação da máquina. Isto também pode ocorrer se o BIOS detetar que o módulo de memória persistente falhou e precisa de ser substituído.
Comportamento geral O módulo de memória persistente é mostrado como não ininitializado, com uma capacidade de 0 bytes e não pode ser lido ou escrito.
Comportamento de Espaços de Armazenamento Armazenamento O Espaço permanece operacional (desde que apenas um módulo de memória persistente seja afetado).
O objeto PMem PhysicalDisk é mostrado com um Estado de Saúde de Advertência e como um "Disco Físico Geral"
Mais informações Campo OperationalStatus do objeto PhysicalDisk.
EventLog – Microsoft-Windows-ScmDisk0101/Operacional
O que fazer O dispositivo de memória persistente deve ser substituído ou higienizado, de modo a que a plataforma do servidor o exponha novamente ao os hospedeiro. Recomenda-se a substituição do dispositivo, uma vez que podem ocorrer mais erros incorríveis. A adição de um dispositivo de substituição a uma configuração de espaços de armazenamento pode ser alcançada com o Add-PhysicalDisk cmdlet.

O dispositivo é apresentado como um disco RAW ou vazio após um reboot

Esta condição está presente quando verifica a saúde de um dispositivo de memória persistente e vê um Estado de Saúde de Metadados Não Reconhecidose Não Reconhecidos, como mostra a saída deste exemplo:

SerialNumber HealthStatus OperationalStatus OperationalDetails
802c-01-1602-117cb5fc Bom estado de funcionamento OK {Desconhecido}
802c-01-1602-117cb64f Mau estado de funcionamento {Metadados Não Reconhecidos, Metadados Obsoletos} {Desconhecido}

A tabela que se segue lista algumas informações sobre esta condição.

Rumo Description
Condição provável Falha de Cópia de Segurança/Restauro
Causa raiz Uma falha no procedimento de backup ou restauro resultará provavelmente em todos os dados do módulo de memória persistente a perder. Quando o sistema operativo estiver carregado, aparecerá como um novo dispositivo de memória persistente sem uma partição ou sistema de ficheiros e superfície como RAW, o que significa que não tem um sistema de ficheiros.
Comportamento geral A memória persistente estará apenas no modo de leitura. É necessária uma ação do utilizador explícita para começar a utilizá-lo novamente.
Comportamento de Espaços de Armazenamento Espaços de Armazenamento permanece operacional se apenas um módulo de memória persistente for afetado).
O objeto de disco físico PMem será mostrado com o Estado de Saúde "Insalubre" e não é utilizado por Espaços de Armazenamento.
Mais informações Campo OperationalStatus do objeto PhysicalDisk.
EventLog – Microsoft-Windows-ScmDisk0101/Operacional
O que fazer Se o utilizador não quiser substituir o dispositivo afetado, pode utilizar o Reset-PhysicalDisk cmdlet para limpar a condição de leitura apenas no módulo de memória persistente afetado. Em ambientes Espaços de Armazenamento, isto também tentará reintegrar o módulo de memória persistente em Espaços de Armazenamento e iniciar o processo de reparação.

Passos seguintes

Para obter informações relacionadas, consulte também: