vSAN 7 U1과 함께 도입된 긴 개선 사항 목록 중 하나는 데이터 배치 방법을 변경하는 vSAN의 선택적 스토리지 정책 규칙 중 하나에 대한 미묘하지만 중요한 개선 사항입니다. 데이터 배치 개념이 복잡해질 수 있기 때문에, 이 게시물은 변화를 설명하기 위해 간단한 예를 사용할 것이며 모든 사례를 다루지는 않을 것입니다. vSAN 및 VCF 지원 환경의 이러한 변화를 수용하기 위해 무엇이 변경되었는지, 그 이유 및 최적의 방법을 살펴보겠습니다.
무엇이 변했는가?
“개체당 디스크 스트라이프 수(number of disk stripes per object)” 스토리지 정책 규칙은 단일 개체(예: VMDK)에 포함된 데이터를 더 많은 용량 디바이스에 분산하여 성능을 향상시키려 합니다. 일반적으로 “스트라이프 너비(stripe width)”로 알려진 이 스토리지 정책 규칙은 vSAN에 개체를 더 많은 용량 디바이스에서 데이터 청크(“구성 요소”)로 분할하도록 지시하며, 용량 디바이스가 중요한 경합 요소인 경우에만 더 높은 수준의 I/O 병렬 처리를 수행할 수 있습니다.
스트라이프 너비를 설정할 때의 이점 정도는 vSAN Operation Guide의 “Using Number of Disk Stripes Per Object on vSAN-Powered Workloads”에서 설명한 이유에 따라 달라집니다. SPBM(스토리지 정책 기반 관리)의 유연성 덕분에 관리자는 이 설정을 특정 VM 집합에 쉽게 지정하고, 결과를 테스트한 후 다운타임 없이 이전 정책 설정으로 되돌릴 수 있습니다.
권장 사항: 스토리지 정책에 스트라이프 너비 설정을 추가, 변경 또는 제거하는 경우 성능 차이를 관찰하기 전에 다시 동기화를 완료할 수 있습니다.
스트라이프 폭 및 데이터 배치 체계
스트라이프 너비 스토리지 정책 규칙은 1에서 12 사이의 값을 허용합니다. 단순한 RAID-1 미러와 스트라이프 너비가 1인 개체(전혀 정의되지 않은 경우 기본값)는 하나 이상의 용량 디바이스(RAID 트리의 한 분기)에 하나의 구성 요소를 생성합니다. 스트라이프 폭이 2인 RAID-1을 사용하는 개체는 그림 1과 같이 추가 용량 장치에 걸쳐 두 개의 구성 요소를 생성합니다.
스토리지 정책은 최소 스트라이프 수를 정의합니다. vSAN은 다양한 이유로 개체 구성 요소를 분할하도록 선택할 수 있습니다.
vSAN 7 U1 이전에는 사용된 데이터 배치 방식에 따라 스트라이프 너비 설정이 개체에 서로 다른 방식으로 적용됩니다. 예를 들어:
- RAID-1과 스트라이프 너비가 4인 스토리지 정책을 사용하는 200GB 개체는 RAID 트리의 한 분기에 있는 호스트의 4개 구성 요소로 구성된 단일 개체로 구성됩니다.
- RAID-5와 스트라이프 너비가 4인 스토리지 정책을 사용하는 200GB 개체는 총 16개의 구성 요소에 걸쳐 4개의 호스트에 분산됩니다.
- RAID-6 및 스트라이프 너비가 4인 스토리지 정책을 사용하는 200GB 개체는 총 24개의 구성 요소로 이루어진 6개의 호스트에 분산되어 있습니다.
RAID-5/6 삭제 코드를 사용하면 200GB 개체가 이미 서로 다른 호스트에 있는 더 많은 장치에 분산되어(패리티 포함) 스택의 해당 부분에서 경합 가능성을 줄일 수 있습니다. 위의 예는 RAID-5/6을 사용하는 개체에 적용되는 지정된 스트라이프 너비 값이 동일한 스트라이프 너비 값을 사용하는 RAID-1 기반 개체보다 더 적극적으로 데이터를 분할하는 방법을 보여줍니다. 데이터가 많은 호스트에 분산되었기 때문에 스트라이프 폭의 큰 증가는 과도할 수 있으며 개선을 위해 필요한 범위를 넘어설 수 있습니다.
vSAN 7 U1에서는 스트라이프 너비 정책이 RAID-1 개체에 대해 동일하게 유지되었지만 삭제 코드를 사용하여 개체를 더 잘 수용할 수 있도록 설정이 개선되었습니다. RAID-5 또는 RAID-6 삭제 코드가 있는 정책을 사용하는 개체는 RAID-1 미러를 사용하는 개체와 비교하여 “스트라이프 폭”을 새로운 방식으로 계산합니다. 패리티가 있는 삭제 코드 스트라이프는 적용된 스트라이프 폭의 일부로 계산됩니다. 예를 들어:
- RAID-5와 스트라이프 너비가 4인 스토리지 정책을 사용하는 200GB 개체는 4개의 호스트에 분산되어 총 4개의 구성 요소가 됩니다.*
- RAID-5와 스트라이프 너비가 8인 스토리지 정책을 사용하는 200GB 개체는 총 8개의 구성 요소에 걸쳐 4개의 호스트에 분산됩니다.
- RAID-6 및 스트라이프 너비가 6인 스토리지 정책을 사용하는 200GB 개체는 총 6개의 호스트에 분산되어 있는 개체로 구성됩니다.*
- RAID-6와 스트라이프 너비가 12인 스토리지 정책을 사용하는 200GB 개체는 총 12개의 구성 요소인 6개의 호스트에 분산되어 있습니다.
*스트라이프 너비 규칙을 사용하지 않은 것과 동일한 수의 구성 요소
vSAN 7 U1에서는 유효 스트라이프 폭이 증가하려면 삭제 코드의 스트라이프 너비를 각각 4 또는 6 배수로 설정해야 합니다. 이 새로운 계산 방법은 RAID-1 미러가 RAID-5/6보다 더 높은 스트라이프 너비 값을 필요로 할 가능성이 훨씬 높았기 때문에 훨씬 더 실용적입니다. RAID-5/6 소거 코드를 사용하는 개체는 스트라이프 폭이 2 또는 3을 넘지 않는 경우 이점을 얻을 수 없습니다. 아래 표에는 사용된 데이터 배치 체계와 관련하여 vSAN 7 U1에 대한 스트라이프 폭 설정이 나와 있습니다.
권장 사항: 디스크 스트라이프 수에 유의하십시오. 스트라이프 폭을 늘리는 것이 도움이 될 것이라는 합리적 의심이 들지 않는 한 기본 설정(사용 안 함)을 그대로 둡니다. 스트라이프 폭을 늘릴 경우 점진적으로 늘려 재료상의 이점이 있는지 확인합니다. 스트라이핑을 최소로 유지하면 특히 용량이 제한되거나 작은 클러스터에서 vSAN을 통한 데이터 배치 의사 결정이 쉬워집니다.
스트라이핑 및 디스크 그룹
또한 vSAN 7 U1의 새로운 스트라이프 개체는 동일한 호스트의 서로 다른 디스크 그룹을 사용하려고 시도합니다. 예를 들어 그림 3은 호스트당 디스크 그룹이 2개인 5개의 호스트 클러스터, 스트라이프 폭이 8인 RAID-5 개체를 보여줍니다. 이 구성에서는 각 호스트에 두 개의 구성 요소가 있으므로 호스트 내의 서로 다른 디스크 그룹에 해당 구성 요소를 배치합니다. 이 기능은 “최선의 노력” 기능으로, 배치 조건이 충족될 수 있는 경우에만 가능합니다. 이렇게 하면 I/O의 병렬화가 향상되고 주어진 개체에 더 많은 버퍼링과 캐싱을 사용할 수 있습니다. 이는 수요가 많은 단일 VMDK에 적합합니다.
이 변경 사항은 RAID-5/6 및 RAID-1을 사용하는 개체에 적용됩니다. RAID-5/6의 경우 복원력과 가용성을 유지하기 위해 구성 요소의 반선호도 설정을 손상시키지 않습니다. 즉, 그림 3에서 알 수 있듯이 RAID-5 개체는 항상 최소 4개의 호스트에 분산됩니다.
2TB보다 큰 개체의 스트라이프 폭
vSAN 7 U1은 스트라이프 너비가 적용되면 크기가 2TB를 초과하는 개체에 대해 약간 향상된 기능을 제공합니다. 처음 2TB의 주소 공간에는 스토리지 정책에 정의된 스트라이프 너비가 적용됩니다. 그 이후의 주소 공간에서는 3을 초과하지 않는 스트라이프 폭을 사용합니다. 이를 통해 vSAN은 구성 요소 수 및 데이터 배치 결정을 보다 효과적으로 관리할 수 있습니다.
마치면서
vSAN 7 U1의 스트라이프 폭 스토리지 정책 규칙에 도입된 최적화는 RAID-5/6 삭제 코드를 기반으로 하는 스토리지 정책을 사용할 때 보다 적절한 수준의 디스크 스트라이핑을 제공하는 데 도움이 됩니다. 이 점과 여기에서 설명하는 다른 개선 사항은 vSAN Engineering 팀이 vSAN의 성능 향상, 효율성 향상 및 관리 용이성을 위해 끊임없이 노력하고 있음을 보여주는 또 다른 좋은 예입니다.