저장소 공간 다이렉트 대한 중첩된 복원력
적용 대상: Azure Stack HCI, 버전 22H2 및 21H2; Windows Server 2022 및 Windows Server 2019
중첩 복원력은 Azure Stack HCI 및 Windows Server에서 저장소 공간 다이렉트 기능입니다. 이를 통해 2 서버 클러스터는 스토리지 가용성 손실 없이 동시에 여러 하드웨어 오류를 견딜 수 있으므로 사용자, 앱 및 가상 머신은 중단 없이 계속 실행됩니다. 이 문서에서는 중첩된 복원력의 작동 방식을 설명하고, 시작하기 위한 단계별 지침을 제공하며, 가장 자주 묻는 질문에 답변합니다.
시작하기 전에
다음과 같은 경우 중첩된 복원력을 고려합니다.
- 클러스터는 Azure Stack HCI, 버전 21H2, Azure Stack HCI, 버전 20H2, Windows Server 2022 또는 Windows Server 2019와 같은 운영 체제 중 하나를 실행합니다. 및
- 클러스터에는 정확히 두 개의 서버 노드가 있습니다.
다음과 같은 경우 중첩된 복원력을 사용할 수 없습니다.
- 클러스터가 Windows Server 2016 실행되거나
- 클러스터에 단일 서버 노드만 있거나 서버 노드가 3개 이상 있습니다.
중첩된 복원력
중첩된 복원력을 사용하는 볼륨은 클래식 양방향 미러링 복원력과 달리 여러 하드웨어 오류가 동시에 발생하더라도 온라인 상태를 유지하고 액세스할 수 있습니다. 예를 들어 두 개의 드라이브가 동시에 실패하거나 서버가 다운되고 드라이브가 실패하는 경우 중첩된 복원력을 사용하는 볼륨은 온라인 상태로 유지되고 액세스할 수 있습니다. 하이퍼 수렴형 인프라의 경우 앱 및 가상 머신의 가동 시간이 증가합니다. 파일 서버 워크로드의 경우 사용자가 파일에 중단 없이 액세스할 수 있습니다.
단점은 중첩된 복원력이 클래식 양방향 미러링보다 용량 효율성이 낮다는 것입니다. 즉, 사용 가능한 공간이 약간 줄어듭니다. 자세한 내용은 다음 용량 효율성 섹션을 참조하세요.
작동 방식
이 섹션에서는 저장소 공간 다이렉트 중첩된 복원력에 대한 배경을 제공하고 두 가지 새로운 복원력 옵션과 용량 효율성에 대해 설명합니다.
영감: RAID 5+1
RAID 5+1은 중첩된 복원력을 이해하는 데 유용한 배경을 제공하는 분산 스토리지 복원력의 설정된 형태입니다. RAID 5+1의 각 서버 내에서 단일 드라이브의 손실로부터 보호하기 위해 RAID-5 또는 단일 패리티에서 로컬 복원력을 제공합니다. 그런 다음 두 서버 간에 RAID-1 또는 양방향 미러링을 통해 두 서버의 손실로부터 보호하기 위해 추가 복원력을 제공합니다.
복원력 옵션
Azure Stack HCI 및 Windows Server의 저장소 공간 다이렉트 특수 RAID 하드웨어 없이 소프트웨어에서 구현된 두 가지 복원력 옵션을 제공합니다.
중첩된 양방향 미러. 각 서버 내에서 로컬 복원력은 양방향 미러링을 통해 제공된 다음, 두 서버 간의 양방향 미러링을 통해 추가 복원력을 제공합니다. 기본적으로 서로 다른 물리적 디스크에 있는 각 서버에 두 개의 복사본이 있는 4방향 미러. 중첩된 양방향 미러링을 사용하면 성능이 저하되지 않습니다. 쓰기는 모든 복사본으로 이동되고 읽기는 모든 복사본에서 제공됩니다.
중첩된 미러 가속 패리티입니다. 이전 이미지의 중첩된 양방향 미러링을 중첩된 패리티와 결합합니다. 각 서버 내에서 대부분의 데이터에 대한 로컬 복원력은 양방향 미러링을 사용하는 새 최근 쓰기를 제외하고 단일 비트 패리티 산술 연산을 통해 제공됩니다. 그런 다음 서버 간의 양방향 미러링을 통해 모든 데이터에 대한 추가 복원력을 제공합니다. 볼륨에 대한 새 쓰기는 각 서버의 개별 물리적 디스크에 두 개의 복사본이 있는 미러 부분으로 이동합니다. 볼륨의 미러 부분이 각 서버에서 채워지면 가장 오래된 데이터가 변환되어 배경의 패리티 부분에 저장됩니다. 결과적으로 각 서버에는 양방향 미러 또는 단일 패리티 구조로 볼륨에 대한 데이터가 있습니다. 이는 미러 가속 패리티의 작동 방식과 유사하며, 미러 가속 패리티에는 클러스터 및 스토리지 풀에 4개의 서버가 필요하고 다른 패리티 알고리즘을 사용한다는 차이점이 있습니다.
용량 효율성
용량 효율성은 사용 가능한 공간과 볼륨 공간의 비율입니다. 복원력에 기인하는 용량 오버헤드를 설명하고 선택한 복원력 옵션에 따라 달라집니다. 간단한 예로, 복원력 없이 데이터를 저장하는 것은 100% 용량 효율적입니다(1TB의 데이터는 실제 스토리지 용량의 1TB를 차지함). 양방향 미러링의 효율성은 50%입니다(1TB의 데이터는 2TB의 물리적 스토리지 용량을 차지함).
중첩된 양방향 미러 모든 항목의 복사본 4개를 씁니다. 즉, 1TB의 데이터를 저장하려면 4TB의 물리적 스토리지 용량이 필요합니다. 단순함은 매력적이지만 중첩된 양방향 미러 용량 효율성이 25%로 저장소 공간 다이렉트 복원력 옵션 중 가장 낮습니다.
중첩된 미러 가속 패리티는 각 서버의 용량 드라이브 수와 볼륨에 대해 지정한 미러 및 패리티의 혼합이라는 두 가지 요인에 따라 약 35%-40%의 높은 용량 효율성을 달성합니다. 이 표에서는 일반적인 구성에 대한 조회를 제공합니다.
서버당 용량 드라이브 10% 미러 20% 미러 30% 미러 4 35.7% 34.1% 32.6% 5 37.7% 35.7% 33.9% 6 39.1% 36.8% 34.7% 7+ 40.0% 37.5% 35.3% 다음은 전체 수학의 예입니다. 두 서버 각각에 6개의 용량 드라이브가 있고 10GB의 미러 90GB 패리티로 구성된 100GB 볼륨을 만들고자 합니다. 서버 로컬 양방향 미러 50.0% 효율적이므로 10GB의 미러 데이터가 각 서버에 저장하는 데 20GB가 걸립니다. 두 서버에 미러링된 총 공간은 40GB입니다. 이 경우 서버 로컬 단일 패리티는 5/6 = 83.3% 효율적입니다. 즉, 패리티 데이터의 90GB는 각 서버에 저장하는 데 108GB가 걸립니다. 두 서버에 미러링된 총 공간은 216GB입니다. 따라서 총 공간은 [(10GB/ 50.0%) + (90GB/83.3%)] × 2 = 256GB이며 전체 용량 효율성은 39.1%입니다.
클래식 양방향 미러링(약 50%)과 중첩된 미러 가속 패리티(최대 40%)의 용량 효율성은 별로 다르지 않습니다. 요구 사항에 따라 용량 효율성이 약간 낮을수록 스토리지 가용성이 크게 증가할 수 있습니다. 볼륨당 복원력을 선택하면 동일한 클러스터 내에서 중첩된 복원력 볼륨과 클래식 양방향 미러 볼륨을 혼합할 수 있습니다.
중첩된 복원력 볼륨 만들기
다음 섹션에 설명된 대로 PowerShell에서 친숙한 스토리지 cmdlet을 사용하여 중첩된 복원력으로 볼륨을 만들 수 있습니다.
1단계: 스토리지 계층 템플릿 만들기(Windows Server 2019만 해당)
Windows Server 2019에서는 볼륨을 만들기 전에 cmdlet을 New-StorageTier
사용하여 새 스토리지 계층 템플릿을 만들어야 합니다. 이 작업은 한 번만 수행하면 되며, 새로 만드는 모든 볼륨에서 이러한 템플릿을 참조할 수 있습니다.
참고
Windows Server 2022, Azure Stack HCI 21H2 또는 Azure Stack HCI 20H2를 실행하는 경우 이 단계를 건너뛸 수 있습니다.
-MediaType
용량 드라이브의 를 지정하고 필요에 따라 원하는 을 -FriendlyName
지정합니다. 다른 매개 변수는 수정하지 마세요.
예를 들어 용량 드라이브가 HDD(하드 디스크 드라이브)인 경우 관리자 권한으로 PowerShell을 시작하고 다음 cmdlet을 실행합니다.
NestedMirror 계층을 만들려면 다음을 수행합니다.
New-StorageTier -StoragePoolFriendlyName S2D* -FriendlyName NestedMirrorOnHDD -ResiliencySettingName Mirror -MediaType HDD -NumberOfDataCopies 4
NestedParity 계층을 만들려면 다음을 수행합니다.
New-StorageTier -StoragePoolFriendlyName S2D* -FriendlyName NestedParityOnHDD -ResiliencySettingName Parity -MediaType HDD -NumberOfDataCopies 2 -PhysicalDiskRedundancy 1 -NumberOfGroups 1 -FaultDomainAwareness StorageScaleUnit -ColumnIsolation PhysicalDisk
용량 드라이브가 SSD(반도체 드라이브)인 경우 를 로 설정하고 -MediaType
SSD
를 로 변경합니다 -FriendlyName
*OnSSD
. 다른 매개 변수는 수정하지 마세요.
팁
계층이 성공적으로 만들어졌는 Get-StorageTier
지 확인합니다.
2단계: 중첩된 볼륨 만들기
cmdlet을 사용하여 새 볼륨을 New-Volume
만듭니다.
중첩된 양방향 미러
중첩된 양방향 미러 사용하려면 계층 템플릿을
NestedMirror
참조하고 크기를 지정합니다. 예를 들면 다음과 같습니다.New-Volume -StoragePoolFriendlyName S2D* -FriendlyName Volume01 -StorageTierFriendlyNames NestedMirrorOnHDD -StorageTierSizes 500GB
용량 드라이브가 SSD(반도체 드라이브)인 경우 을 로 변경
-StorageTierFriendlyNames
합니다*OnSSD
.중첩된 미러 가속 패리티
중첩된 미러 가속 패리티를 사용하려면 및 계층 템플릿을 모두
NestedMirror
참조하고NestedParity
볼륨의 각 부분에 대해 하나씩 두 개의 크기를 지정합니다(첫 번째 미러, 패리티 초). 예를 들어 중첩된 양방향 미러 80%의 중첩 패리티인 500GB 볼륨 하나를 만들려면 다음을 실행합니다.New-Volume -StoragePoolFriendlyName S2D* -FriendlyName Volume02 -StorageTierFriendlyNames NestedMirrorOnHDD, NestedParityOnHDD -StorageTierSizes 100GB, 400GB
용량 드라이브가 SSD(반도체 드라이브)인 경우 을 로 변경
-StorageTierFriendlyNames
합니다*OnSSD
.
3단계: Windows Admin Center 계속
중첩된 복원력을 사용하는 볼륨은 다음 스크린샷과 같이 명확한 레이블 지정이 있는 Windows Admin Center 표시됩니다. 만든 후에는 저장소 공간 다이렉트 다른 볼륨과 마찬가지로 Windows Admin Center 사용하여 관리하고 모니터링할 수 있습니다.
선택 사항: 캐시 드라이브로 확장
기본 설정을 사용하면 중첩된 복원력이 동시에 여러 용량 드라이브 또는 하나의 서버와 하나의 용량 드라이브가 동시에 손실되지 않도록 보호합니다. 캐시 드라이브로 이 보호를 확장하려면 캐시 드라이브가 여러 용량 드라이브에 대한 읽기 및 쓰기 캐싱을 제공하는 경우가 많기 때문에 다른 서버가 다운될 때 캐시 드라이브의 손실을 허용할 수 있는 유일한 방법은 쓰기를 캐시하지 않는 것이지만 성능에 영향을 줍니다.
이 시나리오를 해결하기 위해 저장소 공간 다이렉트 두 서버 클러스터의 한 서버가 다운된 경우 쓰기 캐싱을 자동으로 사용하지 않도록 설정한 다음, 서버가 백업되면 쓰기 캐싱을 다시 사용하도록 설정하는 옵션을 제공합니다. 성능에 영향을 주지 않고 일상적인 다시 시작을 허용하려면 서버가 30분 동안 중단될 때까지 쓰기 캐싱을 사용하지 않도록 설정되지 않습니다. 쓰기 캐싱을 사용하지 않도록 설정하면 쓰기 캐시의 내용이 용량 디바이스에 기록됩니다. 그러면 서버는 온라인 서버에서 실패한 캐시 디바이스를 허용할 수 있지만 캐시에서 읽기가 지연되거나 캐시 디바이스가 실패할 경우 실패할 수 있습니다.
참고
모든 캐시(단일 미디어 형식) 물리적 시스템의 경우 두 서버 클러스터의 한 서버가 다운된 경우 쓰기 캐싱을 자동으로 사용하지 않도록 설정하는 것을 고려할 필요가 없습니다. HDD를 사용하는 경우에만 필요한 SBL(스토리지 버스 계층) 캐시에서만 고려해야 합니다.
(선택 사항) 두 서버 클러스터의 한 서버가 다운된 경우 쓰기 캐싱을 자동으로 사용하지 않도록 설정하려면 관리자 권한으로 PowerShell을 시작하고 다음을 실행합니다.
Get-StorageSubSystem Cluster* | Set-StorageHealthSetting -Name "System.Storage.NestedResiliency.DisableWriteCacheOnNodeDown.Enabled" -Value "True"
True로 설정되면 캐시 동작은 다음과 같습니다.
상황 | 캐시 동작 | 캐시 드라이브 손실을 허용할 수 있나요? |
---|---|---|
두 서버 모두 위로 | 캐시 읽기 및 쓰기, 전체 성능 | Yes |
서버 다운, 처음 30분 | 캐시 읽기 및 쓰기, 전체 성능 | 아니요(일시적으로) |
처음 30분 후 | 캐시 읽기만, 성능에 영향을 줍니다. | 예(캐시가 용량 드라이브에 기록된 후) |
질문과 대답
중첩된 복원력에 대한 질문과 대답을 찾습니다.
양방향 미러 중첩된 복원력 간에 기존 볼륨을 변환할 수 있나요?
아니요, 볼륨은 복원력 유형 간에 변환할 수 없습니다. Azure Stack HCI, Windows Server 2022 또는 Windows Server 2019의 새 배포의 경우 요구 사항에 가장 적합한 복원력 유형을 미리 결정합니다. Windows Server 2016 업그레이드하는 경우 중첩된 복원력을 사용하여 새 볼륨을 만들고 데이터를 마이그레이션한 다음 이전 볼륨을 삭제할 수 있습니다.
여러 유형의 용량 드라이브에서 중첩된 복원력을 사용할 수 있나요?
예, 위의 1단계에서 각 계층의 를 적절하게 지정 -MediaType
합니다. 예를 들어 NVMe, SSD 및 HDD가 동일한 클러스터에 있는 경우 NVMe는 캐시를 제공하고 후자의 두 가지는 용량을 제공합니다. 계층을 로 -MediaType SSD
설정하고 계층을 NestedParity
로 -MediaType HDD
설정합니다NestedMirror
. 이 경우 패리티 용량 효율성은 HDD 드라이브 수에만 따라 달라지며 서버당 최소 4개 이상이 필요합니다.
서버 3개 이상에서 중첩 복원력을 사용할 수 있나요?
아니요, 클러스터에 정확히 두 개의 서버가 있는 경우에만 중첩된 복원력을 사용합니다.
중첩된 복원력을 사용해야 하는 드라이브는 몇 대인가요?
저장소 공간 다이렉트 필요한 최소 드라이브 수는 서버 노드당 4개의 용량 드라이브와 서버 노드당 2개의 캐시 드라이브(있는 경우)입니다. Windows Server 2016 변경되지 않습니다. 중첩된 복원력에 대한 다른 요구 사항은 없으며 예약 용량에 대한 권장 사항도 변경되지 않습니다.
중첩된 복원력은 드라이브 교체의 작동 방식을 변경하나요?
아니요.
중첩된 복원력은 서버 노드 교체의 작동 방식을 변경하나요?
아니요. 서버 노드와 해당 드라이브를 바꾸려면 다음 순서를 따릅니다.
- 나가는 서버에서 드라이브 사용 중지
- 드라이브를 사용하여 새 서버를 클러스터에 추가합니다.
- 스토리지 풀의 균형을 다시 조정합니다.
- 나가는 서버 및 해당 드라이브 제거
자세한 내용은 서버 제거 문서를 참조하세요.