검색

10.6. mClock 프로필

download PDF

mClock 프로필은 구성 설정입니다. 실행 중인 Red Hat Ceph Storage 클러스터에 적용하는 경우 백그라운드 복구, scrub,snap trim, 클라이언트op 및 pg 삭제 와 같이 다른 클라이언트 클래스에 속하는 IOPS 작업을 제한할 수 있습니다.

mClock 프로필은 용량 제한과 사용자가 선택한 mClock 프로필 유형을 사용하여 낮은 수준의 mClock 리소스 제어 구성 매개 변수를 확인하고 투명하게 적용합니다. 기타 Red Hat Ceph Storage 구성 매개변수도 적용됩니다. 낮은 수준의 mClock 리소스 제어 매개변수는 리소스 공유를 제어하는 예약, 제한 및 가중치입니다. mClock 프로필은 클라이언트 유형마다 이러한 매개변수를 다르게 할당합니다.

10.6.1. mClock 프로파일 유형

mClock 프로필은 기본 제공사용자 지정 프로필로 분류할 수 있습니다.

mClock 프로필이 활성화된 경우 다음 Red Hat Ceph Storage 구성 절전 옵션이 비활성화됩니다. 즉, 0 으로 설정됩니다.

  • osd_recovery_sleep
  • osd_recovery_sleep_hdd
  • osd_recovery_sleep_ssd
  • osd_recovery_sleep_hybrid
  • osd_scrub_sleep
  • osd_delete_sleep
  • osd_delete_sleep_hdd
  • osd_delete_sleep_ssd
  • osd_delete_sleep_hybrid
  • osd_snap_trim_sleep
  • osd_snap_trim_sleep_hdd
  • osd_snap_trim_sleep_ssd
  • osd_snap_trim_sleep_hybrid

mClock 스케줄러는 작업 큐에서 다음 작업을 선택하고 작업 시퀀스기로 전송할 시기를 결정할 수 있도록 하는 것입니다. 이로 인해 모든 클라이언트에서 원하는 QoS가 제공됩니다.

사용자 정의 프로필

이 프로필은 모든 mClock 구성 매개변수를 완전히 제어할 수 있습니다. mClock 및 Red Hat Ceph Storage 관련 구성 옵션을 이해하는 고급 사용자를 위해 주의해서 사용해야 합니다.

기본 제공 프로필

기본 제공 프로필이 활성화되면 mClock 스케줄러는 각 클라이언트 유형에 대해 활성화된 프로필을 기반으로 낮은 수준의 mClock 매개변수, 즉 예약, 가중치 및 제한을 계산합니다.

mClock 매개변수는 미리 제공된 최대 Ceph OSD 용량을 기반으로 계산됩니다. 따라서 기본 제공 프로필을 사용할 때 다음 mClock 구성 옵션을 수정할 수 없습니다.

  • osd_mclock_scheduler_client_res
  • osd_mclock_scheduler_client_wgt
  • osd_mclock_scheduler_client_lim
  • osd_mclock_scheduler_background_recovery_res
  • osd_mclock_scheduler_background_recovery_wgt
  • osd_mclock_scheduler_background_recovery_lim
  • osd_mclock_scheduler_background_best_effort_res
  • osd_mclock_scheduler_background_best_effort_wgt
  • osd_mclock_scheduler_background_best_effort_lim

    참고

    이러한 기본값은 config set,config daemon 또는 config tell 명령과 같은 config 하위 시스템 명령을 사용하여 변경할 수 없습니다. 위의 명령은 성공했다고 보고하지만 mclock QoS 매개변수는 해당 기본 제공 프로필 기본값으로 되돌아갑니다.

다음 복구 및 백필 관련 Ceph 옵션은 mClock 기본값으로 재정의됩니다.

주의

기본 제공 프로필이 최적화되어 있으므로 이러한 옵션을 변경하지 마십시오. 이러한 기본값을 변경하면 예기치 않은 성능 결과가 발생할 수 있습니다.

  • osd_max_backfills
  • osd_recovery_max_active
  • osd_recovery_max_active_hdd
  • osd_recovery_max_active_ssd

다음 옵션은 전경 클라이언트 작업의 성능을 최대화하기 위해 현재 기본값과 동일한 mClock 기본값을 보여줍니다.

osd_max_backfills
원래 기본값
1
mClock 기본값
1
osd_recovery_max_active
원래 기본값
0
mClock 기본값
0
osd_recovery_max_active_hdd
원래 기본값
3
mClock 기본값
3
osd_recovery_max_active_sdd
원래 기본값
10
mClock 기본값
10
참고

위의 mClock 기본값은 기본적으로 false 로 설정된 osd_mclock_override_recovery_settings 를 활성화하여 필요한 경우에만 수정할 수 있습니다. 이러한 매개변수를 수정하려면 백필 및 복구 옵션 수정을 참조하십시오.

