이 문서는 Nirmala Sundararajan, HPC 및 AI 혁신 실습을 통해 작성 되었으며, 4 월 2020
HPC BeeGFS 대용량 스토리지에 대 한 Dell EMC 준비 솔루션은 완벽 하 게 지원 되 고 처리량 높은 병렬 파일 시스템 스토리지 솔루션입니다. 이 블로그에서는 솔루션 아키텍처에 대해 설명 하 고,이를 HPC 성능에 맞게 조정 하 고, IOZone 순차 및 임의 벤치 마크를 모두 사용 하 여 입출력 성능을 제공 합니다. NVMe 디바이스에 구축 된 BeeGFS 고성능 스토리지 솔루션은 11 월 2019일에 발표 된이 블로그에서 설명 되어 있습니다. 이 아키텍처는 성능을 강조 하 고 여기에 설명 된 솔루션은 고용량 스토리지 솔루션입니다. 이 두 가지 솔루션은 디자인 목표와 활용 사례에 따라 달라 집니다. 고성능 솔루션은 일반적으로 작업의 수명 기간을 벗어나 보존 되지 않는 임시 데이터 세트에 대 한 스테이징 접지 인 스크래치 스토리지 솔루션으로 설계 되었습니다. 고용량 솔루션은 총 336 드라이브와 함께 ME4084 스토리지 전체에 장착 된 4x Dell EMC PowerVault 스토리지를 사용 하며, 12tb SAS 드라이브가 장착 된 경우에는 4PB의 물리적 용량을 제공 합니다.
HPC BeeGFS 대용량 스토리지에 대 한 Dell EMC 준비 솔루션은 관리 서버, 한 쌍의 메타 데이터 서버, 스토리지 서버 쌍, 연결 된 스토리지 스토리지로 구성 됩니다. 이 솔루션은 클러스터의 컴퓨팅 노드에서 쉽게 액세스할 수 있는 단일 네임 스페이스를 사용 하는 스토리지를 제공 합니다. 다음 그림에서는 이러한 기본 구성 요소와 관련 된 솔루션 레퍼런스 아키텍처를 보여 줍니다.
그림 1에는 솔루션의 레퍼런스 아키텍처가 나와 있습니다.
그림 1: HPC beDell EMC Fs 저장소
를 위한 준비 솔루션 그림 1에서 BeR640 Fs monitoring 데몬을 실행 하는 관리 서버는 PowerEdge입니다. 두 개의 MDS (MetaData Server)는 활성 상태의 high availability 구성에서 PowerEdge R740 서버입니다. MDS 페어는 2U PowerVault ME4024 스토리지에 12 Gb/s SAS 링크로 연결 됩니다. ME4024 스토리지 시스템은 MDTs (MetaData Targets)를 호스팅합니다. Active active high availability 구성 에서도 PowerEdge R740 서버 한 쌍이 스토리지 서버 (SS)로 사용 됩니다. 이 SS 페어는 12 Gb/s SAS 링크를 사용 하 여 완전히 채워진 PowerVault ME4084 스토리지 어레이에 연결 되어 있습니다. ME4084 스토리지는 Benl-sas Fs 파일 시스템에 대 한 Hdd 및 호스트 STs (Storage Targets)를 선택 하 여 4 TB, 8tb, 10tb 또는 12tb SAS 7.2 RPM K를 지원 합니다. 이 솔루션은 Mellanox InfiniBand HDR100을 사용 하 여 데이터 네트워크를 사용 합니다. 클라이언트와 서버는 HDR splitter 케이블을 사용 하 여 최대 80 개의 HDR100 포트를 지 원하는 1U Mellanox 퀀텀 HDR Edge 스위치 QM8790에 연결 되어 있습니다.
다음 표에서는 솔루션에 대해 검증 된 하드웨어 speficiations 및 소프트웨어 버전을 설명 합니다.
Management Server | 1x Dell EMC PowerEdge R640 |
---|---|
데이터 서버 (MDS) | 2x Dell EMC PowerEdge R740 |
저장소 서버 (SS) | 2x Dell EMC PowerEdge R740 |
프로세서 | Management Server 2 x 인텔 제온 Gold 5218 @ 2.3 g h z, 16 코어 MDS 및 SS: 2 개의 Intel Xeon Gold 6230 @ 2.10 g h z, 20 코어 |
Memory | Management Server 12 x 8GB DDR4 2666MT/s Dimm-96GB MDS 및 SS: 12 개의 32gb DDR4 2933mt/s dimm-384gb |
InfiniBand HCA (슬롯 8) | 1x Mellanox Connectx-3-6 개의 단일 포트 HDR100 어댑터 (MDS 및 SS) |
외부 스토리지 컨트롤러 | 2 개의 Dell 12Gbps SAS Hba (각 MDS) 4x Dell 12gbps SAS hba (각 SS) |
데이터 스토리지 인클로저 | 4 개의 ME4084 드라이브에 8TB SAS 드라이브가 장착 되어 있는 경우, 4 개의 336 드라이브 2.69 PB의 ME4084 인클로저를 완전히 채운 4 개 Dell EMC PowerVault 엔클로저 |
메타 데이터 스토리지 인클로저 | 1x Dell EMC PowerVault ME4024 인클로저 24 개 드라이브를 완전히 채웁니다. |
RAID 컨트롤러 | ME4084 및 ME4024 인클로저의 이중 RAID 컨트롤러 |
하드 디스크 드라이브 | 84-8TB 7200 RPM NL-SAS SAS3 드라이브 ME4084 엔클로저 24-960GB SAS3 ssd/ME4024 엔클로저 |
운영 체제 | CentOS Linux 릴리즈 8.1.1911 (코어) |
커널 버전 | 4.18.0-147.1. el8 _1. x86_64 |
Mellanox OFED 버전 | 4.7-3.2.9.0 |
Grafana | 6.6.2-1 |
InfluxDB | 1.7.10-1 |
BeeGFS FILE SYSTEM | 7.2 beta2 |
표 1: 테스트베드 구성
참고: 성능 상의 특징을 위해, BeeGFS 버전 7.2 beta2가 사용 되었습니다.
Be의 fs 아키텍처 는 다음과 같은 4 가지 주요 서비스로 구성 됩니다.
선택 사항인 Beis Fs Monitoring Service도 있습니다.
커널 모듈인 클라이언트 서비스를 제외 하 고, 관리, 메타 데이터 및 스토리지 서비스는 사용자 공간 프로세스입니다. 동일한 시스템에서 Beis Fs 서비스 (클라이언트 및 서버 구성 요소)를 함께 실행할 수 있습니다. 동일한 시스템에서 모든 Beis Fs 서비스 인스턴스를 여러 개 실행할 수도 있습니다. BeDell EMC Fs의 고용량 구성에서 모니터링 서비스는 management server에서 실행 되며, 메타 데이터 서버에서 실행 되는 메타 데이터 서비스의 여러 인스턴스와 스토리지 서버에서 스토리지 서비스를 실행 하는 단일 인스턴스가 있습니다. 관리 서비스는 메타 데이터 서버에 설치 됩니다.
Be(be) fs monitoring service (be)fs (서비스)는 beInfluxDBfs 통계를 취합 하 여 사용자에 게 제공 합니다 .이는 시계열 데이터베이스를 사용 합니다. 데이터를 시각화 하는 경우, be/mon-grafana 는 상자에서 사용할 수 있는 사전 정의 된 grafana 대시보드를 제공 합니다. 그림 2는 설정에서 스토리지 서비스와 메타 데이터 서비스의 수를 보여 주는 일반 정보를 제공 합니다 (대시보드의 노드 라고 함). 또한 사용할 수 있는 다른 대시보드 뷰도 나열 되어 있으며 스토리지 대상에 대 한 개요를 제공 합니다.
그림 2 Grafana 대시보드-Be(be) Fs 개요
메타 데이터 스토리지에 사용 되는 ME4024 스토리지 어레이가 24 개의 960GB Ssd로 완전히 채워집니다. 이러한 드라이브는 각각 그림 3과 같이 2 개 드라이브의 12 개의 선형 RAID1 디스크 그룹에 구성 되어 있습니다. 각 RAID1 그룹은 메타 데이터 대상입니다.
그림 3 ME4024 스토리지 (12 개의 MDTs)
Be(be) Fs 내에서 각 메타 데이터 서비스는 단일 MDT만 처리 합니다. 12 개의 MDTs가 있으므로 메타 데이터 서비스 인스턴스가 12 개 있어야 합니다. 2 개의 메타 데이터 서버 각각은 메타 데이터 서비스의 6 개 인스턴스를 실행 합니다. Ext4 파일 시스템을 사용 하 여 메타 데이터 대상을 포맷 합니다 (ext4 파일 시스템은 작은 파일 및 작은 파일 작업에서 잘 작동). 또한 Beinode Fs는 ext4 파일 시스템에서 잘 작동 하는 성능을 최적화 하기 위해 확장 된 속성 및 파일 시스템의 직접 정보를 저장 합니다.
맨 위로 이동
Bemgmtd 서비스는 두 메타 데이터 서버 모두에서 설정 됩니다. 아래와 같이 mgmtd 저장소는 메타 데이터 타겟 1의 디렉토리 mgmtd에서 초기화 됩니다.
/opt/beegfs/sbin/beegfs-setup-mgmtd-p/beegfs/metaA-numa0-1/mgmtd-S be... fs-mgmt
Management service가 metaA server에서 시작 됩니다.
이 고용량 BeME4084 Fs 솔루션에서는 데이터 저장소가 4 개의 PowerVault 스토리지 스토리지에 걸쳐 있습니다. 10 개의 드라이브 (8 + 2)의 선형 RAID-1 디스크 그룹은 각 어레이에 생성 됩니다. 모든 공간을 사용 하는 단일 볼륨이 모든 디스크 그룹에 대해 생성 됩니다. 이로 인해 스토리지 당 디스크 그룹/볼륨을 8 개씩 생성 합니다. 각 어레이에는 84 드라이브가 있고 8 x RAID-1 디스크 그룹을 생성 하면 스토리지 볼륨 전체의 전역 핫 스페어로 구성할 수 있는 4 개의 드라이브가 남게 됩니다.
위에서 설명한 레이아웃을 사용 하면 그림 1에 표시 된 기본 구성에서 4 x ME4084에 총 32 x RAID-1 볼륨을 사용할 수 있습니다. 이러한 각 RAID-1 볼륨은 Be의 Fs 파일 시스템에 대 한 ST (Storage Target)로 구성 되며,이로 인해 파일 시스템에 전체 32 STs가 발생 합니다.
각 ME4084 스토리지에는 84 드라이브가 있고 상단 서랍에는 0-41 번호가 지정 된 드라이브와 하단 서랍에 번호가 매겨진 42-84가 있습니다. 그림 5에서 1 ~ 8로 표시 된 10 개의 드라이브 세트가 모두 8xRAID6 그룹을 나타냅니다. 각 RAID6 그룹에서 하나의 볼륨이 생성 됩니다. "S"로 표시 된 드라이브는 전역 스페어를 나타냅니다. 그림 5는 8 개의 볼륨을 구성 하 고 글로벌 스페어 4 개를 구성한 후의 스토리지 전면 모습을 보여 줍니다.
그림 4 ME4084 1 개에 있는 RAID 6 (8 + 2) 디스크 그룹 레이아웃
Be(be) Fs client 모듈은 Be(be) Fs 파일 시스템에 액세스 해야 하는 모든 호스트에 로드 됩니다. Be(be) Fs 모듈이 로드 되 고 bebeegfs-mounts fs 클라이언트 서비스가 시작 되 면 서비스는 /etc/fstab를 기반으로 하는 일반적인 접근 방식을 대신 하 여/등/beis fs/ 파일에 정의 된 파일 시스템을 마운트합니다. 이 접근 방식을 사용 하는 경우, be상관 관계는 서비스 시작 스크립트를 통해 다른 Linux 서비스와 마찬가지로 시작 되며, 시스템 업데이트 후 be의 fs client 모듈을 자동으로 다시 컴파일할 수 있습니다.
이 섹션에서는 IOzone 순차 및 임의 벤치 마크를 사용 하 여 HPC BeeGFS 대용량 스토리지 솔루션에 대 한 Dell EMC 준비 솔루션의 성능 특징을 설명 합니다. IOR 및 MDtest를 사용 하는 추가 성능 및 고가용성 구성에 대 한 자세한 내용은 나중에 게시할 백서를 참조 하십시오.
저장소 성능은 IOzone 벤치 마크 (v 3.487)를 사용 하 여 평가 됩니다. 순차 읽기 및 쓰기 처리량과 랜덤 읽기 및 쓰기 IOPS을 측정 했습니다. 표 2에는 이러한 성능 연구를 위해 BeR840 서버를 PowerEdge 구성 하는 방법에 대 한 자세한 설명이 나와 있습니다.
클라이언트용 | 8x Dell EMC PowerEdge R840 |
---|---|
프로세서 | 4 x Intel (R) Xeon (R) 플래티넘 8260 CPU @ 2.40 g h z, 24 코어 |
Memory | 24x 16GB DDR4 2933MT/s Dimm-384GB |
운영 체제 | Red Hat Enterprise Linux Server 릴리스 7.6(Maipo) |
커널 버전 | 3.10.0-957.el7.x86_64 |
상호 연결 | 1x Mellanox Connectx-3-6 단일 포트 HDR100 어댑터 |
OFED 버전 | 4.7-3.2.9.0 |
표 2 클라이언트 구성
서버와 클라이언트는 아래의 표 3에 나와 있는 HDR100 네트워크와 네트워크 세부 정보를 통해 연결 됩니다.
InfiniBand 스위치 | QM8790 Mellanox 퀀텀 HDR Edge 스위치-IU with 80x HDR 100 100Gb/s 포트 (splitter 케이블 사용) |
---|---|
관리 스위치 | Dell Networking S3048-ON ToR 스위치-1U x 1GbE, 4x SFP + 10GbE 포트 |
표 3: 네트워킹
순차적 읽기 및 쓰기는 IOzone의 순차 읽기 및 쓰기 모드를 사용 하 여 측정 됩니다. 이 테스트는 스레드 한 개에서 시작하여 2의 제곱(최대 64 스레드)으로 증가하는 다중 스레드에서 수행했습니다. 이 테스트는 스레드당 파일 한 개 또는 N-N 케이스로 작동하므로 각 스레드 개수에서 동일한 수의 파일이 생성되었습니다. 이러한 프로세스는 8 개의 물리적 클라이언트 노드에 분산 되어 있어 요청이 로드 밸런싱와 균등 하 게 분산 됩니다.
스레드 개수 16 이상에 대해 집계 파일 크기는 8TB입니다 .이는 서버 로부터의 캐싱 및 Be고 대 중 Fs 클라이언트의 캐시에 미치는 영향을 최소화 하기 위해 선택 했습니다. 16 이하의 스레드 수에 대 한 파일 크기는 스레드마다 768 GB입니다 (2 개의 스레드는 1.5 TB, 4 개의 스레드는 3TB, 8 개의 스레드에 대해서는 6TB). 특정 테스트 내에서 사용 되는 집계 파일 크기는 스레드 수와 균등 하 게 분할 되었습니다. 모든 실행에 대해 레코드 크기 1MiB가 사용 되었습니다. 순차적 N-N 테스트에 사용 되는 명령은 아래에 나와 있습니다.
순차적 쓰기 및 읽기: iozone-i $test-c-e-w-r 1m-s $Size-t $Thread-+ n-+ m/path/to/threadlist
또한 다음 명령을 실행 하 여 반복 간 및 쓰기 및 읽기 테스트 간에 서버에서 OS 캐시가 삭제 되었습니다.
# sync & & echo 3 >/proc/sys/vm/drop_caches
파일 시스템이 반복 간에 클라이언트에서 마운트 해제 되 고 다시 탑재 되 고 쓰기 및 읽기 테스트 간에 캐시를 지웁니다.
그림 5: N-N 순차 읽기 성능
그림 5에서 23.70 GB/s의 최고 처리량은 256 스레드 및 512 스레드에서 획득 한 22.07 GB/s의 최고 쓰기 수입니다. 단일 스레드 쓰기 성능은 623 MB/s이 고 읽기는 717 MB/s입니다. 성능에는 최대 32 스레드까지 거의 선형적으로 확장 됩니다. 그 후에는 scale을 확장 하는 동안에는 데이터를 읽고 쓰는 것을 확인할 것입니다. 이를 통해 읽기에 대 한이 구성의 전반적인 지속적인 성능이 ≈ 23GB/s이 고, 쓰기 작업은 위에 언급 된 것과 같이 최대 ≈ 22GB/s입니다. 읽기는 사용 되는 스레드 수와 관계 없이 쓰기와 매우 유사 하거나 약간 더 높습니다.
랜덤 입출력 성능을 평가 하기 위해 임의 모드에서 IOzone을 사용 했습니다. 16 ~ 512 스레드의 스레드 수에서 테스트를 수행 했습니다. Direct IO 옵션 (-I)은 모든 작업이 버퍼 캐시를 우회 하 고 디스크로 직접 이동 하도록 IOzone을 실행 하는 데 사용 됩니다. Beount Fs 스트라이프 수 1 및 청크 크기 1MB가 사용 되었습니다. 요청 크기가 4KiB로 설정 되었습니다. 성능이 초당 I/o 작업 (IOPS) 단위로 측정 되었습니다. 운영 체제 캐시를 Be(be) Fs 서버에서 실행 간에 삭제 했습니다. 테스트 반복 간에 파일 시스템이 마운트 해제 되 고 클라이언트에 다시 탑재 됩니다. 랜덤 읽기 및 쓰기 테스트에 사용 되는 명령은 다음과 같습니다.
iozone-i 2-w-c-O-r 4K-s $Size-t $Thread-+ n-+ m/path/to/threadlist
그림 6n-n 랜덤 성능
그림 6에는 쓰기 성능이 31K IOPS에 도달 하 고 32 스레드에서 512 스레드로 안정적으로 유지 되는 것을 보여 줍니다. 이와 대조적으로, 512 스레드에서 최대 47K IOPS 까지의 입출력 요청 수가 증가 함에 따라 읽기 성능이 향상 되 고,이는 솔루션에 대해 테스트 된 최대 스레드 수입니다. ME4를 사용 하려면 최대 읽기 성능에 도달 하기에 더 높은 대기열 깊이가 필요 하며,이 그래프는 1024 동시 스레드를 실행 하는 경우 더 높은 성능을 얻을 수 있음을 나타냅니다. 하지만 8 개 클라이언트 에서만 테스트를 실행 했으므로 1024 스레드 수를 실행 하기에 충분 한 코어가 없었습니다.
맨 위로 이동
다음 튜닝 매개 변수가 솔루션의 성능 특성을 수행 하는 동안 발생 했습니다.
Be/Fs의 기본 스트라이프 수는 4입니다. 하지만 청크 크기와 파일당 타겟 수 (stipe 개수)는 디렉토리 별로 또는 파일당 단위로 구성할 수 있습니다. 이러한 모든 테스트에 대해, 아래와 같이 Beount Fs 스트라이프 크기가 1MB로 설정 되었고 스트라이프 수가 1로 설정 되었습니다.
$beegfs-ctl--getentryinfo--mount =/mnt/beegfs//mnt/beegfs/benchmark/--verbose
항목 유형: 디렉토리
EntryID: 1-5E72FAD3-1
ParentID: root
Metadata Node: metaA-numa0-1 [ID: 1]
스트라이프 패턴 세부 정보:
+ 유형: RAID0
+ chunksize: 1m
+ 스토리지 대상 수: 권장: 1
+ 스토리지 풀: 1 (기본값)
inode 해시 경로: 61/4C/1-5E72FAD3-1
투명 한 큰 페이지가 비활성화 되 고 메타 데이터 및 스토리지 서버에 다음과 같은 가상 메모리 설정이 구성 되어 있습니다.
스토리지 서버의 스토리지 블록 디바이스에는 다음과 같은 튜닝 옵션이 사용 됩니다.
위의 사항 외에도 다음과 같은 Be성능 튜닝 옵션을 사용 했습니다.
be... fs-meta.
connMaxInternodeNum = 64
tunenumworkers = 12
tuneuseperusermsg큐 = true # Optional
tuneTargetChooser = roundrobin (벤치마킹)
be(fs) 저장소.
connMaxInternodeNum = 64
tunenumworkers = 12
tuneusepertargetworker = true
tuneuseperusermsg대기열 = true # Optional
asebindtonumazone = 0
tunefilreada헤드 크기 = 2m
be등 fs-클라이언트.
connMaxInternodeNum = 24
connBufSize = 720896
이 블로그는 Dell EMC BeeGFS 대용량 스토리지 솔루션의 릴리즈를 발표 하 고 성능 특성을 강조 표시 합니다. 이 솔루션은 IOzone 순차 벤치 마크를 사용 하 여 쓰기에 대 한 읽기 및 22.1 GB/s 23.7의 최고 성능을 제공 합니다. 또한 31.3 K IOPS의 임의 쓰기 피크와 47.5 K IOPS에서 랜덤 쓰기 작업을 확인할 수 있습니다.
다음 단계의 일환으로 메타 데이터 성능 및 N 스레드를이 솔루션의 단일 파일 (N ~ 1)로 IOR 합니다. 검증 및 평가 프로세스가 완료 된 후이 고용량 솔루션에 대 한 설계 고려 사항에 대 한 추가 세부 정보를 제공 하는 솔루션의 메타 데이터 및 IOR 성능을 설명 하는 백서는 백서를 참조 하십시오.