본문 바로가기

Nutanix

Nutanix - 분산 스토리지 패브릭(Distributed Storage Fabric, DSF)

반응형

분산 스토리지 패브릭(Distributed Storage Fabric, DSF)

  분산 스토리지 패브릭(이하 DSF)는 중앙집중식 스토리지 어레이처럼 호스트에게 보이지만 실제 모든 I/O는 로컬에서 처리되어 높은 성능을 제공한다. 아래에서는 Nutanix 노드들이 어떻게 분산 시스템을 구성하는지 설명한다.

 

DSF 구성요소

DSF는 아래와 같은 High-level 구성요소로 구성되어 있다. 위에서부터 아래로 점점 세분화되는 개념이다.

 

스토리지 풀(Storage Pool)

스토리지 풀은 물리적 장치의 그룹이다. 클러스터의 NVMe, SSD, HDD 등의 모든 물리적 스토리지 디바이스들의 그룹이다. 한 클러스터에서는 단일 스토리지 풀이 존재하며, 모든 노드에 걸친 모든 스토리지 디바이스가 이 스토리지 풀에 포함된다. 따라서 클러스터가 확장되면 스토리지 풀도 확장된다.

 

컨테이너(Container)

컨테이너는 스토리지 풀을 논리적으로 나누어 쓰는 단위이다. 컨테이너 단위에서 압축/중복제거/EC(Erasure Coding)등의 스토리지 설정을 적용하는 단위가 된다. Nutanix 공식 사이트에서는 컨테이너를 이렇게 소개하고 있다.

“A storage container is a subset of available storage within a storage pool”

 

vDisk

vDisk는 가상 디스크의 단위로, .vmdk 파일과 같은 VM 디스크를 나타내는 단위이다. vDisk는 여러 개의 익스텐트로 구성되어 있다. AOS에서 허용하는 최대 vDisk의 크기는 인위적인 제한이 없으나, 64-bit정수로 저장이 되므로 이론상 최대 크기는 약 9EB정도 된다.

 

익스텐트(Extent)

익스텐트는 논리적으로 연속적인 데이터이다. 이 익스텐트는 n개의 연속적인 블록(GuestOS의 블록크기에 따라 달라짐)으로 구성된 1MB의 논리적으로 연속적인 데이터이다. 다만 실제 쓰기/읽기/수정 작업이 발생할 때는 효율성을 위해 슬라이스(Slice)라고 알려진 좀더 세분화된 단위로 작업이 발생한다.

 

익스텐트 그룹(Extent Group)

익스텐트 그룹은 물리적으로 연속적인 데이터이다. 익스텐트 그룹은 실제 스토리지 디바이스에 파일로 저장이 되는 단위이다. 익스텐트는 성능 향상을 목적으로 노드/디스크 간 데이터 스트라이핑 제공을 위해 익스텐트 그룹 간 동적으로 분산되어 저장된다. 익스텐트 그룹의 크기는 중복제거에 따라 1MB 또는 4MB가 될 수 있다.

 

구성도로 보는 DSF

아래 그림은 실제 DSF의 구성도로 Storage Pool -> vDisk 까지의 구성도이다. 실제 물리적인 디바이스 그룹에서 VM의 구성 파일까지 어떻게 매핑이 되는지 보여준다.

High-level DSF 분해 구성도

아래 다른 그림은 vDisk의 논리적인 구성도를 나타낸다. 실제 Guest OS(UVM)의 파일시스템에서 부터 vDisk(실제파일)과 Extent Group(물리적 디바이스에 저장되는 단위) 까지의 구성도를 나타낸다.

vDisk 논리적 구성도

 

[참고자료 출처] https://www.nutanixbible.com/ : 뉴타닉스 바이블

반응형