기본 제공 프로필 유형

사용자는 다음과 같은 기본 제공 프로필 유형 중에서 선택할 수 있습니다.

  • balanced (기본값)
  • high_client_ops
  • high_recovery_ops
참고

아래 목록에 언급된 값은 서비스 유형에 할당된 Ceph OSD의 총 IOPS 용량의 비율을 나타냅니다.

  • balanced:

기본 mClock 프로필은 클라이언트 IO 또는 복구 IO 간의 타협을 나타내기 때문에 균형 조정으로 설정됩니다. 클라이언트 작업 및 백그라운드 복구 작업에 동일한 예약 또는 우선 순위를 할당합니다. 배경 최고 수준의 운영에는 더 낮은 예약이 부여되므로 경쟁이 가능한 작업이 있을 때 완료하는 데 시간이 오래 걸립니다. 이 프로필은 외부 클라이언트 성능 요구 사항이 중요하지 않고 OSD 내에서 여전히 주의가 필요한 기타 백그라운드 작업이 있는 경우 클러스터의 일반 상태 요구 사항을 충족합니다.

클라이언트 작업 또는 복구 작업에 더 높은 우선 순위를 부여해야 하는 인스턴스가 있을 수 있습니다. 이러한 요구 사항을 충족하기 위해 high_client_ops 프로필을 선택하여 클라이언트 IO의 우선 순위를 지정하거나 high_recovery_ops 프로필을 선택하여 복구 IO를 우선 순위를 지정할 수 있습니다. 이러한 프로필에 대해서는 아래에서 자세히 설명합니다.

서비스 유형: client
예약
50%
제한
MAX
weight
1
서비스 유형: 배경 복구
예약
50%
제한
MAX
weight
1
서비스 유형: background best-effort
예약
제한
90%
weight

1

  • high_client_ops

이 프로필은 Ceph OSD의 백그라운드 작업에 비해 더 많은 예약 및 클라이언트 작업에 제한을 할당하여 백그라운드 활동보다 클라이언트 성능을 최적화합니다. 예를 들어 이 프로필은 복구 속도가 느린 비용으로 지속적인 기간 동안 I/O 집약적인 애플리케이션에 필요한 성능을 제공하도록 활성화할 수 있습니다. 아래 목록은 프로필에 설정된 리소스 제어 매개변수를 보여줍니다.

서비스 유형: client
예약
60%
제한
MAX
weight
2
서비스 유형: 배경 복구
예약
40%
제한
MAX
weight
1
서비스 유형: background best-effort
예약
제한
70%
weight

1

  • high_recovery_ops

이 프로필은 Ceph OSD 내의 외부 클라이언트 및 기타 백그라운드 작업과 비교하여 백그라운드 복구 성능을 최적화합니다.

예를 들어 관리자가 사용하지 않는 시간 동안 백그라운드 복구 속도를 높일 수 있습니다. 아래 목록은 프로필에 설정된 리소스 제어 매개변수를 보여줍니다.

서비스 유형: client
예약
30%
제한
MAX
weight
1
서비스 유형: 배경 복구
예약
70%
제한
MAX
weight
2
서비스 유형: background best-effort
예약
제한
MAX
weight
1

추가 리소스

10.6.2. mClock 프로필 변경

기본 mClock 프로필은 balanced 로 설정됩니다. 기본 제공 프로필의 다른 유형은 high_client_opshigh_recovery_ops 입니다.

참고

고급 사용자가 아닌 경우 사용자 지정 프로필은 권장되지 않습니다.

사전 요구 사항

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

프로세스

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

    예제

    [root@host01 ~]# cephadm shell

  2. osd_mclock_profile 옵션을 설정합니다.

    구문

    ceph config set osd.OSD_ID osd_mclock_profile VALUE

    예제

    [ceph: root@host01 /]# ceph config set osd.0 osd_mclock_profile high_recovery_ops

    이 예에서는 osd.0 에서 더 빠른 복구를 허용하도록 프로필을 변경합니다.

    참고

    최적의 성능을 위해서는 다음 명령을 사용하여 모든 Ceph OSD에서 프로필을 설정해야 합니다.

    구문

    ceph config set osd osd_mclock_profile VALUE

10.6.3. 기본 제공 프로필과 사용자 정의 프로필 간 전환

다음 단계에서는 기본 제공 프로필에서 사용자 지정 프로필로 전환하는 방법을 설명하고 그 반대의 경우도 마찬가지입니다.

모든 mClock 구성 옵션을 완전히 제어하려면 사용자 지정 프로필로 전환해야 할 수 있습니다. 그러나 고급 사용자인 경우 사용자 지정 프로필을 사용하지 않는 것이 좋습니다.

사전 요구 사항

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

