Ceph Luminous OSD 메모리 사용량

Ceph Luminous OSD 메모리 사용량

단일 시스템에 소규모 CEPH 클러스터를 구축하려고 합니다. 대규모 프로젝트를 위해 전환하기 전에 실험실에서 테스트해 보겠습니다. 기억력에 문제가 있고 그것을 통제할 방법을 찾을 수 없습니다.

우리는 오래된 Core2Duo CPU, 4GB RAM을 가지고 있습니다. 3개의 로컬 8TB 디스크를 사용하여 3개의 OSD를 만듭니다.

ceph-deploy는 3개의 OSD 각각에 대해 크기가 2GB인 1개의 tmpfs 파티션을 생성하고 최대 50GB의 데이터를 CephFS Bluestore에 복사한 후 상자가 RAM을 적극적으로 사용하기 시작하고 결국 모든 스왑을 사용하는 것을 제외하고 모든 것이 잘 실행되도록 합니다. OSD 프로세스에서 사용할 수 있는 RAM 양을 제어하는 ​​올바른 설정을 찾지 못했습니다.

RAM보다 IO를 더 많이 사용해도 괜찮습니다. 도움을 받으세요(가능한 경우). :) Centos 7에서 모든 것을 구축하고 있습니다.

답변1

세프 13.2.2릴리즈 노트다음과 같이 말해보세요...

bluestore_cache_* 옵션은 더 이상 필요하지 않습니다. 이는 기본값이 4GB인 osd_memory_target으로 대체됩니다. BlueStore는 이 한도 내에서 유지하기 위해 캐시를 확장 및 축소합니다. 업그레이드 사용자는 이 기본값이 이전의 bluestore_cache_size인 1GB보다 높으므로 BlueStore를 사용하는 OSD는 기본적으로 더 많은 메모리를 사용한다는 점에 유의해야 합니다. 자세한 내용은 BlueStore 설명서를 참조하세요.

나는 이것이 나를 놀라게 했다. 내 OSD가 상주 메모리 사용량으로 인해 미쳐가고 있습니다. 커널이 osd 프로세스를 종료하고 있습니다.

새 키로 전환하고 osd 프로세스를 바운싱하면 견고한 성능을 얻을 수 있었습니다.

답변2

이것은 자주 묻는 질문이며 ceph 메일링 리스트는 이러한 질문에 대한 매우 유용한 아카이브입니다.이것. bluestore_cache_size 값을 줄일 수 있습니다. 기본값은 SSD의 경우 3GB, HDD OSD의 경우 1GB입니다.

# If bluestore_cache_size is zero, bluestore_cache_size_hdd or bluestore_cache_size_ssd will be used instead.

host1:~ # ceph daemon osd.3 config show | grep bluestore_cache_size
    "bluestore_cache_size": "0",
    "bluestore_cache_size_hdd": "1073741824",
    "bluestore_cache_size_ssd": "3221225472",

하지만 프로덕션 클러스터에서 모니터링한 결과 HDD-OSD의 남은 메모리는 약 3GB이므로 필요에 따라 이 값을 조정해야 합니다. 구성 참조는여기.

먼저 하나의 OSD로 시작하고 노드의 성능을 관찰하는 것이 좋습니다. 메모리(또는 기타 측정)가 정상이면 다른 OSD를 추가하세요. 하나 또는 두 개의 OSD 제한에 도달한 경우 필요에 맞게 구성을 조정해야 합니다. 이 값은 온라인으로 변경할 수 있습니다.

host1:~ # ceph daemon osd.<ID> config set bluestore_cache_size[_hdd|_ssd] <VALUE>

구성에 대한 영구 변경 사항은 /etc/ceph/ceph.conf에 저장되어야 합니다.

관련 정보