고성능 스크래치 파일 시스템을 제공하도록 설계된 BeeGFS 스토리지 솔루션은 다음과 같은 하드웨어 구성 요소를 사용합니다.
관리 서버는 BeeGFS 모니터링 서비스를 실행합니다. 메타데이터 서버는 NUMA 0 존에 있는 12개의 드라이브를 사용하여 MDT(MetaData Targets)를 호스팅하고, 나머지 12개의 드라이브는 NUMA 1 존에서 ST(Storage Target)를 호스팅합니다. 전용 메타데이터 서버는 BeeGFS 메타데이터에 대한 스토리지 용량 요구 사항이 매우 작기 때문에 사용되지 않습니다. 메타데이터와 스토리지 타겟 및 서비스는 별도의 NUMA 노드에서 격리되므로 워크로드를 상당한 분리가 가능합니다. 구성에 사용되는 스토리지 서버에는 NUMA 존당 3개의 스토리지 서비스가 실행되며 서버당 총 6개가 있습니다. 자세한 내용은 발표 블로그를 참조하십시오. 그림 1은 Dell EMC HPC and AI Innovation Lab에서 테스트 및 검증된 2가지 기본 구성을 보여줍니다.
그림 1: 기본 구성
소규모 구성은 3개의 R740xd 서버로 구성됩니다. 총 15개의 스토리지 타겟이 있습니다. 중간 구성에는 6개의R740xd 서버가 있으며 총 33개의 스토리지 타겟이 있습니다. 사용자는 "소형" 구성으로 시작하거나 "보통" 구성으로 시작할 수 있으며 필요에 따라 스토리지 또는 메타데이터 서버를 추가하여 스토리지 공간과 전반적인 성능 또는 파일 및 메타데이터 성능의 수를 늘릴 수 있습니다. 표 1은 Dell EMC HPC and AI Innovation Lab에서 광범위하게 테스트 및 검증된 기본 구성의 성능 데이터를 보여줍니다.
기본 구성 | 작은 | 중간 | |
---|---|---|---|
총 U(MDS+SS) | 6u | 12U | |
전용 스토리지 서버 수 | 2 | 5 | |
데이터 스토리지용 NVMe 드라이브 수 | 60 | 132 | |
예상 가용 공간 | 1.6 TB | 86TiB | 190TiB |
3.2TB | 173TiB | 380TiB | |
6.4TB | 346TiB | 761TiB | |
최대 순차적 읽기 | 60.1GB/s | 132.4GB/s | |
최대 순차 쓰기 | 57.7GB/s | 120.7GB/s | |
랜덤 읽기 | 180만 IOPS | 354만 IOPS | |
랜덤 쓰기 | 184만 IOPS | 359만 IOPS |
표 1: 기본 구성의 용량 및 성능 세부 정보
위의 공식에서 0.99는 파일 시스템에서 1%의 오버헤드가 있다고 보수적으로 가정하여 얻은 요인입니다. 스토리지용 드라이브 수에 도달하는 경우 MDS에서 12개의 드라이브도 포함됩니다. 이는 MDS에서 NUMA 존 0의 12개 드라이브가 메타데이터에 사용되고 NUMA 존 1의 드라이브 12개는 스토리지에 사용되기 때문입니다. 수식 10^12/2^40의 마지막 요소는 가용 공간을 TB에서 TiB로 변환하는 것입니다.
TiB의 BeeGFS 가용 공간= (0.99* TB 드라이브* 크기 *(10^12/2^40)
구성 | 작은 | 소형 +1 | 소형 +2 | 중간 | 중간 +1 | |
---|---|---|---|---|---|---|
총 U(MDS+SS) | 6u | 8U | 10U | 12U | 14u | |
전용 스토리지 서버 수 | 2 | 3 | 4 | 5 | 6 | |
데이터 스토리지용 NVMe 드라이브 수 | 60 | 84 | 108 | 132 | 156 | |
예상 가용 공간 | 1.6 TB | 86TiB | 121TiB | 156TiB | 190TiB | 225TiB |
3.2TB | 173TiB | 242TiB | 311TiB | 380TiB | 449TiB | |
6.4TB | 346TiB | 484TiB | 622TiB | 761TiB | 898TiB | |
최대 순차적 읽기 | 60.1GB/s | 83.3GB/s | 105.2GB/s | 132.4GB/s | 152.9GB/s | |
최대 순차 쓰기 | 57.7GB/s | 80.3GB/s | 99.8GB/s | 120.7GB/s | 139.9GB/s |
표 2: 확장 구성의 용량 및 성능 세부 정보
언급된 스토리지 풀은 서로 다른 구성의 성능을 특성화하기 위한 명시적 목적으로만 생성되었습니다. 발표 블로그에 자세히 설명된 중간 구성의 성능 평가를 수행하는 동안 33개 대상은 모두 "기본 풀"에만 있었습니다. 아래에 제공된 beegfs-ctl --listtoragepools 명령의 출력은 스토리지 타겟의 할당을 보여줍니다.
# beegfs-ctl --listtoragepools
Pool ID Pool Description Targets Buddy Groups
======= ================== ============================ ============================
1 Default 1,2,3,4,5,6,7,8,9,10,11,12,
13,14,15,16,17,18,19,20,21,
22,23,24,25,26,27,28,29,30,
31,32,33
[1] Dell EMC Ready Solutions for HPC BeeGFS Storage:
https://www.dell.com/support/article/sln319381/[2] BeeGFS 설명서:
https://www.beegfs.io/wiki/[3] 동일한 서브넷에 두 인터페이스를 연결하는 방법:
https://access.redhat.com/solutions/30564[4] 외부 메모리를 사용한 PCI Express Direct 메모리 액세스 참조 설계: https://www.intel.com/content/www/us/en/programmable/documentation/nik1412547570040.html#nik1412547565760