기본 제공 프로필에서 사용자 지정 프로필로 전환

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

    예제

    [root@host01 ~]# cephadm shell

  2. 사용자 지정 프로필로 전환합니다.

    구문

    ceph config set osd.OSD_ID osd_mclock_profile custom

    예제

    [ceph: root@host01 /]# ceph config set osd.0 osd_mclock_profile custom

    참고

    최적의 성능을 위해서는 다음 명령을 사용하여 모든 Ceph OSD에서 프로필을 설정해야 합니다.

    예제

    [ceph: root@host01 /]# ceph config set osd osd_mclock_profile custom

  3. 선택 사항: 사용자 지정 프로필로 전환한 후 원하는 mClock 구성 옵션을 수정합니다.

    구문

    ceph config set osd.OSD_ID MCLOCK_CONFIGURATION_OPTION VALUE

    예제

    [ceph: root@host01 /]# ceph config set osd.0 osd_mclock_scheduler_client_res 0.5

    이 예에서는 특정 OSD osd.0 의 클라이언트 예약 IOPS 비율을 0.5(50%)로 변경합니다.

    중요

    OSD의 IOPS 용량의 최대 비율(1.0)을 초과하지 않도록 백그라운드 복구 및 배경 best-effort와 같은 기타 서비스의 예약을 변경합니다.

사용자 정의 프로필에서 기본 제공 프로필로 전환

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

    예제

    [root@host01 ~]# cephadm shell

  2. 원하는 기본 제공 프로필을 설정합니다.

    구문

    ceph config set osd osd_mclock_profile MCLOCK_PROFILE

    예제

    [ceph: root@host01 /]# ceph config set osd osd_mclock_profile high_client_ops

    이 예에서는 모든 Ceph OSD 에서 기본 제공 프로필을 high_client_ops 로 설정합니다.

  3. 데이터베이스의 기존 사용자 지정 mClock 구성 설정을 확인합니다.

    예제

    [ceph: root@host01 /]# ceph config dump

  4. 이전에 확인한 사용자 지정 mClock 구성 설정을 제거하십시오.

    구문

    ceph config rm osd MCLOCK_CONFIGURATION_OPTION

    예제

    [ceph: root@host01 /]# ceph config rm osd osd_mclock_scheduler_client_res

    이 예제에서는 모든 Ceph OSD에 설정된 구성 옵션 osd_mclock_scheduler_client_res 를 제거합니다.

    기존의 모든 사용자 지정 mClock 구성 설정이 중앙 구성 데이터베이스에서 제거되면 high_client_ops 와 관련된 구성 설정이 적용됩니다.

  5. Ceph OSD의 설정을 확인합니다.

    구문

    ceph config show osd.OSD_ID

    예제

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

10.6.4. mClock 프로필 간에 일시적으로 전환

이 섹션에는 mClock 프로필 간에 일시적으로 전환하는 단계가 포함되어 있습니다.

주의

이 섹션은 고급 사용자 또는 실험 테스트를 위한 것입니다. 예기치 않은 결과가 발생할 수 있으므로 실행 중인 스토리지 클러스터에서 다음 명령을 사용하지 마십시오.

참고

아래 명령을 사용하여 Ceph OSD의 구성 변경 사항은 임시이며 Ceph OSD를 다시 시작할 때 손실됩니다.

중요

이 섹션에 설명된 명령을 사용하여 재정의하는 구성 옵션은 ceph config set osd.OSD_ID 명령을 사용하여 추가로 수정할 수 없습니다. 지정된 Ceph OSD가 다시 시작될 때까지 변경 사항이 적용되지 않습니다. 이는 구성 하위 시스템 설계에 따라 의도적입니다. 그러나 이러한 명령을 사용하여 임시로 수정할 수 있습니다.

사전 요구 사항

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

프로세스

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

    예제

    [root@host01 ~]# cephadm shell

  2. 다음 명령을 실행하여 mClock 설정을 재정의합니다.

    구문

    ceph tell osd.OSD_ID injectargs '--MCLOCK_CONFIGURATION_OPTION=VALUE'

    예제

    [ceph: root@host01 /]# ceph tell osd.0 injectargs '--osd_mclock_profile=high_recovery_ops'

    이 예제에서는 osd.0osd_mclock_profile 옵션을 재정의합니다.

  3. 선택 사항: 이전 ceph tell osd.OSD_ID injectargs 명령의 대안을 사용할 수 있습니다.

    구문

    ceph daemon osd.OSD_ID config set MCLOCK_CONFIGURATION_OPTION VALUE

    예제

    [ceph: root@host01 /]# ceph daemon osd.0 config set osd_mclock_profile high_recovery_ops

참고

사용자 지정 프로필에 대한 개별 QoS 관련 구성 옵션은 위의 명령을 사용하여 일시적으로 수정할 수도 있습니다.

10.6.5. mClock 프로필과 함께 성능이 저하된 오브젝트 복구 속도

성능 저하된 오브젝트 복구는 백그라운드 복구 버킷으로 분류됩니다. 모든 mClock 프로필에서 성능이 저하된 개체 복구는 잘못된 개체 복구와 비교할 때 우선 순위가 높습니다. 성능이 저하된 개체 복구는 성능이 저하된 객체에 존재하지 않는 데이터 안전 문제가 있기 때문입니다.

백필 또는 잘못 배치된 오브젝트 복구 작업은 백그라운드 best-effort 버킷으로 분류됩니다. balancedhigh_client_ops mClock 프로필에 따르면 백그라운드 best-effort 클라이언트는 예약(0으로 설정)으로 제한되지 않지만 다른 경쟁이 없는 경우 참여 OSD 용량의 일부를 사용하도록 제한됩니다.

따라서 balanced 또는 high_client_ops 프로필과 다른 배경 경쟁 서비스를 활성 상태로 사용하면 이전 Wight edPriorityQueue (WPQ) 스케줄러에 비해 백필 속도가 느려질 것으로 예상됩니다.

더 높은 백필 비율이 필요한 경우 아래 섹션에 언급된 단계를 따르십시오.

백필 속도 개선

balanced 또는 high_client_ops 프로필을 사용할 때 더 빠른 백필 속도를 얻으려면 다음 단계를 따르십시오.

  • 백필 기간 동안 'high_recovery_ops' mClock 프로필로 전환합니다. 이를 위해 mClock 프로필 변경을 참조하십시오. 백필 단계가 완료되면 mClock 프로필을 이전에 활성 상태로 전환합니다. 'high_recovery_ops' 프로필로 백필 비율에 상당한 개선이 없는 경우 다음 단계를 계속합니다.
  • mClock 프로필을 이전 활성 프로필로 다시 전환합니다.
  • 'osd_max_backfills'를 더 높은 값(예: 3 )으로 수정합니다. 이를 위해 백필 및 복구 옵션 수정 을 참조하십시오.
  • 백필링이 완료되면 3단계에서 언급된 동일한 절차에 따라 'osd_max_backfills'를 기본값 1로 재설정할 수 있습니다.
주의

osd_max_backfills 를 수정하면 다른 작업이 발생할 수 있습니다(예: 클라이언트 작업에서는 백필링 단계에서 대기 시간이 길어질 수 있습니다. 따라서 클러스터의 다른 작업에 대한 성능 영향을 최소화하기 위해 osd_max_backfills 를 작은 증분으로 늘리는 것이 좋습니다.

10.6.6. 백필복구 옵션 수정

ceph config set 명령을 사용하여 백필복구 옵션을 수정합니다.

수정할 수 있는 백필 또는 복구 옵션은 mClock 프로파일 유형에 나열됩니다.

주의

이 섹션은 고급 사용자 또는 실험 테스트를 위한 것입니다. 예기치 않은 결과가 발생할 수 있으므로 실행 중인 스토리지 클러스터에서 다음 명령을 사용하지 마십시오.

실험 테스트용으로만 값을 수정하거나 클러스터가 값을 처리할 수 없거나 기본 설정으로 성능이 저하된 것으로 표시됩니다.

중요

mClock 기본 백필 또는 복구 옵션의 수정은 osd_mclock_override_recovery_settings 옵션에 의해 제한되며 이는 기본적으로 false 로 설정됩니다.

osd_mclock_override_recovery_settingstrue 로 설정하지 않고 기본 백필 또는 복구 옵션을 수정하려고 하면 클러스터 로그에 기록된 경고 메시지와 함께 옵션을 mClock 기본값으로 다시 설정합니다.

사전 요구 사항

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

프로세스

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

    예제

    [root@host01 ~]# cephadm shell

  2. 모든 Ceph OSD에서 osd_mclock_override_recovery_settings 구성 옵션을 true 로 설정합니다.

    예제

    [ceph: root@host01 /]# ceph config set osd osd_mclock_override_recovery_settings true

  3. 원하는 백필 또는 복구 옵션을 설정합니다.

    구문

    ceph config set osd OPTION VALUE

    예제

    [ceph: root@host01 /]# ceph config set osd osd_max_backfills_ 5

  4. 몇 초 동안 기다린 후 특정 OSD의 구성을 확인합니다.

    구문

    ceph config show osd.OSD_ID_ | grep OPTION

    예제

    [ceph: root@host01 /]# ceph config show osd.0 | grep osd_max_backfills

  5. 모든 OSD에서 osd_mclock_override_recovery_settings 구성 옵션을 false 로 재설정합니다.

    예제

    [ceph: root@host01 /]# ceph config set osd osd_mclock_override_recovery_settings false

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.