부록 H. Ceph 스크럽 옵션
Ceph는 배치 그룹을 스크럽하여 데이터 무결성을 보장합니다. 다음은 스크럽 작업을 늘리거나 줄이기 위해 조정할 수 있는 Ceph 스크럽 옵션입니다.
ceph config set global CONFIGURATION_OPTION VALUE
명령을 사용하여 이러한 구성 옵션을 설정할 수 있습니다.
- mds_max_scrub_ops_in_progress
- 설명
-
병렬로 수행되는 최대 scrub 작업 수입니다.
ceph config set mds_max_scrub_ops_in_progress VALUE
명령을 사용하여 이 값을 설정할 수 있습니다. - 유형
- integer
- 기본
- 5
- osd_max_scrubs
- 설명
- Ceph OSD 데몬의 최대 동시 스크러 작업 수입니다.
- 유형
- integer
- 기본
- 1
- osd_scrub_begin_hour
- 설명
-
스크럽이 시작되는 특정 시간입니다.
osd_scrub_end_hour
과 함께 스크러브가 발생할 수 있는 시간 창을 정의할 수 있습니다.osd_scrub_begin_hour = 0
및osd_scrub_end_hour = 0
을 사용하여 하루 전체의 스크럽을 허용합니다. - 유형
- integer
- 기본
- 0
- 허용되는 범위
-
[0, 23]
- osd_scrub_end_hour
- 설명
-
스크럽이 종료되는 특정 시간입니다.
osd_scrub_begin_hour
과 함께 스크럽이 발생할 수 있는 시간 창을 정의할 수 있습니다.osd_scrub_begin_hour = 0
및osd_scrub_end_hour = 0
을 사용하여 하루 동안 스크럽을 허용합니다. - 유형
- integer
- 기본
- 0
- 허용되는 범위
-
[0, 23]
- osd_scrub_begin_week_day
- 설명
-
스크럽이 시작되는 특정 날입니다. 0 = 일요일, 1 = 월요일, 등. "osd_scrub_end_week_day"와 함께 scrubs가 발생할 수 있는 시간 창을 정의할 수 있습니다.
osd_scrub_begin_week_day = 0
및osd_scrub_end_week_day = 0
을 사용하여 주 전체의 스크럽을 허용합니다. - 유형
- integer
- 기본
- 0
- 허용되는 범위
-
[0, 6]
- osd_scrub_end_week_day
- 설명
-
이는 스크럽이 종료되는 날을 정의합니다. 0 = 일요일, 1 = 월요일, 등.
osd_scrub_begin_week_day
와 함께 스크러블이 발생할 수 있는 시간 창을 정의합니다.osd_scrub_begin_week_day = 0
및osd_scrub_end_week_day = 0
을 사용하여 주 전체의 스크럽을 허용합니다. - 유형
- integer
- 기본
- 0
- 허용되는 범위
-
[0, 6]
- osd_scrub_during_recovery
- 설명
-
복구 중에 scrub를 허용하십시오. 이 값을
false
로 설정하면 활성 복구가 있는 동안 새 scrub 및 deep-scrub 예약이 비활성화됩니다. 이미 실행 중인 scrubs는 계속 실행되므로 사용 중인 스토리지 클러스터의 부하를 줄이는 데 유용합니다. - 유형
- boolean
- 기본
- false
- osd_scrub_load_threshold
- 설명
- 정규화된 최대 로드입니다. getloadavg()/ 온라인 CPU 수에 정의된 대로 시스템 로드가 이 정의된 수보다 높으면 스크러블링이 발생하지 않습니다.
- 유형
- 플로트
- 기본
- 0.5
- osd_scrub_min_interval
- 설명
- Ceph 스토리지 클러스터 로드가 낮은 경우 Ceph OSD 데몬을 스크럽하는 최소 간격(초)입니다.
- 유형
- 플로트
- 기본
- 1일
- osd_scrub_max_interval
- 설명
- 클러스터 로드와 관계없이 Ceph OSD 데몬을 스크럽하는 최대 간격(초)입니다.
- 유형
- 플로트
- 기본
- 7일
- osd_scrub_chunk_min
- 설명
- 단일 작업 중에 스크러브할 최소 오브젝트 저장소 청크 수입니다. Ceph 블록은 스크러브 중에 단일 청크에 씁니다.
- type
- integer
- 기본
- 5
- osd_scrub_chunk_max
- 설명
- 단일 작업 중에 스크러브할 최대 오브젝트 저장소 청크 수입니다.
- type
- integer
- 기본
- 25
- osd_scrub_sleep
- 설명
- 다음 청크 그룹을 스크럽하기 전에 잠자는 시간입니다. 이 값을 늘리면 클라이언트 작업의 영향을 줄일 수 있도록 전체 스크럽 속도가 느려집니다.
- type
- 플로트
- 기본
- 0.0
- osd_scrub_extended_sleep
- 설명
- 스크럽 시간 또는 초를 스크럽하는 동안 지연을 삽입하는 기간입니다.
- type
- 플로트
- 기본
- 0.0
- osd_scrub_backoff_ratio
- 설명
- 스케줄링 scrubs에 대한 백오프 비율입니다. 이것은 스크럽을 예약하지 않는 틱의 백분율이며 66%는 틱 3개 중 1개가 스크러브를 예약한다는 것을 의미합니다.
- type
- 플로트
- 기본
- 0.66
- osd_deep_scrub_interval
- 설명
-
깊은
스크럽을 위한 간격이 모든 데이터를 완전히 읽습니다.osd_scrub_load_threshold
는 이 설정에 영향을 미치지 않습니다. - type
- 플로트
- 기본
- 7일
- osd_debug_deep_scrub_sleep
- 설명
- 딥 스러브 IO 중에 비용이 많이 드는 수면을 삽입하여 선점을 더 쉽게 유도할 수 있도록 합니다.
- type
- 플로트
- 기본
- 0
- osd_scrub_interval_randomize_ratio
- 설명
-
배치 그룹에 대한 다음 scrub 작업을 예약할 때
osd_scrub_min_interval
에 임의의 지연을 추가합니다. 지연은osd_scrub_min_interval
*osd_scrub_interval_randomized_ratio
보다 작은 임의의 값입니다. 기본 설정은[1, 1.5]
*osd_scrub_min_interval
의 허용된 시간 전체에 스큐브를 분배합니다. - type
- 플로트
- 기본
- 0.5
- osd_deep_scrub_stride
- 설명
- 깊은 스크러브를 할 때 크기를 읽으십시오.
- type
- size
- 기본
- 512KB
- osd_scrub_auto_repair_num_errors
- 설명
- 이 많은 오류가 발견되면 자동 복구가 발생하지 않습니다.
- type
- integer
- 기본
- 5
- osd_scrub_auto_repair
- 설명
-
이 값을
true
로 설정하면 scrubs 또는 deep-scrubs에서 오류를 찾을 때 PG(자동 배치 그룹) 복구를 사용할 수 있습니다. 그러나osd_scrub_auto_repair_num_errors
오류가 발견되면 복구가 수행되지 않습니다. - type
- boolean
- 기본
- false
- osd_scrub_max_preemptions
- 설명
- 클라이언트 IO를 차단하여 scrub를 완료하기 전에 클라이언트 작업으로 인해 딥 스크럽을 선점해야 하는 최대 횟수를 설정합니다.
- type
- integer
- 기본
- 5
- osd_deep_scrub_keys
- 설명
- 딥 스크러블 중 한 번에 오브젝트에서 읽을 키 수입니다.
- type
- integer
- 기본
- 1024