단일 시스템에 소규모 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에 저장되어야 합니다.