Sdílet prostřednictvím


Pochopení a konfigurace DAX

Přímý přístup (DAX) zachází s trvalými paměťovými zařízeními jako s pamětí adresovatelnou po bajtech pro dosažení nejnižší latence a poskytuje přímý přístup k bajtově adresovatelné paměti, aniž by se řídil konvencemi běžných vstupně-výstupních operací v rámci blokového systému souborů. Aplikace přímo upravuje trvalou paměť, čímž obchází softwarovou režii I/O zásobníku. Když je kód využívající DAX správně používán pro mapování paměti dat, může to přinést významné výhody ve výkonu. DaX má ale řadu problémů a bez kódu s podporou jazyka DAX neposkytuje významné výhody.

Ve Windows Serveru 2019 a novějším můžete vytvořit jenom svazek DAX v konfiguraci Prostorů úložiště nebo Prostorů úložiště s přímým přístupem, který používá jeden trvalý paměťový disk bez parity a bez redundance. Jazyk DAX nemůžete používat na více než jednom disku s trvalou pamětí a můžete používat pouze jazyk DAX se systémem souborů NTFS.

Poznámka

Jazyk DAX se nepodporuje v místních prostředích Azure.

DAX a tabulka blokového překladu (BTT)

Pokud daX nepoužíváte správně, může dojít ke ztrátě dat. Důrazně doporučujeme používat DAX ve spojení s tabulkou blokového překladu (BTT) k ochraně před "roztrženými zápisy", ke kterým může dojít v případě výpadku napájení nebo systému. BTT toto riziko snižuje tím, že poskytuje sémantiku aktualizace atomických sektorů pro trvalá paměťová zařízení, což v podstatě umožňuje zápisy sektorů podobných blokům, aby se aplikace mohly vyhnout kombinování starých a nových dat ve scénáři selhání.

Přestože doporučujeme povolit BTT u většiny svazků DAX, aby se metadata NTFS nevystavila problémům s neúplnými zápisy, nevýhodou BTT je, že může ovlivnit použití "velkých" a "obrovských" paměťových stránek na svazku DAX, protože pro operace s metadata dochází k přemapování paměťových stránek. Pokud chcete pro oddíly mapované v paměti používat velké a obrovské paměťové stránky, nezapněte BTT.

Vytvoření svazku DAX pomocí Windows PowerShellu

Protože DAX je vlastnost systému souborů, musí být zadána při formátování svazku NTFS.

Po vytvoření svazku použijte přepínač -IsDax s rutinou Format-Volume pro formátování svazku pro povolení funkce DAX.

Format-Volume -IsDax:$true

Následující fragment kódu vytvoří svazek DAX na trvalém paměťovém disku.

# 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

Další kroky

Související informace najdete také: