PowerEdge: Configurando o NVDIMM-N com o Windows Server 2019
Summary: Este artigo fornece excelentes informações sobre como a memória persistente (NVDIMM) funciona e como configurar o NVDIMM em um servidor PowerEdge com Windows Server 2019.
Instructions
Este artigo explica a memória persistente (NVDIMM) e sua configuração em um servidor PowerEdge com Windows Server 2019. O NVDIMM retém dados durante a perda de energia. A Dell EMC introduziu o suporte para NVDIMM-N a partir de sua 14ª geração de servidores PowerEdge. A Microsoft oferece suporte a NVDIMM-N. NVDIMM-N no Windows Server 2016 e 2019 se encaixa em um slot DIMM padrão, colocando os dados mais perto do processador, reduzindo a latência e impulsionando o desempenho com novos recursos
O NVDIMM-N no Windows Server 2016 e 2019 usa um slot DIMM padrão, colocando os dados mais perto do processador, reduzindo a latência e maximizando o desempenho com novos recursos"
Figura 1 - Memória do BIOS - Configuração da memória persistente
Visão geral da arquitetura do driver NVDIMM:
Há dois tipos de objetos de dispositivo relacionados à memória persistente no Windows: NVDIMMs físicos e discos de memória persistente lógica. No Gerenciador de dispositivos, os NVDIMMs físicos aparecem em "Dispositivos de memória", enquanto os discos lógicos estão em "Discos de memória persistente". A captura de tela abaixo mostra um sistema com 2 NVDIMMs:
Figura 2 – Gerenciador de dispositivos
O driver de nvdimm.sys controla todos os dispositivos NVDIMM-N, enquanto o driver de pmem.sys controla os discos lógicos. Ambos os drivers são os mesmos para todos os tipos de memória persistente, como NVDIMM-N e AEPs.
scmbus.sys cria os dois tipos de objetos de dispositivo, o driver de barramento para memória persistente. Você pode encontrar o objeto do driver de barramento no Gerenciador de dispositivos em "Dispositivos do sistema".
Comportamento do NVDIMM-N quando a bateria não está adequada ou está configurada como "Somente leitura" no BIOS:
Quando uma bateria não está funcionando ou o NVDIMM-N é configurado como "somente leitura" no BIOS, o sistema operacional não torna o disco PMEM somente leitura e não interrompe as operações de gravação em andamento. Por padrão, o Windows permite o acesso de leitura/gravação ao disco, mas todos os dados gravados são perdidos após uma reinicialização.
Se o usuário precisar tornar o NVDIMM como somente leitura quando a bateria não estiver adequada ou tiver sido configurada como "Somente leitura" no BIOS, a configuração abaixo deverá ser feita no registro do SO:
"HKLM\System\CurrentControlSet\Services\pmem\ReadOnlyOnPersistenceLoss (REG_DWORD): diferente de zero para torná-lo somente leitura na perda de resiliência do aplicativo"
Novos recursos com o WS 2019
1. Suporte a rótulos e gerenciamento de
namespaceCom o WS 2019, o sistema operacional é compatível com o gerenciamento de rótulos e namespaces. Quando o NVDIMM for exposto ao SO pela primeira vez ou após a redefinição de fábrica/eliminação segura, o namespace não será criado por padrão. Os usuários devem criar o namespace antes de usá-lo como dispositivo de armazenamento. O usuário pode usar os comandos abaixo para gerenciar o namespace do NVDIMM.
Figura 3 – Cmdlets
PMEM PowerShell disponíveisExemplos:
Figura 4 - Lista regiões não utilizadas PMEM, dispositivos físicos PMEM e discos

PMEMFigura 5 – Listar/remover disco
PMEM
---------------------------------Cmdlets
do PowerShell---------------------------------
#Get-PmemDisk
- Retornar um ou mais discos de memória persistente lógica
- O objeto retornado tem informações sobre tamanho, tipo de atomicidade, status de integridade e dispositivos físicos subjacentes
#Get-PmemPhysicalDevice
- Devolver um ou mais dispositivos de memória persistente física (NVDIMMs)
- O objeto retornado tem informações sobre tamanhos, RFIC, localização do dispositivo e integridade ou status operacional
#New-PmemDisk
- Cria um novo disco a partir de uma determinada região não utilizada
- Grava os rótulos para criar o namespace e recria as pilhas de SCM para expor o novo dispositivo lógico
- Parâmetros opcionais:
- FriendlyName dá ao disco de memória persistente um nome amigável. O padrão é "PmemDisk <N>"
- AtomicityType permite que você defina BTT. O padrão é "nenhum".
#Remove-PmemDisk
- Remove o disco de memória persistente fornecido. Ele aceita a saída de Get-PmemDisk
- Exclui os rótulos do namespace e, em seguida, recria as pilhas de SCM para remover o dispositivo lógico
- Requer confirmação do usuário, que pode ser substituída por -Force
#Get-PmemUnusedRegion
- Retorna regiões pmem agregadas disponíveis para provisionamento de um dispositivo lógico
- O objeto retornado tem um ID de região exclusivo, tamanho total e lista de dispositivos físicos que contribuem para a região não utilizada
#Initialize-PmemPhysicalDevice
- Grava zeros na área de armazenamento de rótulos, grava novos blocos de índice de rótulos e, em seguida, recria as pilhas de SCM [memória de classe de armazenamento] para refletir as alterações
- Requer confirmação do usuário, que pode ser substituída por -Force
- Esse cmdlet destina-se a ser um mecanismo de recuperação de "martelo grande". Não é recomendado para uso normal
2. Intercalação
de nós do NVDIMM-NO WS 2019 oferece o recurso de intercalação de nós do NVDIMM-N, que aprimora ainda mais o desempenho do NVDIMM-N com vários aplicativos. Ative "NVDIMM Interleave" no BIOS do sistema em Memory Settings. Certifique-se de que cada CPU tenha um número par (≥ 2) de módulos NVDIMM-N disponíveis.
Depois de ativar este sistema operacional, ele vê um dispositivo físico diferente, mas expõe um único disco lógico em "Discos de memória persistente"
Figura 6 - NVDIMM - PMEM Intercalando no Gerenciador de dispositivos
Figura 7
3. Agora, o NVDIMM-N pode ser exposto a VMs do Hyper-V.
Com o WS2019, o NVDIMM pode ser exposto diretamente às VMs do Hyper-V. Obtenha mais detalhes aqui.