DAX begrijpen en configureren
Direct Access (DAX) behandelt permanente geheugenapparaten als byteadresseerbaar geheugen om de laagste latentie te krijgen, waardoor directe toegang wordt geboden tot byte-adresseerbaar geheugen in plaats van de normale I/O-conventies voor bestandssysteemblokken te volgen. De app wijzigt het permanente geheugen rechtstreeks, waardoor de software-overhead van de I/O-stack wordt overgeslagen. Wanneer deze correct wordt gebruikt door DAX-compatibele code (dat wil gezegd door geheugentoewijzingsgegevens), kan dit aanzienlijke prestatievoordelen bieden. DAX heeft echter een aantal problemen en biedt geen aanzienlijke voordelen zonder DAX-compatibele code.
In Windows Server 2019 en hoger kunt u alleen een DAX-volume maken op een Opslagruimten- of Opslagruimten Direct-configuratie die gebruikmaakt van één permanente geheugenschijf, zonder pariteit en geen redundantie. U kunt DAX niet gebruiken op meer dan één permanente geheugenschijf en u kunt DAX alleen gebruiken met NTFS.
Notitie
DAX wordt niet ondersteund in lokale Azure-omgevingen.
DAX en blokvertalingstabel (BTT)
Als u DAX niet correct gebruikt, kan er sprake zijn van gegevensverlies. We raden u ten zeerste aan om DAX te gebruiken in combinatie met de blokvertalingstabel (BTT) om u te beschermen tegen onvolledige schrijfbewerkingen die kunnen optreden bij een stroomstoring of systeemuitval. BTT vermindert dit risico door semantiek van atomische sectorupdates te bieden voor peristente geheugenapparaten, waardoor blokachtige sectorschrijfbewerkingen kunnen uitvoeren, zodat apps kunnen voorkomen dat oude en nieuwe gegevens gemengd worden in een foutscenario.
Hoewel we aanbevelen BTT op de meeste DAX-volumes in te schakelen om te voorkomen dat de NTFS-metagegevens worden blootgesteld aan schrijfproblemen door gescheurde data, heeft BTT als nadeel dat het het gebruik van 'grote' en 'zeer grote' geheugenpagina's op een DAX-volume kan beïnvloeden omdat herallocaties optreden tijdens metagegevensbewerkingen. Als u grote en zeer grote geheugenpagina's wilt gebruiken voor uw geheugen gemapte secties, schakelt u BTT niet in.
Een DAX-volume maken met Windows PowerShell
Omdat DAX een eigenschap van het bestandssysteem is, moet deze worden opgegeven wanneer het formatteren van een NTFS-volume.
Nadat u een volume hebt gemaakt, gebruikt u de -IsDax--switch met de Format-Volume
-cmdlet om het volume op te maken waarvoor DAX is ingeschakeld.
Format-Volume -IsDax:$true
Met het volgende codefragment maakt u een DAX-volume op een permanente geheugenschijf.
# 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
Volgende stappen
Zie ook voor gerelateerde informatie: