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