다음을 통해 공유


DAX 이해 및 구성

DAX(직접 액세스) 는 영구 메모리 디바이스를 바이트 주소 지정 가능 메모리로 처리하여 대기 시간을 가장 낮게 하므로 일반 파일 시스템 블록 I/O 규칙을 따르는 대신 바이트 주소 지정 가능 메모리에 직접 액세스할 수 있습니다. 앱은 I/O 스택의 소프트웨어 오버헤드를 우회하여 영구 메모리를 직접 수정합니다. DAX 인식 코드(즉, 메모리 매핑 데이터)에서 제대로 사용하는 경우 이는 상당한 성능 이점을 제공할 수 있습니다. 그러나 DAX에는 많은 문제가 있으며 DAX 인식 코드가 없으면 상당한 이점을 제공하지 않습니다.

Windows Server 2019 이상에서는 패리티 및 중복성 없이 단일 영구 메모리 디스크를 사용하는 저장소 공간 또는 저장소 공간 Direct 구성에서만 DAX 볼륨을 만들 수 있습니다. 둘 이상의 영구 메모리 디스크에서 DAX를 사용할 수 없으며 NTFS에서 DAX만 사용할 수 있습니다.

참고 항목

DAX는 Azure Stack HCI 환경에서 지원되지 않습니다.

DAX 및 블록 변환 테이블(BTT)

DAX를 올바르게 사용하지 않으면 데이터가 손실될 가능성이 있습니다. 정전 또는 시스템 중단 시 발생할 수 있는 "조각난 쓰기"로부터 보호하기 위해 DAX를 BTT(블록 변환 테이블)와 함께 사용하는 것이 좋습니다. BTT는 영구 메모리 디바이스에 대한 원자성 섹터 업데이트 의미 체계를 제공하고, 기본적으로 블록과 유사한 섹터 쓰기를 사용하도록 설정하여 앱이 오류 시나리오에서 이전 데이터와 새 데이터를 혼합하지 않도록 하여 이러한 위험을 완화합니다.

대부분의 DAX 볼륨에서 BTT를 사용하도록 설정하여 NTFS 메타데이터가 찢어지는 쓰기 문제를 방지할 것을 권장하지만, BTT의 단점은 메타데이터 작업에 대해 다시 매핑이 발생하므로 DAX 볼륨에서 "큰" 및 "거대한" 메모리 페이지의 사용량에 영향을 줄 수 있다는 것입니다. 메모리 매핑된 섹션에 크고 거대한 메모리 페이지를 사용하려면 BTT를 켜지 마세요.

Windows PowerShell을 사용하여 DAX 볼륨 만들기

DAX는 파일 시스템의 속성이므로 NTFS 볼륨의 서식을 지정할 때 지정해야 합니다.

볼륨을 만든 후 Format-Volume cmdlet과 함께 -IsDax 스위치를 사용하여 볼륨을 DAX 사용으로 포맷합니다.

Format-Volume -IsDax:$true

다음 코드 조각은 영구 메모리 디스크에 DAX 볼륨을 만듭니다.

# 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

다음 단계

관련 정보는 다음을 참조하세요.