Ceph에는 작은 모니터/MD가 많이 있습니다.

Ceph에는 작은 모니터/MD가 많이 있습니다.

세프 문서(http://docs.ceph.com/docs/jewel/start/hardware-recommendations/)는 클러스터가 확장됨에 따라 더 강력한 하드웨어의 필요성을 강조합니다.

예를 들어 필수 하드웨어 사양은 다음과 같습니다 ceph-mon.

프로세서

1x 64비트 AMD-64/i386
1x 32비트 ARM 듀얼 코어 이상
1x i386 듀얼 코어

메모리

데몬당 1GB

디스크 공간

데몬당 10GB

회로망

2 x 1GB 이더넷 네트워크 카드

데몬당 숫자는 OSD당을 의미한다고 가정합니다. 각각 4TB의 베이 12개가 있는 JBOD가 여러 개 있는 경우 이 숫자는 빠르게 커질 수 있습니다.

RPI 클러스터를 사용하여 작업을 수행하려는 경우 이 요구 사항을 충족하기 위해 여러 노드에 로드를 분산할 수 있습니까, 아니면 각 ceph-mon노드가 이러한 최소값을 충족할 수 있도록 요구할 수 있습니까?

ceph-mds더 엄격한 요구 사항이 있는 경우 많은 소형 보드(예: odroid XU4)에서도 서비스를 제공할 수 있습니까?

답변1

Ceph 클러스터에서 RPi가 어떻게 작동하는지 설명할 수는 없지만 도움이 된다면 프로덕션 클러스터의 일부 데이터를 제공할 수 있습니다. 3개의 MON, 25개의 OSD(노드당 4~6개의 OSD)가 있습니다. MON은 3개의 MDS 중 2개와 마찬가지로 OSD 노드에 배포됩니다(현재 MDS를 전용 서버에 아웃소싱함).

현재 복구(I/O 집약적)로 인한 성능 데이터는 없지만 정상 클러스터의 데이터는 있습니다. MON 값은 751804B(VIRT)와 339848B(RSS)로 시간이 지나도 매우 안정적입니다. 따라서 메모리 소비는 그다지 높지 않으며 1GB RAM이면 충분하며 Raspberry Pi도 처리할 수 있습니다.

MDS를 살펴보면 모든 것이 요구 사항과 작업량에 따라 다르다고 말하기는 어렵습니다. 클라이언트 수가 적은 상황에서는 1~2GB의 RAM이면 충분하지만 빠르게 늘어날 수 있습니다. 숫자를 알려드리자면, 클라이언트 50개(또는 더 정확하게는 클라이언트 연결)의 경우 활성 MDS에 대한 mds_cache_memory_limit는 6GB이며 최근 4GB에서 늘어났습니다. 현재 사용량은 7.7GB(VIRT) 6.9GB(RSS)이며, MDS는 구성된 것보다 조금 더 많이 사용하는 경향이 있습니다. MDS는 여러 활성 MDS 데몬으로 실행될 수 있습니다. 읽어보십시오.이것다중 MDS 설정에 대한 추가 정보. 그것은 말한다:

더 많은 데몬을 추가해도 모든 작업 부하의 성능이 향상되지 않을 수 있습니다. 일반적으로 단일 클라이언트에서 실행되는 단일 응용 프로그램은 응용 프로그램이 많은 수의 메타데이터 작업을 병렬로 수행하지 않는 한 MDS 데몬을 추가해도 이점을 얻지 못합니다. 일반적으로 다수의 활성 MDS 데몬을 통해 이점을 얻는 워크로드는 클라이언트가 많고 별도의 여러 디렉터리에서 작업할 수 있는 워크로드입니다.

적은 수의 OSD로 여러 노드를 실행하면 OSD에 대한 부하를 분산시킬 수 있지만, OSD용 RAM 용량이 실제로 RPi에 적합하지 않다고 생각합니다. Bluestore OSD(로그는 SSD에 있음)에서는 약 4GB(VIRT) 및 2.8GB(RSS)를 소비하므로 여기에 다시 언급된 데몬당 1GB는 포함되지 않으며 모두 실제 작업 부하에 따라 다릅니다.

워크로드 추가, OSD 추가, CephFS 클라이언트 추가 등을 수행하면서 클러스터를 구축하고 성능 데이터를 관찰하는 것이 좋습니다. 클러스터의 한계와 조정 가능 여부를 빠르게 파악할 수 있습니다.

관련 정보