본문 바로가기

본 게시물에서는ftScalableTM 스토리지 어레이(이하 ftScalable로 약칭)의 성능을 최적화하기 위한 구성 방법에 대한 조언을 제공합니다. I/O 워크로드와 패턴을 이해하고 몇 가지 간단한 지침을 따르면, 가용성 및 성능 요구 사항을 충족하도록 ftScalable을 구성할 수 있습니다.

용어

"논리 디스크"라는 용어는 하나 이상의 구성원 디스크로 구성된 VOS 논리 디스크를 의미합니다. VOS는 모든 구성원 디스크에 걸쳐 데이터를 스트라이핑합니다. ftScalable 도입 이전에는 각 구성원 디스크가 물리 디스크 드라이브 한 쌍으로 구성되었습니다. ftScalable의 등장으로 각 구성 디스크는 이제 단일 LUN과 연결됩니다. LUN 또는 "논리 장치"는 ftScalable 상의 가상 디스크("VDISK")의 하위 구획입니다.

VDISK는 하나 이상의 물리적 디스크 드라이브를 특정 RAID 유형을 사용하여 가상 디스크로 구성한 집합체입니다.

"저하 모드"란 VDISK의 물리적 디스크 드라이브 중 하나가 고장난 후 복구 작업이 시작되기 전까지의 VDISK 운영 상태를 의미합니다.

"복구 모드"란 드라이브 장애 발생 후 재구축 중인 VDISK의 작동을 의미합니다.

RAID 유형

ftScalable이 지원하는 RAID 유형은 다양하지만, 여기서는 일반적으로 사용되는 유형만 설명하겠습니다.

RAID-0: RAID-0 가상 디스크(VDISK)는 세트 내 모든 물리 디스크 드라이브에 데이터를 분할 저장합니다. 가장 높은 수준의 I/O 성능을 제공하지만, 장애 허용 기능은 전혀 없습니다. 물리 디스크 드라이브 하나라도 손실되면 데이터가 완전히 손실됩니다. 또한 ftScalable은 성능이 저하된 물리 드라이브를 자동으로 서비스에서 제외하고 예비 드라이브를 사용하여 데이터를 사전적으로 재구축할 수 없습니다. 이 RAID 유형은 미션 크리티컬 환경에서 절대 사용해서는 안 됩니다.

RAID-1: RAID-1 가상 디스크(VDISK)는 미러링된 물리 디스크 드라이브 한 쌍으로 구성됩니다. 우수한 읽기 및 쓰기 성능을 제공하며 단일 드라이브 손실을 견딜 수 있습니다. 읽기 작업은 두 물리 드라이브 중 어느 쪽으로도 처리될 수 있지만, 쓰기 작업은 반드시 두 드라이브 모두에 기록되어야 합니다. 고장난 드라이브 복구는 생존한 파트너 드라이브로부터 재미러링만 수행하면 되므로 간단합니다. 성능 저하 모드나 복구 모드에서 작동할 때 일반적으로 성능에 미치는 영향은 최소한입니다.

RAID-10: RAID-10 가상 디스크(VDISK)는 여러 세트의 RAID-1 디스크로 구성되며, 데이터를 모든 RAID-1 쌍에 걸쳐 스트라이핑할 수 있습니다. RAID-10 VDISK는 높은 성능을 제공하며, 데이터 손실 없이 여러 개의 물리적 드라이브 장애를 견딜 수 있는 잠재력을 지닙니다. 성능 저하 모드 또는 복구 모드에서 실행 시 성능에 미치는 영향은 RAID-1 VDISK와 유사합니다.

RAID-5/RAID-6: 이 RAID 유형은 패리티 기반 알고리즘과 스트라이핑을 사용하여 미러링에 비해 비용을 절감하면서도 높은 가용성을 제공합니다. RAID-5 VDISK는 패리티를 위해 물리적 디스크 드라이브 용량 1개 분량을 사용하며, RAID-6는 2개 분량을 사용합니다. RAID-5 VDISK는 단일 디스크 드라이브 장애 시 데이터 손실 없이 생존할 수 있는 반면, RAID-6 VDISK는 두 개의 드라이브 장애를 견딜 수 있습니다.  두 유형 모두 우수한 읽기 성능을 제공하지만, 쓰기 성능은 데이터 블록 자체뿐만 아니라 패리티 블록을 위한 읽기/수정/재기록 작업이 필요하기 때문에 영향을 받습니다. 드라이브 장애(저하 모드)는 처리량에 중간 정도의 영향을 미치는 반면, 복구 모드는 처리량에 큰 영향을 미칩니다.

RAID 유형 선택

각 RAID 유형에는 고유한 장점과 단점이 있습니다. 이를 이해함으로써 환경에 가장 적합한 RAID 유형을 선택할 수 있습니다.

쓰기 속도가 중요하지 않거나, 최고 수준의 접근 속도를 달성하는 것이 중요하지 않은 데이터 및 애플리케이션의 경우 RAID-5가 좋은 선택입니다. 낮은 쓰기 처리량 성능과 높은 지연 시간을 감수하는 대신, 주어진 용량에 대해 더 적은 디스크를 사용하면서도 높은 수준의 내결함성을 달성할 수 있습니다. 그러나 손상된 RAID 세트(즉, 고장난 디스크 드라이브) 상태에서 운영할 경우 애플리케이션에 미치는 영향도 반드시 고려해야 합니다. 패리티 기반 RAID 유형은 미러링 기반 RAID 유형에 비해 손상 모드 및 복구 모드 동안 I/O 성능과 지연 시간이 더 크게 저하됩니다.

