클러스터 공유 볼륨의 아키텍처 및 구성 요소 살펴보기

완료됨

CSV를 구현하고 사용하는 경우 해당 아키텍처 및 구성 요소를 이해하는 것이 중요합니다.

CSV 아키텍처

CSV는 각 클러스터 노드의 C:\ClusterStorage\ 디렉터리 내에 있는 하위 디렉터리에 매핑된 공유 볼륨으로 구성됩니다. 이 방법은 단일 네임스페이스를 제공하므로 클러스터의 모든 노드에서 동일한 이름 및 경로를 통해 모든 CSV 콘텐츠를 사용할 수 있습니다.

참고

CSV 볼륨 관리자는 CSV 볼륨을 C:\ClusterStorage\ 디렉터리 내의 하위 디렉터리로 공개해야 하는 CSV 파일 시스템 스택의 소프트웨어 구성 요소입니다.

CSV 파일 시스템 스택의 주요 모듈 중 하나는 CSV 볼륨 관리자입니다. 이는 CSV를 로컬 볼륨으로 표시하는 데 사용되는 드라이버입니다. 다음 다이어그램에서 스토리지 풀의 각 볼륨에는 자체 파일 시스템 디렉터리가 있습니다. 예를 들어, C:\ClusterStorage\Volume 1 폴더는 Volume1에 매핑됩니다.

The correlation between the storage pool, CSVs, and C:\ClusterStorage\ file system directories.

각 노드는 볼륨의 개별 파일을 독립적으로 읽고 쓸 수 있지만 단일 노드가 볼륨의 CSV 소유자(또는 ‘코디네이터’) 역할을 합니다. 해당 노드는 볼륨 탑재를 호스트합니다. 특정 소유자에게 개별 볼륨을 할당하는 옵션이 있지만 장애 조치(failover) 클러스터는 클러스터 노드 간에 CSV 소유권을 자동으로 배포합니다. 배포 메커니즘은 각 노드가 소유한 CSV 수를 고려합니다. 클러스터 서비스는 노드 추가, 제거 또는 다시 시작 같은 변경 내용에 따라 소유권의 균형을 다시 조정합니다.

참고

장애 조치(failover) 클러스터 관리자는 디스크 패널에서 CSV 볼륨의 코디네이터 노드에 소유자 노드 레이블을 지정합니다. 이는 Get-ClusterSharedVolume Windows PowerShell cmdlet의 출력에 표시되는 지정이기도 합니다.

CSV 볼륨에서 파일 시스템 메타데이터 변경이 발생하는 경우 소유자는 변경 내용을 구현하고 오케스트레이션을 관리하여 해당 볼륨에 대한 액세스 권한이 있는 모든 클러스터 노드에서 변경 내용을 동기화해야 합니다. 관련 변경 내용에는 디스크 파일이 볼륨에 있는 VM 시작, 생성, 마이그레이션, 삭제 등이 포함됩니다. 소유자는 NTFS 또는 ReFS 스택을 사용하여 변경 내용을 적용하며 SMB 3.x를 사용하여 기본 스토리지에 대한 연결을 통해 다른 클러스터 노드에 변경 내용을 복제합니다. 다음 이미지와 같이 메타데이터 변경 내용은 소유자가 아닌 클러스터 노드로부터 볼륨을 호스트하는 공유 스토리지로 직접 전달되지 않습니다.

A single CSV owner and two other cluster nodes, with the CSV owner performing metadata operations, and all three nodes performing direct read and writes to shared storage.

반면에 CSV 볼륨에서 파일을 열기 위한 표준 쓰기 및 읽기 작업은 메타데이터에 영향을 주지 않습니다. 실제로 기본 스토리지에 연결된 각 클러스터 노드는 해당 볼륨의 CSV 소유자에 의존하지 않고 독립적으로 해당 작업을 수행할 수 있습니다. 해당 작업은 메타데이터 업데이트와 달리 거의 모든 스토리지 활동을 구성합니다. 직접 I/O는 NTFS 또는 ReFS 관련 구성 요소를 포함하는 볼륨 스택을 무시하고 기본 스토리지에 직접 연결합니다. 결과적으로 CSV 아키텍처는 파일 시스템 무결성을 보존하면서 I/O 성능을 최적화합니다.

The CSV direct mode of operations, with multiple nodes interacting directly with the underlying volume via CSV file system (CSVFS) and CSV Volume Manager.

소유자 노드는 스토리지 연결 오류 및 지정된 노드가 스토리지와 직접 통신할 수 없게 하는 스토리지 작업의 부정적인 영향도 최소화합니다. 관련 이벤트가 발생할 경우 기본 스토리지와 통신해야 하는 노드는 클러스터 네트워크를 통해 디스크 I/O를 해당 볼륨의 소유자 노드로 리디렉션합니다. 현재 코디네이터 노드에서 스토리지 연결 오류가 발생할 경우 클러스터가 새 노드에 코디네이터 역할을 자동으로 할당하는 동안 모든 디스크 I/O 작업은 일시적으로 큐에 대기됩니다.

CSV는 직접 모드에서 스위치를 트리거한 이벤트 유형에 따라 다음과 같은 두 가지 I/O 리디렉션 모드를 지원합니다.

  • 파일 시스템 리디렉션 타사 백업 애플리케이션이 CSV 볼륨의 스냅샷을 수행하는 경우 이 동작이 발생할 수 있습니다. 이 경우 리디렉션은 파일 시스템 수준에서 수행됩니다. I/O 작업은 시작 노드에서 CSVFS를 트래버스하고 SMB를 통해 소유자 노드로 이동합니다. 여기에서 메타데이터 업데이트 경로와 유사한 NTFS 또는 ReFS 파일 시스템 스택을 통해 대상 디스크에 도달합니다. 다음 그림에서는 이 시나리오를 보여 줍니다. 노드 1은 파일 시스템 리디렉션 모드에서 작동하는 클러스터 노드를 나타냅니다. 노드 2는 노드 소유자의 역할을 수행합니다.

    The CSV file system redirection, with one node maintaining direct access to the volume while the other redirecting the traffic via the SMB Server and the CSVFS layer.

  • 블록 리디렉션 노드에서 볼륨에 대한 연결이 끊어지지만 볼륨이 온라인 상태로 유지되는 경우 이 동작이 발생합니다. 리디렉션은 블록 수준에서 수행됩니다. 이 경우에도 I/O 작업은 시작 노드에서 CSVFS를 트래버스하고 SMB를 통해 소유자 노드로 이동합니다. 그러나 직접 I/O의 경우와 마찬가지로 소유자 노드의 NTFS 또는 ReFS 스택을 무시하므로 성능이 크게 향상됩니다. 다음 그림에서는 이 시나리오를 보여 줍니다. 이전과 같이 노드 1은 파일 시스템 리디렉션 모드에서 작동하는 클러스터 노드를 나타냅니다. 노드 2는 노드 소유자의 역할을 수행합니다.

    The CSV block redirection, with one node maintaining direct access to the volume while the other redirecting the traffic via the SMB Server but bypassing the CSVFS layer.

참고 항목

Get-ClusterSharedVolumeState Windows PowerShell cmdlet을 사용하여 I/O 리디렉션 모드를 포함한 노드별 CSV 볼륨 상태 및 해당 상태의 이유를 식별합니다.

CSV와 SMB 다중 채널 및 SMB 다이렉트와 같은 SMB 3.x 기능이 통합된 덕분에 리디렉션된 I/O 트래픽은 여러 클러스터 네트워크에서 이동할 수 있습니다.