Comprendere e configurare DAX
Si applica a: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows 10
L'accesso diretto (DAX) considera i dispositivi di memoria persistente come memoria indirizzabile in byte per ottenere la latenza più bassa, fornendo l'accesso diretto alla memoria indirizzabile in byte anziché seguendo le normali convenzioni di I/O del blocco del file system. L'app modifica direttamente la memoria persistente, ignorando il sovraccarico software dello stack di I/O. Se usato correttamente dal codice compatibile con DAX, ovvero dai dati di mapping della memoria, ciò può offrire vantaggi significativi in termini di prestazioni. Tuttavia, DAX presenta diversi problemi e non offre vantaggi significativi senza codice compatibile con DAX.
In Windows Server 2019 e versioni successive è possibile creare un volume DAX solo in una configurazione Archiviazione Spaces o Spazi di archiviazione diretta che usa un singolo disco di memoria persistente, senza parità e senza ridondanza. Non è possibile usare DAX in più dischi di memoria persistente e è possibile usare DAX solo con NTFS.
Nota
DAX non è supportato in ambienti Azure Stack HCI.
Tabella di conversione daX e blocco (BTT)
Se non si usa CORRETTAMENTE DAX, è possibile che si verifichi una perdita di dati. È consigliabile usare DAX in combinazione con la tabella BTT (Block Translation Table) per proteggersi da "scritture strappate" che possono verificarsi in caso di interruzione dell'alimentazione o interruzione del sistema. BTT riduce questo rischio fornendo semantica di aggiornamento del settore atomico per i dispositivi di memoria persistente, essenzialmente abilitando scritture di settore simili a blocchi in modo che le app possano evitare di combinare dati obsoleti e nuovi in uno scenario di errore.
Anche se è consigliabile abilitare BTT nella maggior parte dei volumi DAX per evitare di sottoporre i metadati NTFS a problemi di scrittura in modo non troncato, lo svantaggio di BTT è che può influire sull'utilizzo di pagine di memoria "grandi" e "enormi" in un volume DAX perché si verificheranno il mapping per le operazioni sui metadati. Se si desidera utilizzare pagine di memoria grandi e grandi per le sezioni mappate alla memoria, non attivare BTT.
Creare un volume DAX usando Windows PowerShell
Poiché DAX è una proprietà del file system, deve essere specificata durante la formattazione di un volume NTFS.
Dopo aver creato un volume, usare l'opzione -IsDax con il Format-Volume
cmdlet per formattare il volume da abilitare per DAX.
Format-Volume -IsDax:$true
Il frammento di codice seguente crea un volume DAX in un disco di memoria 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
Passaggi successivi
Per informazioni correlate, vedere anche: