우리는 HPC 클러스터에 공유 파일을 제공하는 중앙 스토리지 서버(PowerEdge R720)를 보유하고 있으며 여기에는 2개의 하드웨어 RAID 컨트롤러(PERC H810, 각각 7200rpm 4TB 디스크로 채워진 2개의 MD1200 인클로저를 구동함)가 연결되어 있습니다. 일반적인 HPC 워크로드와 마찬가지로 액세스 패턴은 고도로 병렬적인 순차 읽기/쓰기일 것으로 예상됩니다. 두 어레이에 파일을 스트라이핑하면 총 처리량이 더 좋아질 것이라고 생각하지만, 하드웨어 RAID 위에 소프트웨어 RAID 0을 추가한다는 아이디어는 제게는 이상하게 들립니다.
나는 두 가지 옵션을 생각해 냈습니다.
- 하드웨어 RAID 6의 소프트웨어 RAID 0의 XFS의 NFS
- 각 하드웨어 RAID 6의 광택
XFS 전문가: 프로젝트 할당량.
XFS 단점: XFS의 NFS는 매우 나쁜 메타데이터 성능을 보여주었습니다(처리량이 많으면 거의 사용할 수 없을 정도로 성능이 저하됩니다. 제가 잘못 조정한 걸까요?).
광택 장점: 메타데이터 성능이 훨씬 향상되었습니다.
광택 단점(?): 전용 메타데이터 장치가 없으므로 배열을 분할해야 합니다. 권장되는 방법은 아닌 것 같습니다.
우리는 순차 R/W가 주요 작업 부하이지만 약 40,000개의 1GB 파일과 같은 작업을 수행하는 일부 프로그램이 있기 때문에 메타데이터 성능을 고려했습니다. 이러한 파일을 대화형으로 관리하려면 허용 가능한 메타데이터 성능이 필요합니다.
마지막 질문은 하드웨어와 소프트웨어에 어떤 스트라이프 크기를 사용해야 합니까?
답변1
우리는 다음 설정을 결정했습니다.
- 각 MD1200 인클로저의 하드웨어 RAID-6
- 4개의 하드웨어 어레이에 있는 2개의 LVM LV(각각 스트라이핑 없이 2개의 카드에 있는 2개의 어레이를 결합함)
- 두 LV의 XFS, 베어 하드웨어 어레이와 동일한 스트라이핑 옵션
- 스트라이핑 없이 두 벽돌의 접착제 볼륨
우리는 사용자의 모든 애플리케이션을 조사한 결과 모든 애플리케이션이 많은 파일에서 작동한다는 사실을 발견했습니다. 따라서 많은 클라이언트가 단일 대용량 파일에 액세스하는 상황이 아니며 Gluster 수준의 스트라이핑이 필요한 상황이 아닙니다. 대신 파일을 브릭에 무작위로 배포하는 것만으로도 충분한 총 처리량을 제공할 수 있습니다.
이 설정의 메타데이터 성능은 Lustre보다 나쁘지만(대략 절반) 처리량이 많아도 저하되지 않습니다. 그것은 수용 가능한 것으로 밝혀졌습니다.
Gluster는 디렉터리에 대한 할당량을 구성하며, Lustre보다 설정이 훨씬 더 쉽기 때문에 Lustre보다 관리 노력이 훨씬 덜 필요합니다. 내 (대략적인) 테스트에서 이 설정의 순차적 처리량은 광택과 동등하므로 관리를 더 쉽게 하기 위해 메타데이터 성능에서 해당 부분을 교환하기로 결정했습니다.