Partilhar via


Compreender e configurar o DAX

O acesso direto trata dispositivos de memória persistente como memória endereçada por bytes para obter a menor latência, fornecendo acesso direto à memória endereçada por bytes em vez de seguir as convenções normais de E/S de bloco do sistema de arquivos. A aplicação modifica diretamente a memória persistente, evitando a sobrecarga de software da pilha de E/S. Quando usado corretamente por código com reconhecimento de DAX (ou seja, por dados de mapeamento de memória), isso pode fornecer benefícios significativos de desempenho. No entanto, o DAX tem uma série de problemas e não fornecerá benefícios significativos sem o código compatível com DAX.

No Windows Server 2019 e posterior, você só pode criar um volume DAX em uma configuração de Espaços de Armazenamento ou Espaços de Armazenamento Diretos que use um único disco de memória persistente, sem paridade e sem redundância. Você não pode usar DAX em mais de um disco de memória persistente e só pode usar DAX com NTFS.

Observação

O DAX não é suportado em ambientes locais do Azure.

DAX e tabela de conversão de blocos (BTT)

Se você não usar o DAX corretamente, há potencial para perda de dados. É altamente recomendável que use o DAX em conjunto com a tabela de tradução de blocos (BTT) para proteger contra "escritas fragmentadas" que podem ocorrer no caso de uma falha de energia ou interrupção do sistema. O BTT reduz esse risco fornecendo semântica de atualização do setor atômico para dispositivos de memória persistente, essencialmente permitindo gravações de setor semelhantes a blocos para que os aplicativos possam evitar misturar dados antigos e novos em um cenário de falha.

Embora seja recomendável habilitar o BTT na maioria dos volumes DAX para evitar sujeitar os metadados NTFS a problemas de gravação rasgados, a desvantagem do BTT é que ele pode afetar o uso de páginas de memória "grandes" e "enormes" em um volume DAX porque ocorrerão remapeamentos para operações de metadados. Se você quiser usar páginas de memória grandes e enormes para suas seções mapeadas de memória, não ative o BTT.

Criar um volume DAX usando o Windows PowerShell

Como o DAX é uma propriedade do sistema de arquivos, ele deve ser especificado ao formatar um volume NTFS.

Depois de criar um volume, use a opção -IsDax com o cmdlet Format-Volume para formatar o volume e habilitá-lo para DAX.

Format-Volume -IsDax:$true

O trecho de código a seguir cria um volume DAX em um disco de memória persistente.

# Here we use the first pmem disk to create the volume as an example
$disk = (Get-PmemDisk)[0] | Get-PhysicalDisk | Get-Disk
# Initialize the disk to GPT if it is not initialized
If ($disk.partitionstyle -eq "RAW") {$disk | Initialize-Disk -PartitionStyle GPT}
# Create a partition with drive letter 'S' (can use any available drive letter)
$disk | New-Partition -DriveLetter S -UseMaximumSize

   DiskPath: \\?\scmld#ven_8980&dev_097a&subsys_89804151&rev_0018#3&1b1819f6&0&03018089fb63494db728d8418b3cbbf549997891#{53f56307-b6
bf-11d0-94f2-00a0c91efb8b}

PartitionNumber  DriveLetter Offset                                               Size Type
---------------  ----------- ------                                               ---- ----
2                S           16777216                                        251.98 GB Basic

# Format the volume with drive letter 'S' to DAX Volume
Format-Volume -FileSystem NTFS -IsDax:$true -DriveLetter S

DriveLetter FriendlyName FileSystemType DriveType HealthStatus OperationalStatus SizeRemaining      Size
----------- ------------ -------------- --------- ------------ ----------------- -------------      ----
S                        NTFS           Fixed     Healthy      OK                    251.91 GB 251.98 GB

# Verify the volume is DAX enabled
Get-Partition -DriveLetter S | fl

UniqueId             : {00000000-0000-0000-0000-000100000000}SCMLD\VEN_8980&DEV_097A&SUBSYS_89804151&REV_0018\3&1B1819F6&0&03018089F
                       B63494DB728D8418B3CBBF549997891:WIN-8KGI228ULGA
AccessPaths          : {S:\, \\?\Volume{cf468ffa-ae17-4139-a575-717547d4df09}\}
DiskNumber           : 2
DiskPath             : \\?\scmld#ven_8980&dev_097a&subsys_89804151&rev_0018#3&1b1819f6&0&03018089fb63494db728d8418b3cbbf549997891#{5
                       3f56307-b6bf-11d0-94f2-00a0c91efb8b}
DriveLetter          : S
Guid                 : {cf468ffa-ae17-4139-a575-717547d4df09}
IsActive             : False
IsBoot               : False
IsHidden             : False
IsOffline            : False
IsReadOnly           : False
IsShadowCopy         : False
IsDAX                : True                   # <- True: DAX enabled
IsSystem             : False
NoDefaultDriveLetter : False
Offset               : 16777216
OperationalStatus    : Online
PartitionNumber      : 2
Size                 : 251.98 GB
Type                 : Basic

Próximos passos

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