6.3. OSD 메모리 자동 튜닝

OSD 데몬은 osd_memory_target 구성 옵션을 기반으로 메모리 사용량을 조정합니다. osd_memory_target 옵션은 시스템에서 사용 가능한 RAM에 따라 OSD 메모리를 설정합니다.

Red Hat Ceph Storage가 다른 서비스와 메모리를 공유하지 않는 전용 노드에 배포된 경우 cephadm 은 총 RAM 용량 및 배포된 OSD 수에 따라 자동으로 OSD 소비를 조정합니다.

중요

기본적으로 Red Hat Ceph Storage 5.1에서 osd_memory_target_autotune 매개 변수가 true 로 설정됩니다.

구문

ceph config set osd osd_memory_target_autotune true

스토리지 클러스터가 Red Hat Ceph Storage 5.0으로 업그레이드되면 OSD 또는 OSD 교체와 같은 클러스터 유지 관리를 위해 osd_memory_target_autotune 매개변수를 true 로 설정하여 시스템 메모리별로 osd 메모리를 자동 튜닝하는 것이 좋습니다.

Cephadm은 일부 mgr/cephadm/autotune_memory_target_ratio 로 시작합니다. 기본값은 시스템에서 총 RAM의 0.7 으로 설정하고, non-autotuned 데몬에서 사용하는 메모리를 제거하고, osd_memory_target_autotune 이 false인 OSD에 대해 사용합니다.

기본적으로 하이퍼 컨버지드 인프라의 경우 autotune_memory_target_ratio 는 0.2이며 기타 환경의 경우 0.7입니다.

osd_memory_target 매개변수는 다음과 같이 계산됩니다.

구문

osd_memory_target = TOTAL_RAM_OF_THE_OSD_NODE (in Bytes) * (autotune_memory_target_ratio) / NUMBER_OF_OSDS_IN_THE_OSD_NODE - (SPACE_ALLOCATED_FOR_OTHER_DAEMONS (in Bytes))

SPACE_ALLOCATED_FOR_OTHER_DAEMONS 는 선택적으로 다음과 같은 데몬 공간 할당을 포함할 수 있습니다.

  • Alertmanager: 1GB
  • Grafana: 1GB
  • Ceph Manager: 4GB
  • Ceph 모니터: 2GB
  • node-exporter: 1GB
  • Prometheus: 1GB

예를 들어 노드에 OSD가 24개 있고 251GB RAM 공간이 있는 경우 osd_memory_target7860684936 입니다.

최종 대상은 옵션이 있는 구성 데이터베이스에 반영됩니다. MEM LIMIT 열의 ceph orch ps 출력에서 각 데몬에서 사용하는 제한 및 현재 메모리를 볼 수 있습니다.

참고

Red Hat Ceph Storage 5.1에서 osd_memory_target_autotune true 의 기본 설정은 컴퓨팅 및 Ceph 스토리지 서비스가 함께 배치되는 하이퍼컨버지드 인프라에 적합하지 않습니다. 하이퍼컨버지드 인프라에서 autotune_memory_target_ratio0.2 로 설정하여 Ceph의 메모리 사용을 줄일 수 있습니다.

예제

[ceph: root@host01 /]# ceph config set mgr mgr/cephadm/autotune_memory_target_ratio 0.2

스토리지 클러스터에서 OSD의 특정 메모리 대상을 수동으로 설정할 수 있습니다.

예제

[ceph: root@host01 /]# ceph config set osd.123 osd_memory_target 7860684936

스토리지 클러스터에서 OSD 호스트에 대한 특정 메모리 대상을 수동으로 설정할 수 있습니다.

구문

ceph config set osd/host:HOSTNAME osd_memory_target TARGET_BYTES

예제

[ceph: root@host01 /]# ceph config set osd/host:host01 osd_memory_target 1000000000

참고

osd_memory_target_autotune 을 활성화하면 기존 수동 OSD 메모리 대상 설정을 덮어씁니다. osd_memory_target_autotune 옵션 또는 기타 유사한 옵션이 활성화된 경우에도 데몬 메모리가 튜닝되지 않도록 하려면 호스트에서 _no_autotune_memory 레이블을 설정합니다.

구문

ceph orch host label add HOSTNAME _no_autotune_memory

autotune 옵션을 비활성화하고 특정 메모리 대상을 설정하여 메모리 자동 튜닝에서 OSD를 제외할 수 있습니다.

예제

[ceph: root@host01 /]# ceph config set osd.123 osd_memory_target_autotune false
[ceph: root@host01 /]# ceph config set osd.123 osd_memory_target 16G