쓰기 작업의 속도와 지연 시간을 최적화해야 하는 성능에 의존하는 데이터 및 애플리케이션, 읽기보다 쓰기 작업이 더 많은 데이터 및 애플리케이션, 또는 드라이브 장애 발생 시 성능 저하가 발생해서는 안 되는 데이터 및 애플리케이션의 경우 미러 기반 RAID 유형(RAID-1 또는 RAID-10)이 더 나은 솔루션을 제공합니다. 이 두 RAID 유형은 RAID-5 또는 RAID-6의 '쓰기 전 읽기' 페널티를 제거하므로 데이터 쓰기가 단순한 작업이 됩니다. RAID-10은 일반적으로 RAID-1보다 더 나은 선택입니다. 여러 물리 드라이브에 데이터를 스트라이핑할 수 있어 전체 읽기 및 쓰기 성능을 크게 향상시킬 수 있기 때문입니다. (단, 아래 "VOS 다중 멤버 논리 디스크 대 ftScalable RAID-10 VDISK"섹션을 반드시 참고하십시오).

패리티 기반 RAID 유형과 미러 기반 RAID 유형 중 선택을 결정할 수 없다면, 가장 안전한 선택은 미러 기반 RAID 유형 중 하나를 사용하는 것입니다.

LUN을 VDISK에 할당하기

요약하면, 하나 이상의 물리 디스크가 VDISK를 구성합니다. VDISK는 하나 이상의 LUN으로 분할될 수 있습니다. 각 LUN은 특정 VOS 구성원 디스크에 할당됩니다. 하나 이상의 구성원 디스크가 하나의 VOS 논리 디스크로 결합됩니다.

VDISK에는 단일 LUN을 할당할 것을 강력히 권장합니다. ftScalable은 VDISK를 여러 LUN으로 분할하는 기능을 지원하지만, 이 옵션을 사용하면 I/O 처리량과 지연 시간 모두에 영향을 미치는 상당한 성능 저하가 발생할 수 있습니다.

이러한 성능 저하의 원인은 여러 가지가 있지만, 기본적인 이유는 쉽게 이해할 수 있습니다. VDISK당 다중 LUN 구성에서 ftScalable이 LUN 중 하나에 접근할 때마다 디스크 드라이브 헤드를 탐색해야 합니다. VDISK를 구성하는 LUN이 많을수록 헤드 이동이 증가합니다. 헤드 이동이 많을수록 지연 시간이 길어집니다. 모든 I/O는 결국 VDISK를 구성하는 물리적 드라이브에서 처리되어야 한다는 점을 기억하십시오. 어레이의 캐시 메모리는 이러한 물리적 I/O를 대체할 수 없습니다.

Stratus는 벤치마크를 실행하여 4-LUN VDISK의 총 I/O 처리량이 단일 LUN으로 구성된 동일한 VDISK의 성능보다 약 절반 수준인 반면, 지연 시간은 4배 이상 더 길 수 있음을 입증했습니다!

VOS 논리 디스크를 LUN에 할당하기

가장 간단한 방법은 각 LUN에 하나의 VOS 논리 디스크를 할당하는 것입니다. 단일 LUN보다 큰 VOS 논리 디스크가 필요하거나 스트라이핑의 성능 이점을 활용하려는 경우, 각 구성원 디스크가 단일 LUN인 VOS 다중 구성원 논리 디스크를 생성할 수 있습니다.

VOS 다중 구성원 논리 디스크 대 ftScalable RAID-10 VDISK

스트라이핑은 VOS 수준(VOS 다중 구성원 논리 디스크 생성)이나 ftScalable 수준(RAID-10 VDISK 생성)에서 구현할 수 있으며, 두 방법을 결합한 방식(예: 각각 RAID-5 VDISK인 여러 LUN을 단일 VOS 다중 구성원 논리 디스크로 통합)도 가능합니다. 스트라이핑을 사용하려면 VDISK에 RAID-1 또는 RAID-5를 적용하고, VDISK당 1개의 LUN을 할당한 후 이 LUN들을 VOS 다중 구성원 논리 디스크로 결합하는 것을 권장합니다. VOS는 각 LUN에 대해 별도의 디스크 요청 큐를 사용하므로 LUN 수를 최대화하면 처리량이 극대화되고 지연 시간이 최소화됩니다.

VOS 논리 디스크에 파일 할당하기

가능한 경우, 랜덤 액세스 파일과 순차 액세스 파일을 별도의 논리 디스크에 할당하십시오. 동일한 논리 디스크에 두 가지 유형의 파일 액세스 방식을 혼합하면 랜덤 액세스 파일에 접근하는 데 필요한 최악의 경우 시간이 증가하고 순차 파일의 최대 가능한 처리량이 감소합니다.

요약

이러한 간단한 지침을 통해 안정적이고 높은 처리량, 낮은 지연 시간의 디스크 액세스를 달성할 수 있습니다.

여기서 권장한 구성과 다른 설정을 사용해야 할 타당한 사유가 있다고 생각되시면 담당 계정 팀에 문의해 주십시오. 기존 ftScalable 구성을 검토하고 특정 고객 상황에 대한 지침을 제공하기 위해 항상 대기 중입니다.

이 정보가 도움이 되길 바랍니다. 질문이나 의견이 있으시면 이 게시물에 답글을 남겨 주십시오.

감사의 말씀

이 글 작성 과정에서 조 산지오가 귀중한 도움을 주셨습니다. 남아 있는 오류는 모두 저의 책임입니다.

© 2024 Stratus Technologies.