Descripción y configuración de DAX

Se aplica a: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows 10

El acceso directo (DAX) trata los dispositivos de memoria persistente como memoria direccionable por bytes para obtener la menor latencia, lo que proporciona acceso directo a la memoria direccionable por bytes en lugar de seguir las convenciones normales de E/S de bloques del sistema de archivos. La aplicación modifica directamente la memoria persistente, omitiendo la sobrecarga de software de la pila de E/S. Cuando se usa correctamente el código que tiene en cuenta DAX (es decir, los datos de asignación de memoria), puede proporcionar importantes ventajas de rendimiento. Sin embargo, DAX tiene una serie de problemas y no proporcionará ventajas significativas sin código que tenga en cuenta DAX.

En Windows Server 2019 y versiones posteriores, solo puede crear un volumen DAX en una configuración de Espacios de almacenamiento o de Espacios de almacenamiento directo que usen un único disco de memoria persistente, sin paridad ni redundancia. No se puede usar DAX en más de un disco de memoria persistente y solo se puede usar DAX con NTFS.

Nota

DAX no se admite en entornos de Azure Stack HCI.

DAX y tabla de traslación de bloques (BTT)

Si no usa DAX correctamente, es posible que se pierdan datos. Se recomienda encarecidamente usar DAX junto con la tabla de traslación de bloques (BTT) para protegerse frente a "escrituras incompletas" que pueden producirse en caso de un error de alimentación o una interrupción del sistema. BTT mitiga este riesgo ya que proporciona semántica de actualización del sector atómico para dispositivos de memoria persistente, lo que básicamente permite escrituras de sector similares a bloques para que las aplicaciones puedan evitar mezclar datos antiguos y nuevos en un escenario de error.

Aunque se recomienda habilitar BTT en la mayoría de los volúmenes DAX para evitar someter los metadatos NTFS a problemas de escritura incompleta, la desventaja de BTT es que puede afectar al uso de páginas de memoria "grandes" y "enormes" en un volumen DAX porque se producirán reasignaciones para las operaciones de metadatos. Si quiere usar páginas de memoria grandes y enormes para las secciones asignadas a memoria, no active BTT.

Creación de un volumen DAX mediante Windows PowerShell

Dado que DAX es una propiedad del sistema de archivos, debe especificarse al formatear un volumen NTFS.

Después de crear un volumen, use el conmutador -IsDax con el cmdlet Format-Volume para formatear el volumen para que esté habilitado para DAX.

Format-Volume -IsDax:$true

El siguiente fragmento de código crea un volumen DAX en un disco de 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

Pasos siguientes

Para obtener información relacionada, consulte: