검색

10.7. Ceph OSD 용량 결정

download PDF

전체 IOPS 측면에서 Ceph OSD 용량은 Ceph OSD 초기화 중에 자동으로 결정됩니다. 이를 위해 Ceph OSD bench 툴을 실행하고 장치 유형에 따라 osd_mclock_max_capacity_iops_[hdd, ssd] 옵션의 기본값을 덮어씁니다. 사용자가 Ceph OSD 용량을 설정하기 위해 다른 작업이나 입력이 필요하지 않습니다.

자동화된 프로세스에서 비현실적 Ceph OSD 용량 완화

특정 조건에서는 드라이브 구성 및 기타 환경 관련 조건에 따라 Ceph OSD bench 툴에 비현실적 또는 inflated 결과가 표시될 수 있습니다.

이 비현실적 용량으로 인해 성능에 미치는 영향을 완화하기 위해 OSD 장치 유형에 따라 몇 가지 임계값 구성 옵션을 정의하고 사용합니다.

  • osd_mclock_iops_capacity_threshold_hdd = 500
  • osd_mclock_iops_capacity_threshold_ssd = 80000

다음 명령을 실행하여 이러한 매개변수를 확인할 수 있습니다.

[ceph: root@host01 /]# ceph config show osd.0 osd_mclock_iops_capacity_threshold_hdd
500.000000
[ceph: root@host01 /]# ceph config show osd.0 osd_mclock_iops_capacity_threshold_ssd
80000.000000
참고

OSD를 수동으로 벤치마킹하거나 BlueStore throttle 매개변수를 수동으로 튜닝하려면 OSD 수동 벤치마킹을 참조하십시오.

다음 명령을 실행하여 클러스터가 가동된 후 OSD의 용량을 확인할 수 있습니다.

구문

ceph config show osd.N osd_mclock_max_capacity_iops_[hdd, ssd]

예제

[ceph: root@host01 /]# ceph config show osd.0 osd_mclock_max_capacity_iops_ssd

위의 예에서는 기본 장치가 SSD인 Red Hat Ceph Storage 노드에서 osd.0 의 최대 용량을 볼 수 있습니다.

다음 자동 단계가 수행됩니다.

기본 OSD 용량 사용 대체

Ceph OSD bench 툴에서 위의 임계값을 초과하는 측정을 보고하는 경우 대체 메커니즘은 osd_mclock_max_capacity_iops_hdd 또는 osd_mclock_max_capacity_iops_ssd 의 기본값으로 되돌립니다. 임계값 구성 옵션은 사용된 드라이브 유형에 따라 재구성할 수 있습니다.

측정이 임계값을 초과하는 경우 클러스터 경고가 기록됩니다.

예제

3403 Sep 11 11:52:50 dell-r640-039.dsal.lab.eng.rdu2.redhat.com ceph-osd[70342]: log_channel(cluster) log [WRN] : OSD bench result of 49691.213005 IOPS exceeded the threshold limit of 500.000000 IOPS for osd.27. IOPS capacity is unchanged at 315.000000 IOPS. The recommendation is to establish the osd's IOPS capacity using other benchmark tools (e.g. Fio) and then override osd_mclock_max_capacity_iops_[hdd|ssd].

중요

기본 용량이 Ceph OSD 용량을 정확하게 나타내지 않는 경우, 드라이브에서 기본 툴(예: Fio)을 사용하여 사용자 정의 벤치마크를 실행한 다음 최대 OSD 용량 지정에 설명된 대로 osd_mclock_max_capacity_iops_[hdd, ssd] 옵션을 재정의하는 것이 좋습니다.

추가 리소스

10.7.1. OSD의 용량 확인

스토리지 클러스터를 설정한 후 Ceph OSD의 용량을 확인할 수 있습니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • Ceph Monitor 호스트에 대한 루트 수준 액세스.

프로세스

  1. Cephadm 쉘에 로그인합니다.

    예제

    [root@host01 ~]# cephadm shell

  2. Ceph OSD의 용량을 확인합니다.

    구문

    ceph config show osd.OSD_ID osd_mclock_max_capacity_iops_[hdd, ssd]

    예제

    [ceph: root@host01 /]# ceph config show osd.0 osd_mclock_max_capacity_iops_ssd
    
    21500.000000

10.7.2. OSD 수동 벤치마킹

Ceph OSD를 수동으로 벤치마킹하려면 기존 벤치마킹 도구(예: Fio)를 사용할 수 있습니다. 사용된 도구 또는 명령에 관계없이 아래 단계는 동일하게 유지됩니다.

중요

shard 및 BlueStore throttle 매개변수의 수는 mClock 작업 큐에 영향을 미칩니다. 따라서 mclock 스케줄러의 영향을 극대화하려면 이러한 값을 신중하게 설정하는 것이 중요합니다. 이러한 값에 대한 자세한 내용은 M Clock 작업 대기열에 영향을 미치는 Factors 를 참조하십시오.

참고

이 섹션의 단계는 OSD 초기화 중에 자동으로 결정된 Ceph OSD 용량을 재정의하려는 경우에만 필요합니다.

참고

이미 벤치마크 데이터를 결정하고 Ceph OSD의 최대 OSD 용량을 수동으로 재정의하려는 경우 최대 OSD 용량 지정 섹션으로 건너뜁니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • Ceph Monitor 호스트에 대한 루트 수준 액세스.

프로세스

  1. Cephadm 쉘에 로그인합니다.

    예제

    [root@host01 ~]# cephadm shell

  2. Ceph OSD를 벤치마크합니다.

    구문

    ceph tell osd.OSD_ID bench [TOTAL_BYTES] [BYTES_PER_WRITE] [OBJ_SIZE] [NUM_OBJS]

    다음과 같습니다.

    • TOTAL_BYTES: 작성할 총 바이트 수입니다.
    • BYTES_PER_WRITE: 쓰기당 블록 크기입니다.
    • OBJ_SIZE:object 당
    • NUM_OBJS: 쓸 오브젝트 수입니다.

    예제

    [ceph: root@host01 /]# ceph tell osd.0 bench 12288000 4096 4194304 100
    {
        "bytes_written": 12288000,
        "blocksize": 4096,
        "elapsed_sec": 1.3718913019999999,
        "bytes_per_sec": 8956977.8466311768,
        "iops": 2186.7621695876896
    }

10.7.3. 올바른 BlueStore throttle 값 확인

이 선택적 섹션에서는 올바른 BlueStore throttle 값을 결정하는 데 사용되는 단계를 자세히 설명합니다. 이 단계에서는 기본 shard를 사용합니다.

중요

테스트를 실행하기 전에 정확한 측정을 얻으려면 캐시를 지웁니다. 다음 명령을 사용하여 각 벤치마크 실행 간에 OSD 캐시를 지웁니다.

구문

ceph tell osd.OSD_ID cache drop

예제

[ceph: root@host01 /]# ceph tell osd.0 cache drop

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • 벤치마크하려는 OSD를 호스팅하는 Ceph Monitor 노드에 대한 루트 수준 액세스.

프로세스

  1. Cephadm 쉘에 로그인합니다.

    예제

    [root@host01 ~]# cephadm shell

  2. OSD에서 간단한 4KiB 임의 쓰기 워크로드를 실행합니다.

    구문

    ceph tell osd.OSD_ID bench 12288000 4096 4194304 100

    예제

    [ceph: root@host01 /]# ceph tell osd.0 bench 12288000 4096 4194304 100
    {
        "bytes_written": 12288000,
        "blocksize": 4096,
        "elapsed_sec": 1.3718913019999999,
        "bytes_per_sec": 8956977.8466311768,
        "iops": 2186.7621695876896 1
    }

    1
    osd bench 명령의 출력에서 얻은 전체 처리량입니다. 이 값은 기본 BlueStore throttle 옵션이 적용되는 경우 기본 처리량입니다.
  3. 이전 명령의 출력에서 얻은 전체 처리량( IOPS)에 유의하십시오.
  4. 환경에 대한 BlueStore throttle 값을 확인하려면 bluestore_throttle_bytesbluestore_throttle_deferred_bytes 옵션을 32 KiB, 즉 32768#159s로 설정합니다.

    구문

    ceph config set osd.OSD_ID bluestore_throttle_bytes 32768
    ceph config set osd.OSD_ID bluestore_throttle_deferred_bytes 32768

    예제

    [ceph: root@host01 /]# ceph config set osd.0 bluestore_throttle_bytes 32768
    [ceph: root@host01 /]# ceph config set osd.0 bluestore_throttle_deferred_bytes 32768

    그렇지 않으면 최대 OSD 용량을 지정하는 다음 섹션으로 건너뛸 수 있습니다.

  5. OSD bench 명령을 사용하기 전에 4KiB 임의 쓰기 테스트를 실행합니다.

    예제

    [ceph: root@host01 /]# ceph tell osd.0 bench 12288000 4096 4194304 100

  6. 출력의 전체 처리량을 확인하고 이 값을 이전에 기록된 기본 처리량과 비교합니다.
  7. 처리량이 기준과 일치하지 않는 경우 BlueStore throttle 옵션을 2로 곱하여 늘립니다.
  8. 4KiB 임의 쓰기 테스트를 실행하고, 값을 기준 처리량과 비교하고, 가져온 처리량이 기준 값에 매우 근접할 때까지 BlueStore throttle 옵션을 2로 늘려 단계를 반복합니다.
참고

예를 들어 NVMe SSD가 있는 머신을 벤치마킹하는 동안 BlueStore throttle 및 deferred 바이트의 경우 256 KiB 값이 mClock의 영향을 극대화하도록 결정되었습니다. HDD의 경우 해당 값은 40MiB로, 전체 처리량은 기준 처리량과 거의 동일했습니다.

일반적으로 HDD의 경우 BlueStore throttle 값은 SSD에 비해 더 높을 것으로 예상됩니다.

10.7.4. 최대 OSD 용량 지정

OSD 초기화 중에 자동으로 설정된 최대 Ceph OSD 용량을 덮어쓸 수 있습니다.

이러한 단계는 선택 사항입니다. 기본 용량이 Ceph OSD 용량을 정확하게 나타내지 않는 경우 다음 단계를 수행합니다.

참고

OSD 수동 벤치마킹 에 설명된 대로 벤치마크 데이터를 먼저 결정했는지 확인합니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • Ceph Monitor 호스트에 대한 루트 수준 액세스.

프로세스

  1. Cephadm 쉘에 로그인합니다.

    예제

    [root@host01 ~]# cephadm shell

  2. OSD에 대해 osd_mclock_max_capacity_iops_[hdd, ssd] 옵션을 설정합니다.

    구문

    ceph config set osd.OSD_ID osd_mclock_max_capacity_iops_[hdd,ssd] VALUE

    예제

    [ceph: root@host01 /]# ceph config set osd.0 osd_mclock_max_capacity_iops_hdd 350

    이 예에서는 기본 장치 유형이 HDD인 osd.0 의 최대 용량을 350 IOPS로 설정합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.