구성 가이드
Red Hat Ceph Storage 구성 설정
초록
1장. Ceph 구성의 기본 사항
스토리지 관리자는 Ceph 구성을 보는 방법과 Red Hat Ceph Storage 클러스터의 Ceph 구성 옵션을 설정하는 방법을 기본적인 이해해야 합니다. 런타임 시 Ceph 구성 옵션을 보고 설정할 수 있습니다.
사전 요구 사항
- Red Hat Ceph Storage 소프트웨어 설치
1.1. Ceph 구성
모든 Red Hat Ceph Storage 클러스터에는 다음을 정의하는 구성이 있습니다.
- 클러스터 ID
- 인증 설정
- Ceph 데몬
- 네트워크 구성
- 노드 이름 및 주소
- 인증 키 경로
- OSD 로그 파일의 경로
- 기타 런타임 옵션
cephadm
과 같은 배포 툴은 일반적으로 초기 Ceph 구성 파일을 생성합니다. 그러나 배포 툴을 사용하지 않고 Red Hat Ceph Storage 클러스터를 부트스트랩하려는 경우 직접 생성할 수 있습니다.
추가 리소스
-
cephadm
및 Ceph 오케스트레이터에 대한 자세한 내용은 Red Hat Ceph Storage 운영 가이드를 참조하십시오.
1.2. Ceph 구성 데이터베이스
Ceph Monitor는 전체 스토리지 클러스터에 대한 구성 옵션을 저장하여 구성 관리를 중앙에서 관리하는 Ceph 옵션의 구성 데이터베이스를 관리합니다. 이를 통해 데이터베이스의 Ceph 구성을 중앙 집중화하면 스토리지 클러스터 관리가 간소화됩니다.
Ceph에서 옵션을 설정하는 데 사용하는 우선 순위 순서는 다음과 같습니다.
- 컴파일된-in 기본값
- Ceph 클러스터 구성 데이터베이스
-
로컬
ceph.conf
파일 -
ceph 데몬 DAEMON-NAME 구성 세트
또는ceph tell DAEMON-NAME injectargs
명령을 사용하여 런타임 재정의
로컬 Ceph 구성 파일에 기본적으로 /etc/ceph/ceph.conf
인 몇 가지 Ceph 옵션을 정의할 수 있습니다. 그러나 Red Hat Ceph Storage 6에서는 ceph.conf
가 더 이상 사용되지 않습니다.
cephadm
은 Ceph Monitors에 연결, 인증 및 구성 정보 가져오기를 위한 최소한의 옵션 세트만 포함하는 기본 ceph.conf
파일을 사용합니다. 대부분의 경우 cephadm
은 mon_host
옵션만 사용합니다. mon_host
옵션에만 ceph.conf
를 사용하지 않으려면 DNS SRV 레코드를 사용하여 모니터로 작업을 수행합니다.
assimilate-conf
관리 명령을 사용하여 유효한 옵션을 ceph.conf
파일에서 구성 데이터베이스로 이동하는 것이 좋습니다. assimilate -conf에
대한 자세한 내용은 명령을 참조하십시오.
Ceph를 사용하면 런타임 시 데몬 구성을 변경할 수 있습니다. 이 기능은 디버그 설정을 활성화하거나 비활성화하여 로깅 출력을 늘리거나 줄이는 데 유용할 수 있으며 런타임 최적화에도 사용할 수 있습니다.
구성 데이터베이스 및 Ceph 구성 파일에 동일한 옵션이 있는 경우 구성 데이터베이스 옵션이 Ceph 구성 파일에 설정된 것보다 우선 순위가 낮습니다.
섹션 및ECDHE
데몬 유형별로 또는 Ceph 구성 파일의 특정 데몬을 통해 Ceph 옵션을 전역적으로 구성할 수 있는 것처럼 다음 섹션에 따라 구성 데이터베이스에서 Ceph 옵션을 구성할 수도 있습니다.
섹션 | 설명 |
---|---|
| 모든 데몬 및 클라이언트에 영향을 미칩니다. |
| 모든 Ceph 모니터에 영향을 미칩니다. |
| 모든 Ceph Manager에 영향을 미칩니다. |
| 모든 Ceph OSD에 영향을 미칩니다. |
| 모든 Ceph 메타데이터 서버에 영향을 미칩니다. |
| 마운트된 파일 시스템, 블록 장치, RADOS 게이트웨이를 포함한 모든 Ceph 클라이언트에 영향을 미칩니다. |
Ceph 구성 옵션에는 마스크가 연결되어 있을 수 있습니다. 이러한 마스크는 옵션이 적용되는 데몬 또는 클라이언트를 추가로 제한할 수 있습니다.
마스크에는 두 가지 유형이 있습니다.
type:location
type
은rack
또는host
와 같은 property입니다.위치는
속성 유형의 값입니다. 예를 들어host:foo
는 옵션을foo
호스트에서 실행되는 데몬 또는 클라이언트로만 제한합니다.예제
ceph config set osd/host:magna045 debug_osd 20
class:device-class
device-class
는hdd
또는ssd
와 같은 devices 클래스의 이름입니다. 예를 들어class:ssd
는 SSD(솔리드 스테이트 드라이브)로 지원되는 Ceph OSD로만 옵션을 제한합니다. 이 마스크는 클라이언트의 비 OSD 데몬에는 영향을 미치지 않습니다.예제
ceph config set osd/class:hdd osd_max_backfills 8
관리 명령
Ceph 구성 데이터베이스는 하위 ceph configECDHE을 사용하여 수행할 수 있습니다
. 수행할 수 있는 작업은 다음과 같습니다.
ls
- 사용 가능한 구성 옵션을 나열합니다.
덤프
- 스토리지 클러스터 옵션의 전체 구성 데이터베이스를 덤프합니다.
getECDHE O
-
특정 데몬 또는 클라이언트의 구성을 덤프합니다. 예를 들어, Rest ic O는
mds.a
와 같은 데몬일 수 있습니다. 설정 v A LUE
- Ceph 구성 데이터베이스에 구성 옵션을 설정합니다. 여기서는 question는 대상 데몬이고,TION은 설정할 옵션이며, VALUE 가 원하는 값입니다.
showECDHE O
- 실행 중인 데몬에 대해 보고된 실행 중인 구성을 표시합니다. 사용 중인 로컬 구성 파일 또는 옵션이 명령줄 또는 런타임에 재정의된 경우 이러한 옵션은 Ceph Monitor에 저장된 옵션과 다를 수 있습니다. 옵션 값의 소스도 출력의 일부로 보고됩니다.
assimilate-conf -i INPUT_FILE -o OUTPUT_FILE
- INPUT_FILE 에서 구성 파일을 압축하고 유효한 옵션을 Ceph 모니터의 구성 데이터베이스로 이동합니다. OUTPUT_FILE 에 저장된 축약 구성 파일에서 인식할 수 없거나 유효하지 않거나 Ceph Monitor 반환에서 제어할 수 없는 옵션은 모두 다음과 같습니다. 이 명령은 레거시 구성 파일에서 중앙 집중식 구성 데이터베이스로 전환하는 데 유용할 수 있습니다. 구성을 시뮬레이션하고 모니터 또는 다른 데몬이 동일한 옵션 세트에 대해 설정된 다른 구성 값이 있는 경우 최종 결과는 파일이 시뮬레이션되는 순서에 따라 달라집니다.
help TION -f json-pretty
- JSON 형식의 출력을 사용하여 특정 에 대한 도움말을 표시합니다.
추가 리소스
- 명령에 대한 자세한 내용은 런타임 시 특정 구성 설정을 참조하십시오.
1.3. Ceph 메타 사용
메타 데이터에서는 Ceph 스토리지 클러스터 구성을 크게 단순화합니다. 구성 값에 metaECDHE이 설정되면 Ceph는 메타 값을 특정 값으로 확장합니다.
메타 설정 파일의 [global]
, [osd]
, [mon]
또는 [client]
섹션에서 사용할 때 매우 강력합니다. 그러나 관리 소켓과 함께 사용할 수도 있습니다. Ceph 메타란은 Bash 쉘 확장과 유사합니다.
Ceph는 다음 메타를 지원합니다.
$cluster
- 설명
- Ceph 스토리지 클러스터 이름으로 확장합니다. 동일한 하드웨어에서 여러 Ceph 스토리지 클러스터를 실행할 때 유용합니다.
- 예제
-
/etc/ceph/$cluster.keyring
- Default
-
Ceph
$type
- 설명
-
인스턴트 데몬 유형에 따라
osd
또는mon
중 하나로 확장됩니다. - 예제
-
/var/lib/ceph/$type
$id
- 설명
-
데몬 ID로 확장합니다.
osd.0
의 경우0
입니다. - 예제
-
/var/lib/ceph/$type/$cluster-$id
$host
- 설명
- 즉시 데몬의 호스트 이름으로 확장됩니다.
$name
- 설명
-
$type.$id
로 확장합니다. - 예제
-
/var/run/ceph/$cluster-$name.asok
1.4. 런타임 시 Ceph 구성 보기
Ceph 구성 파일은 부팅 시 및 런타임 시 볼 수 있습니다.
사전 요구 사항
- Ceph 노드에 대한 루트 수준 액세스.
- 관리자 인증 키에 액세스할 수 있습니다.
절차
런타임 구성을 보려면 데몬을 실행하는 Ceph 노드에 로그인하여 다음을 실행합니다.
구문
ceph daemon DAEMON_TYPE.ID config show
osd.0
의 구성을 보려면osd.0
이 포함된 노드에 로그인하여 다음 명령을 실행합니다.예제
[root@osd ~]# ceph daemon osd.0 config show
추가 옵션의 경우 데몬 및
도움말
을 지정합니다.예제
[root@osd ~]# ceph daemon osd.0 help
1.5. 런타임 시 특정 구성 보기
Red Hat Ceph Storage의 구성 설정은 Ceph Monitor 노드에서 런타임 시 볼 수 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- Ceph Monitor 노드에 대한 루트 수준 액세스.
절차
Ceph 노드에 로그인하고 다음을 실행합니다.
구문
ceph daemon DAEMON_TYPE.ID config get PARAMETER
예제
[root@mon ~]# ceph daemon osd.0 config get public_addr
1.6. 런타임 시 특정 구성 설정
런타임 시 특정 Ceph 구성을 설정하려면 ceph config set
명령을 사용합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- Ceph Monitor 또는 OSD 노드에 대한 루트 수준 액세스.
절차
모든 모니터 또는 OSD 데몬에서 구성을 설정합니다.
구문
ceph config set DAEMON CONFIG-OPTION VALUE
예제
[root@mon ~]# ceph config set osd debug_osd 10
옵션과 값이 설정되어 있는지 확인합니다.
예제
[root@mon ~]# ceph config dump osd advanced debug_osd 10/10
모든 데몬에서 구성 옵션을 제거하려면 다음을 수행합니다.
구문
ceph config rm DAEMON CONFIG-OPTION VALUE
예제
[root@mon ~]# ceph config rm osd debug_osd
특정 데몬의 구성을 설정하려면 다음을 수행합니다.
구문
ceph config set DAEMON.DAEMON-NUMBER CONFIG-OPTION VALUE
예제
[root@mon ~]# ceph config set osd.0 debug_osd 10
구성이 지정된 데몬에 대해 설정되어 있는지 확인하려면 다음을 수행하십시오.
예제
[root@mon ~]# ceph config dump osd.0 advanced debug_osd 10/10
특정 데몬의 구성을 제거하려면 다음을 수행합니다.
구문
ceph config rm DAEMON.DAEMON-NUMBER CONFIG-OPTION
예제
[root@mon ~]# ceph config rm osd.0 debug_osd
구성 데이터베이스의 옵션 읽기를 지원하지 않는 클라이언트를 사용하거나 ceph.conf
를 사용하여 다른 이유로 클러스터 구성을 변경해야 하는 경우 다음 명령을 실행합니다.
ceph config set mgr mgr/cephadm/manage_etc_ceph_ceph_conf false
스토리지 클러스터에서 ceph.conf
파일을 유지 관리하고 배포해야 합니다.
1.7. OSD 메모리 대상
Bluestore는 osd_memory_target
구성 옵션을 사용하여 OSD 힙 메모리 사용량을 지정된 대상 크기로 유지합니다.
옵션 osd_memory_target
은 시스템에서 사용 가능한 RAM에 따라 OSD 메모리를 설정합니다. 메모리 할당기로 TCMalloc을 구성하고 BlueStore의 bluestore_cache_autotune
옵션이 true
로 설정된 경우 이 옵션을 사용합니다.
Ceph OSD 메모리 캐싱은 블록 장치가 느려질 때 더 중요합니다. 예를 들어 캐시 적중의 이점이 솔리드 상태 드라이브보다 훨씬 높기 때문에 기존 하드 드라이브입니다. 그러나 이를 통해 HCI(하이퍼 컨버지드 인프라) 또는 기타 애플리케이션과 같은 다른 서비스와 OSD를 공동으로 배치해야 합니다.
1.7.1. OSD 메모리 대상 설정
osd_memory_target
옵션을 사용하여 스토리지 클러스터의 모든 OSD 또는 특정 OSD에 대한 최대 메모리 임계값을 설정합니다. osd_memory_target
옵션이 16GB로 설정된 OSD는 최대 16GB의 메모리를 사용할 수 있습니다.
개별 OSD의 구성 옵션이 모든 OSD의 설정보다 우선합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 스토리지 클러스터의 모든 호스트에 대한 루트 수준 액세스.
절차
스토리지 클러스터의 모든 OSD에 대해
osd_memory_target
을 설정하려면 다음을 수행합니다.구문
ceph config set osd osd_memory_target VALUE
VALUE 는 스토리지 클러스터의 각 OSD에 할당할 GBytes의 메모리 수입니다.
스토리지 클러스터의 특정 OSD에 대해
osd_memory_target
을 설정하려면 다음을 수행합니다.구문
ceph config set osd.id osd_memory_target VALUE
.
ID는 OSD의 ID이며 VALUE 는 지정된 OSD에 할당할 메모리 GB 수입니다. 예를 들어 ID 8로 OSD를 구성하여 최대 16 GBytes의 메모리를 사용하려면 다음을 수행합니다.예제
[ceph: root@host01 /]# ceph config set osd.8 osd_memory_target 16G
하나의 최대 메모리를 사용하도록 개별 OSD를 설정하고 나머지 OSD를 다른 양을 사용하도록 구성하려면 개별 OSD를 먼저 지정합니다.
예제
[ceph: root@host01 /]# ceph config set osd osd_memory_target 16G [ceph: root@host01 /]# ceph config set osd.8 osd_memory_target 8G
추가 리소스
- OSD 메모리 사용량을 자동 조정하도록 Red Hat Ceph Storage를 구성하려면 운영 가이드의 OSD 메모리 자동 튜닝 을 참조하십시오.
1.8. 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
로 설정하는 것이 좋습니다.
Cephadm은 일부 mgr/cephadm/autotune_memory_target_ratio
로 시작합니다. 기본값은 시스템의 총 RAM의 0.7
로, 비 OSDS와 같은 비 자동 튜닝 데몬에서 사용하는 메모리를 뺀 다음 osd_memory_target_autotune
은 false입니다.
osd_memory_target
매개변수는 다음과 같이 계산됩니다.
구문
osd_memory_target = TOTAL_RAM_OF_THE_OSD * (1048576) * (autotune_memory_target_ratio) / NUMBER_OF_OSDS_IN_THE_OSD_NODE - (SPACE_ALLOCATED_FOR_OTHER_DAEMONS)
SPACE_ALLOCATED_FOR_OTHER_DAEMONS 는 선택적으로 다음과 같은 데몬 공간 할당을 포함할 수 있습니다.
- Alertmanager: 1GB
- Grafana: 1GB
- Ceph Manager: 4GB
- Ceph Monitor: 2GB
- node-exporter: 1GB
- Prometheus: 1GB
예를 들어 노드에 24개의 OSD가 있고 251GB RAM 공간이 있는 경우 osd_memory_target
은 7860684936
입니다.
최종 대상은 옵션을 사용하여 구성 데이터베이스에 반영됩니다. MEM LIMIT
열의 ceph orch ps
출력에서 각 데몬이 사용하는 제한 및 현재 메모리를 볼 수 있습니다.
Red Hat Ceph Storage 5.1에서 osd_memory_target_autotune
true
의 기본 설정은 컴퓨팅 및 Ceph 스토리지 서비스가 함께 배치되는 하이퍼 컨버지드 인프라에 적합하지 않습니다. 하이퍼 컨버지드 인프라에서 autotune_memory_target_ratio
를 0.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
자동 튜닝 옵션을 비활성화하고 특정 메모리 대상을 설정하여 메모리 자동 튜닝에서 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
1.9. MDS Memory Cache Limit
MDS 서버는 cephfs_metadata
라는 별도의 스토리지 풀에 메타데이터를 유지하고, Ceph OSD 사용자입니다. Ceph 파일 시스템의 경우 MDS 서버는 스토리지 클러스터 내에서 단일 스토리지 장치가 아닌 전체 Red Hat Ceph Storage 클러스터를 지원해야 하므로 워크로드가 중소 규모의 크기(데이터와 메타데이터의 비율이 훨씬 높음)로 구성된 경우 특히 메모리 요구 사항이 중요할 수 있습니다.
예: mds_cache_memory_limit
를 2000000000 바이트로 설정
ceph_conf_overrides: mds: mds_cache_memory_limit=2000000000
메타데이터 집약적인 대규모 Red Hat Ceph Storage 클러스터의 경우 다른 메모리를 많이 사용하는 서비스와 동일한 노드에 MDS 서버를 배치하지 마십시오. 이렇게 하면 MDS에 더 많은 메모리를 할당할 수 있는 옵션(예: 100GB보다 큰 크기)이 제공됩니다.
추가 리소스
- Red Hat Ceph Storage 파일 시스템 가이드의 메타데이터 서버 캐시 크기 제한을 참조하십시오.
- 특정 옵션 설명 및 사용법은 Configuration 옵션 의 일반 Ceph 구성 옵션을 참조하십시오.
2장. Ceph 네트워크 구성
스토리지 관리자는 Red Hat Ceph Storage 클러스터가 작동하는 네트워크 환경을 이해하고 그에 따라 Red Hat Ceph Storage를 구성해야 합니다. Ceph 네트워크 옵션을 이해하고 구성하면 전체 스토리지 클러스터의 최적 성능과 안정성을 보장합니다.
사전 요구 사항
- 네트워크 연결.
- Red Hat Ceph Storage 소프트웨어 설치
2.1. Ceph의 네트워크 구성
고성능 Red Hat Ceph Storage 클러스터를 구축하는 데 네트워크 구성이 중요합니다. Ceph 스토리지 클러스터는 Ceph 클라이언트를 대신하여 요청 라우팅 또는 디스패치를 수행하지 않습니다. 대신 Ceph 클라이언트에서 Ceph OSD 데몬에 직접 요청을 보냅니다. Ceph OSD는 Ceph 클라이언트를 대신하여 데이터 복제를 수행하므로 복제 및 기타 요인이 Ceph 스토리지 클러스터의 네트워크에 추가 로드가 부과됩니다.
Ceph에는 모든 데몬에 적용되는 하나의 네트워크 구성 요구 사항이 있습니다. Ceph 구성 파일은 각 데몬의 호스트를
지정해야 합니다.
cephadm
과 같은 일부 배포 유틸리티에서는 구성 파일을 생성합니다. 배포 유틸리티에서 수행하는 경우 이러한 값을 설정하지 마십시오.
host
옵션은 FQDN이 아닌 노드의 짧은 이름입니다. 이는 IP 주소가 아닙니다.
모든 Ceph 클러스터는 공용 네트워크를 사용해야 합니다. 그러나 내부 클러스터 네트워크를 지정하지 않으면 Ceph는 단일 공용 네트워크를 가정합니다. Ceph는 퍼블릭 네트워크에서만 작동할 수 있지만 대규모 스토리지 클러스터의 경우 클러스터 관련 트래픽만 제공하는 두 번째 프라이빗 네트워크를 통해 상당한 성능 향상을 확인할 수 있습니다.
두 개의 네트워크로 Ceph 스토리지 클러스터를 실행하는 것이 좋습니다. 하나의 공용 네트워크 및 사설 네트워크 1개
두 개의 네트워크를 지원하려면 각 Ceph 노드에 둘 이상의 NIC(네트워크 인터페이스 카드)가 있어야 합니다.

두 개의 개별 네트워크 작동을 고려해야 하는 몇 가지 이유가 있습니다.
- 성능: Ceph OSD는 Ceph 클라이언트의 데이터 복제를 처리합니다. Ceph OSD가 데이터를 두 번 이상 복제할 때 Ceph OSD 간의 네트워크가 Ceph 클라이언트와 Ceph 스토리지 클러스터 간에 네트워크 로드를 쉽게 dwarfs합니다. 이는 대기 시간을 도입하고 성능 문제를 발생시킬 수 있습니다. 복구 및 재조정을 통해 공용 네트워크에 상당한 대기 시간이 발생할 수 있습니다.
-
보안: 대부분의 사람들은 일반적으로 영주적이지만 일부 활동자는 DoS (Denial of Service) 공격으로 알려진 항목에 참여합니다. Ceph OSD 간 트래픽이 중단되면 피어링이 실패하고 배치 그룹이 더 이상
active + clean
상태가 반영되지 않아 사용자가 데이터를 읽고 쓰는 것을 방지할 수 있습니다. 이러한 유형의 공격을 제거하는 가장 좋은 방법은 인터넷에 직접 연결되지 않는 완전히 별도의 클러스터 네트워크를 유지 관리하는 것입니다.
네트워크 구성 설정은 필요하지 않습니다. Ceph 데몬을 실행하는 모든 호스트에 공용 네트워크가 구성되었다고 가정하면 Ceph 네트워크에서만 작동할 수 있습니다. 그러나 Ceph를 사용하면 공용 네트워크에 대한 여러 IP 네트워크와 서브넷 마스크를 포함하여 보다 구체적인 기준을 설정할 수 있습니다. OSD 하트비트, 오브젝트 복제 및 복구 트래픽을 처리하도록 별도의 클러스터 네트워크를 설정할 수도 있습니다.
구성에서 설정한 IP 주소와 공용 IP 주소 네트워크 클라이언트가 서비스에 액세스하는 데 사용할 수 있는 IP 주소를 혼동하지 마십시오. 일반적인 내부 IP 네트워크는 192.168.0.0
또는 10.0.0.0
입니다.
Ceph는 서브넷에 CIDR 표기법을 사용합니다(예: 10.0.0.0/24
).
공용 또는 사설 네트워크에 대해 둘 이상의 IP 주소와 서브넷 마스크를 지정하는 경우 네트워크 내의 서브넷을 서로 라우팅할 수 있어야 합니다. 또한 IP 테이블에 각 IP 주소와 서브넷을 포함하고 필요에 따라 해당 포트를 엽니다.
네트워크를 구성하면 클러스터를 다시 시작하거나 각 데몬을 다시 시작할 수 있습니다. Ceph 데몬은 동적으로 바인딩되므로 네트워크 구성을 변경하는 경우 전체 클러스터를 한 번에 다시 시작할 필요가 없습니다.
추가 리소스
- 자세한 옵션 설명 및 사용법은 Red Hat Ceph Storage 구성 가이드,부록 B 의 일반적인 옵션을 참조하십시오.
2.2. Ceph 네트워크 메시지
FlexVolume은 Ceph 네트워크 계층 구현입니다. Red Hat은 두 가지 유형의 관리자를 지원합니다.
-
simple
-
async
Red Hat Ceph Storage 5 이상에서 async
는 기본 비동기 유형입니다. 전달자 유형을 변경하려면 Ceph 구성 파일의 [global]
섹션에서 ms_type
구성 설정을 지정합니다.
async
methodenger의 경우 Red Hat은 posix
전송 유형을 지원하지만 현재 rdma
또는 dpdk
는 지원하지 않습니다. 기본적으로 Red Hat Ceph Storage 5 이상의 ms_type
설정은 async+posix
를 반영합니다. 여기서 async
는 지저귀 유형이며 posix
는 전송 유형입니다.
SimpleMessenger
SimpleMessenger
구현에서는 소켓당 두 개의 스레드가 있는 TCP 소켓을 사용합니다. Ceph는 각 논리 세션을 연결과 연결합니다. 파이프는 각 메시지의 입력 및 출력을 포함하여 연결을 처리합니다. SimpleMessenger
는 posix
전송 유형에는 효과적이지만 rdma
또는 dpdk
와 같은 다른 전송 유형에는 효과적이지 않습니다.
AsyncMessenger
결과적으로 AsyncMessenger
는 Red Hat Ceph Storage 5 이상의 기본 지저 유형입니다. Red Hat Ceph Storage 5 이상의 경우 AsyncMessenger
구현에서는 연결에 고정 크기 스레드 풀과 함께 TCP 소켓을 사용하며, 이는 복제본 또는 세로저 코드 청크 수와 같아야 합니다. CPU 수가 낮거나 서버당 OSD 수가 높기 때문에 성능이 저하되는 경우 스레드 수를 더 낮은 값으로 설정할 수 있습니다.
Red Hat은 현재 rdma
또는 dpdk
와 같은 다른 전송 유형을 지원하지 않습니다.
추가 리소스
- 자세한 옵션 설명 및 사용은 Red Hat Ceph Storage Configuration Guide,부록 B 의 AsyncMessenger 옵션을 참조하십시오.
- Ceph 메시지 버전 2 프로토콜과 함께 유선 암호화를 사용하는 방법에 대한 자세한 내용은 Red Hat Ceph Storage Architecture Guide 를 참조하십시오.
2.3. 공용 네트워크 구성
Ceph 네트워크를 구성하려면 cephadm
쉘 내에서 config set
명령을 사용합니다. 네트워크 구성에서 설정한 IP 주소는 네트워크 클라이언트가 서비스에 액세스하는 데 사용할 수 있는 공용 IP 주소와 다릅니다.
Ceph 기능은 퍼블릭 네트워크에서만 완벽하게 작동합니다. 그러나 Ceph를 사용하면 공용 네트워크에 대한 여러 IP 네트워크를 포함하여 보다 구체적인 기준을 설정할 수 있습니다.
OSD 하트비트, 오브젝트 복제 및 복구 트래픽을 처리하도록 별도의 프라이빗 클러스터 네트워크를 설정할 수도 있습니다. 사설 네트워크에 대한 자세한 내용은 사설 네트워크 구성을 참조하십시오.
Ceph는 서브넷에 CIDR 표기법을 사용합니다(예: 10.0.0.0/24). 일반적인 내부 IP 네트워크는 종종ECDHE 또는 10.0.0.0/24입니다.
공용 또는 클러스터 네트워크에 둘 이상의 IP 주소를 지정하는 경우 네트워크 내의 서브넷을 서로 라우팅할 수 있어야 합니다. 또한 IP 테이블에 각 IP 주소를 포함하고 필요에 따라 포트를 엽니다.
공용 네트워크 구성을 사용하면 공용 네트워크의 IP 주소 및 서브넷을 구체적으로 정의할 수 있습니다.
사전 요구 사항
- Red Hat Ceph Storage 소프트웨어 설치
절차
cephadm
쉘에 로그인합니다.예제
[root@host01 ~]# cephadm shell
서브넷을 사용하여 공용 네트워크를 구성합니다.
구문
ceph config set mon public_network IP_ADDRESS_WITH_SUBNET
예제
[ceph: root@host01 /]# ceph config set mon public_network 192.168.0.0/24
스토리지 클러스터에서 서비스 목록을 가져옵니다.
예제
[ceph: root@host01 /]# ceph orch ls
데몬을 다시 시작합니다. Ceph 데몬은 동적으로 바인딩되므로 특정 데몬의 네트워크 구성을 변경하는 경우 한 번에 전체 클러스터를 다시 시작할 필요가 없습니다.
예제
[ceph: root@host01 /]# ceph orch restart mon
선택 사항: 클러스터를 재시작하려면 admin 노드에서 root 사용자로
systemctl
명령을 실행합니다.구문
systemctl restart ceph-FSID_OF_CLUSTER.target
예제
[root@host01 ~]# systemctl restart ceph-1ca9f6a8-d036-11ec-8263-fa163ee967ad.target
추가 리소스
- 자세한 옵션 설명 및 사용법은 Red Hat Ceph Storage 구성 가이드,부록 B 의 일반적인 옵션을 참조하십시오.
2.4. 사설 네트워크 구성
네트워크 구성 설정은 필요하지 않습니다. Ceph는 프라이빗 네트워크라고도 하는 클러스터 네트워크를 구체적으로 구성하지 않는 한 모든 호스트가 작동하는 공용 네트워크를 가정합니다.
클러스터 네트워크를 생성하는 경우 OSD는 클러스터 네트워크를 통해 하트비트, 오브젝트 복제 및 복구 트래픽을 라우팅합니다. 이렇게 하면 단일 네트워크 사용과 비교하여 성능을 향상시킬 수 있습니다.
보안을 강화하기 위해 공용 네트워크 또는 인터넷에서 클러스터 네트워크에 연결할 수 없습니다.
클러스터 네트워크를 할당하려면 cephadm bootstrap
명령과 함께 --cluster-network
옵션을 사용합니다. 지정하는 클러스터 네트워크는 CIDR 표기법으로 서브넷을 정의해야 합니다(예: 10.90.90.0/24 또는 fe80::/64).
boostrap 후 cluster_network
를 구성할 수도 있습니다.
사전 요구 사항
- Ceph 소프트웨어 리포지토리에 액세스합니다.
- 스토리지 클러스터의 모든 노드에 대한 루트 수준 액세스.
절차
스토리지 클러스터의 모니터 노드로 사용하려는 초기 노드에서
cephadm bootstrap 명령을
실행합니다. 명령에--cluster-network
옵션을 포함합니다.구문
cephadm bootstrap --mon-ip IP-ADDRESS --registry-url registry.redhat.io --registry-username USER_NAME --registry-password PASSWORD --cluster-network NETWORK-IP-ADDRESS
예제
[root@host01 ~]# cephadm bootstrap --mon-ip 10.10.128.68 --registry-url registry.redhat.io --registry-username myuser1 --registry-password mypassword1 --cluster-network 10.10.0.0/24
부트스트랩 후
cluster_network
를 구성하려면config set
명령을 실행하고 데몬을 다시 배포합니다.cephadm
쉘에 로그인합니다.예제
[root@host01 ~]# cephadm shell
서브넷을 사용하여 클러스터 네트워크를 구성합니다.
구문
ceph config set global cluster_network IP_ADDRESS_WITH_SUBNET
예제
[ceph: root@host01 /]# ceph config set global cluster_network 10.10.0.0/24
스토리지 클러스터에서 서비스 목록을 가져옵니다.
예제
[ceph: root@host01 /]# ceph orch ls
데몬을 다시 시작합니다. Ceph 데몬은 동적으로 바인딩되므로 특정 데몬의 네트워크 구성을 변경하는 경우 한 번에 전체 클러스터를 다시 시작할 필요가 없습니다.
예제
[ceph: root@host01 /]# ceph orch restart mon
선택 사항: 클러스터를 재시작하려면 admin 노드에서 root 사용자로
systemctl
명령을 실행합니다.구문
systemctl restart ceph-FSID_OF_CLUSTER.target
예제
[root@host01 ~]# systemctl restart ceph-1ca9f6a8-d036-11ec-8263-fa163ee967ad.target
추가 리소스
-
cephadm 부트스트랩
호출에 대한 자세한 내용은 Red Hat Ceph Storage 설치 가이드의 새 스토리지 클러스터 부트 스트랩 섹션을 참조하십시오.
2.5. 클러스터에 여러 공용 네트워크 구성
사용자가 여러 네트워크 서브넷에 속하는 호스트에 Ceph Monitor 데몬을 배치하려면 클러스터에 여러 공용 네트워크를 구성해야 합니다. 사용 예로는 OpenShift Data Foundation용 Metro DR의 ACS(Advanced Cluster Management)에 사용되는 확장 클러스터 모드가 있습니다.
부트 스트랩 중에 여러 공용 네트워크를 클러스터에 구성하고 부트스트랩이 완료되면 구성할 수 있습니다.
사전 요구 사항
- 호스트를 추가하기 전에 실행 중인 Red Hat Ceph Storage 클러스터가 있는지 확인하십시오.
절차
여러 공용 네트워크로 구성된 Ceph 클러스터를 부트스트랩합니다.
mon
공용 네트워크 섹션이 포함된ceph.conf
파일을 준비합니다.중요제공된 공용 네트워크 중 하나 이상이 부트스트랩에 사용되는 현재 호스트에 구성되어야 합니다.
구문
[mon] public_network = PUBLIC_NETWORK1, PUBLIC_NETWORK2
예제
[mon] public_network = 10.40.0.0/24, 10.41.0.0/24, 10.42.0.0/24
이는 부트스트랩에 제공할 공용 네트워크 3개를 사용하는 예입니다.
ceph.conf
파일을 입력으로 제공하여 클러스터를 부트스트랩합니다.참고부트스트랩 중에 제공할 다른 인수를 포함할 수 있습니다.
구문
cephadm --image IMAGE_URL bootstrap --mon-ip MONITOR_IP -c PATH_TO_CEPH_CONF
참고또는
IMAGE_ID
(예:13ea90216d0be0be0d12d7869f72ad9de5cec9e54a27fd308e01e467c0a0a
)는IMAGE_URL
대신 사용할 수 있습니다.예제
[root@host01 ~]# cephadm –image cp.icr.io/cp/ibm-ceph/ceph-5-rhel8:latest bootstrap –mon-ip 10.40.0.0/24 -c /etc/ceph/ceph.conf
서브넷에 새 호스트를 추가합니다.
참고추가 중인 호스트는 활성 관리자가 실행 중인 호스트에서 연결할 수 있어야 합니다.
새 호스트의 root 사용자의
authorized_keys
파일에 클러스터의 공개 SSH 키를 설치합니다.구문
ssh-copy-id -f -i /etc/ceph/ceph.pub root@NEW_HOST
예제
[root@host01 ~]# ssh-copy-id -f -i /etc/ceph/ceph.pub root@host02 [root@host01 ~]# ssh-copy-id -f -i /etc/ceph/ceph.pub root@host03
cephadm
쉘에 로그인합니다.예제
[root@host01 ~]# cephadm shell
새 호스트를 Ceph 클러스터에 추가합니다.
구문
ceph orch host add NEW_HOST IP [LABEL1 ...]
예제
[root@host01 ~]# ceph orch host add host02 10.10.0.102 label1 [root@host01 ~]# ceph orch host add host03 10.10.0.103 label2
참고- 호스트 IP 주소를 명시적으로 제공하는 것이 가장 좋습니다. IP를 제공하지 않으면 호스트 이름은 DNS를 통해 즉시 확인되고 해당 IP가 사용됩니다.
-
새 호스트에 즉시 레이블을 지정하도록 하나 이상의 레이블을 포함할 수도 있습니다. 예를 들어 기본적으로
_admin
레이블은 cephadm 에서ceph.conf
파일의 사본을 유지하고/etc/ceph
디렉터리에client.admin
인증 키 파일을 유지합니다.
공용 네트워크 매개 변수의 네트워크 구성을 실행 중인 클러스터에 추가합니다. 서브넷이 쉼표로 구분되고 서브넷이 서브넷/마스크 형식으로 나열되어 있는지 확인합니다.
구문
ceph config set mon public_network "SUBNET_1,SUBNET_2, ..."
예제
[root@host01 ~]# ceph config set mon public_network "192.168.0.0/24, 10.42.0.0/24, ..."
필요한 경우 지정된 서브넷 내의 호스트에
mon
데몬을 배치하도록mon
사양을 업데이트합니다.
추가 리소스
- Red Hat Ceph Storage 설치 가이드에서 호스트를 추가하는 방법에 대한 자세한 내용은 호스트 추가를 참조하십시오. https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/6/html-single/installation_guide#adding-hosts_install
- Red Hat Ceph Storage 관리 가이드의 확장 클러스터에 대한 자세한 내용은 Ceph 스토리지 용 Cryostat 클러스터를 참조하십시오.
2.6. 방화벽 규칙이 기본 Ceph 포트에 대해 구성되어 있는지 확인
기본적으로 Red Hat Ceph Storage 데몬은 TCP 포트 6800-7100을 사용하여 클러스터의 다른 호스트와 통신합니다. 호스트의 방화벽이 이러한 포트에서 연결을 허용하는지 확인할 수 있습니다.
네트워크에 전용 방화벽이 있는 경우 이 절차를 따르는 것 외에도 해당 구성을 확인해야 할 수 있습니다. 자세한 내용은 방화벽 설명서를 참조하십시오.
자세한 내용은 방화벽 설명서를 참조하십시오.
사전 요구 사항
- 호스트에 대한 루트 수준 액세스.
절차
호스트의
iptables
구성을 확인합니다.활성 규칙을 나열합니다.
[root@host1 ~]# iptables -L
TCP 포트 6800-7100에서 연결을 제한하는 규칙이 없는지 확인합니다.
예제
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
호스트의
firewalld
구성을 확인합니다.호스트에서 열려 있는 포트를 나열합니다.
구문
firewall-cmd --zone ZONE --list-ports
예제
[root@host1 ~]# firewall-cmd --zone default --list-ports
- 범위가 TCP 포트 6800-7100에 포함되어 있는지 확인합니다.
2.7. Ceph Monitor 노드의 방화벽 설정
지저 버전 2 프로토콜 도입을 통해 네트워크를 통해 모든 Ceph 트래픽에 대한 암호화를 활성화할 수 있습니다. v2의 보안
모드 설정은 Ceph 데몬과 Ceph 클라이언트 간의 통신을 암호화하여 엔드 투 엔드 암호화를 제공합니다.
ECDHE v2 프로토콜
Ceph의 유선 프로토콜인 msgr2
의 두 번째 버전에는 몇 가지 새로운 기능이 포함되어 있습니다.
- 보안 모드는 네트워크를 통해 이동하는 모든 데이터를 암호화합니다.
- 인증 페이로드의 캡슐화 개선
- 광고 및 협상 기능 개선
Ceph 데몬은 기존, v1-호환 및 새로운 v2-호환 Ceph 클라이언트를 모두 동일한 스토리지 클러스터에 연결할 수 있도록 여러 포트에 바인딩합니다. Ceph Monitor 데몬에 연결하는 Ceph 클라이언트 또는 기타 Ceph 데몬에서는 가능한 경우 v2
프로토콜을 먼저 사용하려고 하지만 그렇지 않은 경우 기존 v1
프로토콜이 사용됩니다. 기본적으로, 메시징 프로토콜인 v1
및 v2
가 모두 활성화됩니다. 새로운 v2 포트는 3300이며 레거시 v1 포트는 기본적으로 6789입니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- Ceph 소프트웨어 리포지토리에 액세스합니다.
- Ceph Monitor 노드에 대한 루트 수준 액세스.
절차
다음 예제를 사용하여 규칙을 추가합니다.
[root@mon ~]# sudo iptables -A INPUT -i IFACE -p tcp -s IP-ADDRESS/NETMASK --dport 6789 -j ACCEPT [root@mon ~]# sudo iptables -A INPUT -i IFACE -p tcp -s IP-ADDRESS/NETMASK --dport 3300 -j ACCEPT
-
IFACE
를 공용 네트워크 인터페이스(예:eth0
,eth1
등)로 바꿉니다. -
IP-ADDRESS
를 공용 네트워크의 IP 주소로 바꾸고NETECDHEK
를 공용 네트워크의 넷마스크로 바꿉니다.
-
firewalld
데몬의 경우 다음 명령을 실행합니다.[root@mon ~]# firewall-cmd --zone=public --add-port=6789/tcp [root@mon ~]# firewall-cmd --zone=public --add-port=6789/tcp --permanent [root@mon ~]# firewall-cmd --zone=public --add-port=3300/tcp [root@mon ~]# firewall-cmd --zone=public --add-port=3300/tcp --permanent
추가 리소스
- 특정 옵션 설명 및 사용법은 Ceph 네트워크 구성 옵션의 Red Hat Ceph Storage네트워크 구성 옵션을 참조하십시오.
- Ceph의 유선 암호화 사용에 대한 자세한 내용은 Red Hat Ceph Storage Architecture Guide 를 참조하십시오.
3장. Ceph Monitor 구성
스토리지 관리자는 Ceph 모니터에 기본 구성 값을 사용하거나 의도된 워크로드에 따라 사용자 지정할 수 있습니다.
사전 요구 사항
- Red Hat Ceph Storage 소프트웨어 설치
3.1. Ceph Monitor 구성
Ceph 모니터 구성 방법을 이해하는 것은 안정적인 Red Hat Ceph Storage 클러스터를 구축하는 데 중요한 부분입니다. 모든 스토리지 클러스터에는 모니터가 하나 이상 있습니다. Ceph Monitor 구성은 일반적으로 일관되지만 스토리지 클러스터에서 Ceph Monitor를 추가, 제거 또는 교체할 수 있습니다.
Ceph 모니터는 클러스터 맵의 "마스터 복사"를 유지합니다. 즉, Ceph 클라이언트에서 하나의 Ceph 모니터에 연결하여 현재 클러스터 맵을 검색하여 모든 Ceph 모니터 및 Ceph OSD의 위치를 확인할 수 있습니다.
Ceph 클라이언트가 Ceph OSD에서 읽거나 쓰려면 먼저 Ceph Monitor에 연결해야 합니다. Ceph 클라이언트는 클러스터 맵의 현재 사본과ECDHE 알고리즘을 사용하여 모든 개체의 위치를 계산할 수 있습니다. Ceph 클라이언트는 개체 위치를 계산할 수 있으므로 Ceph 클라이언트가 Ceph OSD와 직접 통신할 수 있습니다. 이는 Ceph의 높은 확장성 및 성능 측면에서 매우 중요한 측면입니다.
Ceph Monitor의 기본 역할은 클러스터 맵의 마스터 복사본을 유지 관리하는 것입니다. Ceph 모니터는 인증 및 로깅 서비스도 제공합니다. Ceph Monitor는 모니터 서비스의 모든 변경 사항을 단일 Paxos 인스턴스에 작성하고 Paxos는 강력한 일관성을 위해 키-값 저장소에 변경 사항을 기록합니다. Ceph 모니터는 동기화 작업 중에 클러스터 맵의 최신 버전을 쿼리할 수 있습니다. Ceph 모니터는 바운스 db
데이터베이스를 사용하여 키-값 저장소의 스냅샷 및ECDHE을 활용하여 저장소 전체 동기화를 수행합니다.

3.2. Ceph Monitor 구성 데이터베이스 보기
구성 데이터베이스에서 Ceph Monitor 구성을 볼 수 있습니다.
Red Hat Ceph Storage의 이전 릴리스에서는 /etc/ceph/ceph.conf
에서 Ceph Monitor 설정을 중앙 집중화합니다. 이 설정 파일은 Red Hat Ceph Storage 5에서 더 이상 사용되지 않습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- Ceph Monitor 호스트에 대한 루트 수준 액세스.
절차
cephadm
쉘에 로그인합니다.[root@host01 ~]# cephadm shell
ceph config
명령을 사용하여 구성 데이터베이스를 확인합니다.예제
[ceph: root@host01 /]# ceph config get mon
추가 리소스
-
ceph config
명령에 사용 가능한 옵션에 대한 자세한 내용은ceph config -h
를 사용합니다.
3.3. Ceph 클러스터 맵
클러스터 맵은 모니터 맵, OSD 맵, 배치 그룹 맵을 포함한 복합 맵입니다. 클러스터 맵은 여러 중요한 이벤트를 추적합니다.
-
Red Hat Ceph Storage 클러스터에
있는
프로세스는 무엇입니까. -
Red Hat Ceph Storage 클러스터에 있거나 실행 중이거나
중단된
프로세스는 무엇입니까. -
배치 그룹이
활성 상태인지
비활성
상태인지,정리
되었는지 또는 다른 상태에 있는지 여부입니다. 다음과 같은 클러스터의 현재 상태를 반영하는 기타 세부 정보:
- 스토리지 공간의 총 용량 또는
- 사용된 스토리지 용량입니다.
클러스터 상태가 크게 변경되는 경우(예: Ceph OSD가 중단됨) 배치 그룹이 저하된 상태가 됩니다. 클러스터 맵이 업데이트되어 클러스터의 현재 상태를 반영합니다. 또한 Ceph 모니터는 클러스터의 이전 상태 기록이 유지됩니다. 모니터 맵, OSD 맵, 배치 그룹 맵은 각각 맵 버전의 기록을 유지합니다. 각 버전을 epoch 라고 합니다.
Red Hat Ceph Storage 클러스터를 작동할 때 이러한 상태를 추적하는 것이 클러스터 관리에서 중요한 부분입니다.
3.4. Ceph Monitor 쿼럼
클러스터는 단일 모니터를 사용하여 실행됩니다. 그러나 단일 모니터는 단일 장애 지점입니다. 프로덕션 Ceph 스토리지 클러스터에서 고가용성을 보장하기 위해 여러 모니터에서 Ceph를 실행하여 단일 모니터에 장애가 발생하지 않도록 전체 스토리지 클러스터가 실패하지 않습니다.
Ceph 스토리지 클러스터가 고가용성을 위해 여러 Ceph Monitor를 실행하는 경우 Ceph Monitor는 Paxos 알고리즘을 사용하여 마스터 클러스터 맵에 대한 전파를 설정합니다. 상향을 위해서는 클러스터 맵에 대한 인식이 필요한 쿼럼을 구축하기 위해 실행되는 대부분의 모니터가 필요합니다. 예를 들면 1; 3개 중 2개, 5개 중 3개, 6개 중 4개 등입니다.
고가용성을 보장하기 위해 최소 3개의 Ceph 모니터가 있는 프로덕션 Red Hat Ceph Storage 클러스터를 실행하는 것이 좋습니다. 여러 모니터를 실행하는 경우 쿼럼을 설정하기 위해 스토리지 클러스터의 멤버여야 하는 초기 모니터를 지정할 수 있습니다. 이로 인해 스토리지 클러스터가 온라인 상태가 되는 데 걸리는 시간이 단축될 수 있습니다.
[mon] mon_initial_members = a,b,c
스토리지 클러스터의 대부분의 모니터는 쿼럼을 설정하기 위해 에서 서로 연결할 수 있어야 합니다. 초기 모니터 수를 줄여 mon_initial_members
옵션을 사용하여 쿼럼을 설정할 수 있습니다.
3.5. Ceph Monitor 일관성
Ceph 구성 파일에 모니터 설정을 추가할 때 Ceph 모니터의 아키텍처 측면을 알고 있어야 합니다. Ceph는 클러스터 내에서 다른 Ceph 모니터를 검색할 때 Ceph Monitor에 대한 엄격한 일관성 요구 사항을 적용합니다. Ceph 클라이언트 및 기타 Ceph 데몬은 Ceph 구성 파일을 사용하여 모니터를 검색하는 반면 모니터는 Ceph 구성 파일이 아닌 모니터 맵(monmap
)을 사용하여 서로 검색합니다.
Ceph Monitor는 Red Hat Ceph Storage 클러스터에서 다른 Ceph 모니터를 검색할 때 모니터 맵의 로컬 사본을 나타냅니다. Ceph 구성 파일 대신 모니터 맵을 사용하면 클러스터를 중단할 수 있는 오류가 발생하지 않습니다. 예를 들어 모니터 주소 또는 포트를 지정할 때 Ceph 구성 파일에 오타가 있습니다. 모니터는 검색에 모니터 맵을 사용하고 클라이언트 및 기타 Ceph 데몬과 모니터링 맵을 공유하므로 모니터 맵은 모니터링 맵이 유효함을 엄격한 보장을 제공합니다.
모니터 맵에 업데이트를 적용할 때 엄격한 일관성
Ceph Monitor의 다른 모든 업데이트와 마찬가지로 모니터 맵의 변경 사항은 항상 Paxos라는 분산 추천 알고리즘을 통해 실행됩니다. Ceph 모니터는 Ceph 모니터를 추가하거나 제거하는 등 모니터 맵에 대한 각 업데이트에 동의해야 쿼럼의 각 모니터의 모니터 맵 버전이 동일한 버전인지 확인합니다. 모니터 맵 업데이트는 증분되므로 Ceph Monitors에 최신 동의 버전 및 이전 버전 세트가 포함됩니다.
내역 유지 관리
기록을 유지 관리하면 이전 버전의 모니터 맵이 있는 Ceph 모니터를 사용하여 Red Hat Ceph Storage 클러스터의 현재 상태를 확인할 수 있습니다.
Ceph 모니터가 모니터 맵 대신 Ceph 구성 파일을 통해 서로 발견하면 Ceph 구성 파일이 자동으로 업데이트되고 배포되지 않으므로 추가 위험이 발생할 수 있습니다. Ceph 모니터는 기존 Ceph 구성 파일을 실수로 사용하거나, Ceph 모니터를 인식하지 못하거나, 쿼럼을 벗어나거나, Paxos가 시스템의 현재 상태를 정확하게 확인할 수 없는 상황을 개발할 수 있습니다.
3.6. Ceph 모니터 부트스트랩
대부분의 구성 및 배포 사례에서 cephadm
과 같은 Ceph를 배포하는 툴은 모니터 맵을 생성하여 Ceph 모니터를 부트스트랩하는 데 도움이 될 수 있습니다.
Ceph 모니터에는 몇 가지 명시적인 설정이 필요합니다.
-
File System ID:
fsid
는 오브젝트 저장소의 고유 식별자입니다. 동일한 하드웨어에서 여러 스토리지 클러스터를 실행할 수 있으므로 모니터를 부트스트랩할 때 오브젝트 저장소의 고유 ID를 지정해야 합니다.cephadm
과 같은 배포 도구를 사용하면 파일 시스템 ID가 생성되지만fsid
를 수동으로 지정할 수도 있습니다. 모니터 ID: 모니터 ID는 클러스터 내의 각 모니터에 할당된 고유 ID입니다. 규칙에 따라 ID는 모니터의 호스트 이름으로 설정됩니다. 이 옵션은
ceph
명령을 사용하거나 Ceph 구성 파일에서 배포 툴을 사용하여 설정할 수 있습니다. Ceph 구성 파일에서 섹션은 다음과 같이 구성됩니다.예제
[mon.host1] [mon.host2]
- keys: 모니터에는 시크릿 키가 있어야 합니다.
추가 리소스
-
cephadm
및 Ceph 오케스트레이터에 대한 자세한 내용은 Red Hat Ceph Storage 운영 가이드를 참조하십시오.
3.7. Ceph 모니터의 최소 설정
Ceph 구성 파일에서 Ceph 모니터의 베어 최소 모니터 설정에는 DNS 및 모니터 주소에 대해 구성되지 않은 경우 각 모니터의 호스트 이름이 포함되어 있습니다. Ceph 모니터는 기본적으로 포트 6789
및 3300
에서 실행됩니다.
Ceph 구성 파일을 편집하지 마십시오.
모니터에 대한 이 최소 구성은 배포 툴이 fsid
및 mon.
키를 생성하는 것으로 가정합니다.
다음 명령을 사용하여 스토리지 클러스터 구성 옵션을 설정하거나 읽을 수 있습니다.
-
Ceph 구성 덤프
- 전체 스토리지 클러스터에 대한 전체 구성 데이터베이스를 덤프합니다. -
Ceph config generate-minimal-conf
- 최소ceph.conf
파일을 생성합니다. -
Ceph config get
OrderO - Ceph Monitor의 구성 데이터베이스에 저장된 특정 데몬 또는 클라이언트에 대한 구성을 덤프합니다. -
Ceph 설정 VALUE
- Ceph Monitor의 구성 데이터베이스에 설정 옵션을 설정합니다. -
Ceph config show OrderO
- 실행 중인 데몬에 대해 보고된 실행 중인 구성을 표시합니다. -
Ceph
config assimilate-conf -i INPUT_FILE -o OUTPUT_FILE
- Ingests a configuration file from the input file and moves any valid options into the Ceph Monitors' 구성 데이터베이스.
여기에서는 Rest ic O 매개 변수의 이름이 섹션 또는 Ceph 데몬일 수 있으며,TION은 구성 파일이며, VALUE 는 true
또는 false
일 수 있습니다.
구성 저장소에서 옵션을 가져오기 전에 Ceph 데몬에 config 옵션이 필요한 경우 다음 명령을 실행하여 구성을 설정할 수 있습니다.
ceph cephadm set-extra-ceph-conf
이 명령은 데몬의 모든 ceph.conf
파일에 텍스트를 추가합니다. 이는 해결 방법이며 권장되는 작업이 아닙니다.
3.8. Ceph의 고유 식별자
각 Red Hat Ceph Storage 클러스터에는 고유 식별자(fsid
)가 있습니다. 지정하면 일반적으로 구성 파일의 [global]
섹션 아래에 표시됩니다. 일반적으로 배포 툴은 fsid
를 생성하여 모니터 맵에 저장하므로 값이 구성 파일에 표시되지 않을 수 있습니다. fsid
를 사용하면 동일한 하드웨어에서 여러 클러스터에 대해 데몬을 실행할 수 있습니다.
해당 툴을 사용하는 배포 툴을 사용하는 경우에는 이 값을 설정하지 마십시오.
3.9. Ceph Monitor 데이터 저장소
Ceph는 Ceph가 저장소 데이터를 모니터링하는 기본 경로를 제공합니다.
Red Hat은 프로덕션 Red Hat Ceph Storage 클러스터에서 최적의 성능을 위해 Ceph OSD의 별도의 드라이브에서 Ceph 모니터를 실행하는 것이 좋습니다.
전용 /var/lib/ceph
파티션은 50~100GB의 크기가 있는 MON 데이터베이스에 사용해야 합니다.
Ceph 모니터는 종종 fsync()
함수를 호출하여 Ceph OSD 워크로드를 방해할 수 있습니다.
Ceph 모니터는 데이터를 키-값 쌍으로 저장합니다. 데이터 저장소를 사용하면 Ceph 모니터가 Paxos를 통해 손상된 버전을 실행하지 못하도록 하고 단일 원자 배치에서 여러 가지 수정 작업을 수행할 수 있습니다.
기본 데이터 위치 변경은 권장하지 않습니다. 기본 위치를 수정하는 경우 구성 파일의 [mon]
섹션에 설정하여 Ceph 모니터에서 균일하게 설정합니다.
3.10. Ceph 스토리지 용량
Red Hat Ceph Storage 클러스터가 최대 용량에 근접하는 경우( mon_osd_full_ratio
매개변수에 따라) 데이터 손실을 방지하기 위해 안전한 조치로 Ceph OSD에 쓰거나 읽을 수 없습니다. 따라서 프로덕션 환경에서 Red Hat Ceph Storage 클러스터가 전체 비율에 접근하도록 하는 것은 가용성이 높기 때문에 좋지 않습니다. 기본 전체 비율은 .95 .95
또는 95%의 용량입니다. 이는 적은 수의 OSD가 있는 테스트 클러스터에 대해 매우 공격적인 설정입니다.
클러스터를 모니터링할 때 거의 전체
비율과 관련된 경고에 유의하십시오. 즉, 하나 이상의 OSD가 실패하면 일부 OSD가 실패하는 경우 일시적으로 서비스가 중단될 수 있습니다. 스토리지 용량을 늘리려면 OSD를 더 추가하는 것이 좋습니다.
테스트 클러스터의 일반적인 시나리오에는 클러스터 재조정을 확인하기 위해 Red Hat Ceph Storage 클러스터에서 Ceph OSD를 제거하는 시스템 관리자가 필요합니다. 그런 다음 다른 Ceph OSD를 제거하여 Red Hat Ceph Storage 클러스터가 결국 전체 비율에 도달하여 잠길 때까지 계속 진행합니다.
Red Hat은 테스트 클러스터를 사용하는 경우에도 약간의 용량 계획을 권장합니다. 계획을 사용하면 고가용성을 유지하기 위해 필요한 예비 용량을 측정할 수 있습니다.
클러스터를 즉시 교체하지 않고 활성 + 정리
상태로 복구할 수 있는 일련의 Ceph OSD 오류를 계획하는 것이 좋습니다. 활성 + 성능 저하
상태에서 클러스터를 실행할 수 있지만 일반적인 작동 조건에는 적합하지 않습니다.
다음 다이어그램에서는 호스트당 하나의 Ceph OSD가 있는 33개의 Ceph 노드가 포함된 간단한 Red Hat Ceph Storage 클러스터를 보여줍니다. 각 Ceph OSD 데몬은 3TB 드라이브에서 읽고 3TB 드라이브로 씁니다. 따라서 이 예시적인 Red Hat Ceph Storage 클러스터의 실제 용량은 최대 99TB입니다. mon osd full ratio
0.95
; Red Hat Ceph Storage 클러스터가 5TB의 남아 있는 용량인 경우 클러스터에서 Ceph 클라이언트가 데이터를 읽고 쓸 수 없습니다. 따라서 Red Hat Ceph Storage 클러스터의 운영 용량은 99TB가 아닌95TB입니다.

이러한 클러스터에서는 하나 또는 두 개의 OSD가 실패하는 것이 일반적입니다. 덜 자주 그러나 합리적인 시나리오에는 랙의 라우터 또는 전원 공급 장치가 실패하므로 OSD 7-12와 같이 여러 개의 OSD가 동시에 중단됩니다. 이러한 시나리오에서는 추가 OSD가 포함된 몇 개의 호스트를 짧은 순서로 추가하는 경우에도 작동할 수 있고 활성 + 정리
상태를 수행할 수 있는 클러스터를 위해 계속 노력하고 있어야 합니다. 용량 사용률이 너무 높으면 데이터가 손실되지 않을 수 있지만 클러스터의 용량 사용률이 전체 비율을 초과하면 장애 도메인 내의 중단을 해결하는 동안 데이터 가용성을 계속 유지할 수 있습니다. 이러한 이유로 Red Hat은 최소 대략적인 용량 계획을 권장합니다.
클러스터의 두 숫자를 확인합니다.
- OSD 수
- 클러스터의 총 용량
클러스터 내에서 OSD의 평균 용량을 확인하려면 클러스터의 총 용량을 클러스터의 OSD 수로 나눕니다. 정상적인 작업 중에 동시에 실패할 것으로 예상되는 OSD 수로 곱하는 것이 좋습니다. 마지막으로 최대 작동 용량에 도달할 수 있는 전체 비율로 클러스터 용량을 곱합니다. 그런 다음 적절한 비율로 얻을 수없는 OSD에서 데이터 양을 뺀다. 높은 개수의 OSD 오류(예: OSD 랙)로 진행 중인 프로세스를 반복하여 거의 전체 비율로 적절한 수에 도달합니다.
3.11. Ceph 하트비트
Ceph 모니터는 각 OSD의 보고서가 필요한 경우 클러스터에 대해 알고, 근접한 OSD 상태에 대한 OSD에서 보고서를 수신합니다. Ceph는 모니터와 OSD 간의 상호 작용을 위해 적절한 기본 설정을 제공하지만 필요에 따라 수정할 수 있습니다.
3.12. Ceph Monitor 동기화 역할
여러 모니터에서 프로덕션 클러스터를 실행하는 경우 각 모니터에서 최신 버전의 클러스터 맵이 있는지 확인합니다. 예를 들어, 즉시 모니터의 맵에서 가장 현재 epoch보다 높은 하나 이상의 epoch 번호를 가진 사방 모니터에 있는 맵입니다. 클러스터의 하나의 모니터는 쿼럼을 떠나고, 클러스터에 대한 최신 정보를 검색하기 위해 동기화한 다음 쿼럼에 다시 참여해야 하는 시점으로 다른 모니터에 속할 수 있습니다.
동기화 역할
동기화 목적으로 모니터는 다음 세 가지 역할 중 하나를 가정할 수 있습니다.
- 리더: 리더는 클러스터 맵의 최신 Paxos 버전을 얻는 첫 번째 모니터입니다.
- 공급자: 공급자는 클러스터 맵의 최신 버전이 있지만 최신 버전을 처음 수행하는 모니터입니다.
- 요청자: 요청자는 리더 뒤에 속하는 모니터이며 쿼럼에 다시 참여하려면 클러스터에 대한 최신 정보를 검색하도록 동기화해야 합니다.
리더는 이러한 역할을 통해 동기화 작업을 공급자에게 위임할 수 있으므로 동기화 요청이 리더를 과부하시키고 성능을 향상시킬 수 있습니다. 다음 다이어그램에서 요청자는 다른 모니터 뒤에 떨어졌습니다. 요청자는 리더에게 동기화하도록 요청하고, 리더는 요청자에게 공급자와 동기화하도록 지시합니다.

동기화 모니터링
동기화는 항상 새 모니터가 클러스터에 참여할 때 발생합니다. 런타임 작업 중에 모니터는 다른 시간에 클러스터 맵에 대한 업데이트를 수신할 수 있습니다. 즉, 리더와 공급자 역할이 한 모니터에서 다른 모니터로 마이그레이션할 수 있습니다. 예를 들어 공급자를 리더 뒤에 두는 동안 이러한 상황이 발생하면 공급자는 요청자와 동기화를 종료할 수 있습니다.
동기화가 완료되면 Ceph에서 클러스터 전체에서 트리밍이 필요합니다. 트리밍을 수행하려면 배치 그룹이 활성 + 정리여야 합니다
.
3.13. Ceph 시간 동기화
Ceph 데몬은 중요한 메시지를 서로 전달합니다. 이 메시지는 데몬이 시간 초과 임계값에 도달하기 전에 처리해야 합니다. Ceph 모니터의 시계가 동기화되지 않은 경우 여러 개의 비정상적으로 이어질 수 있습니다.
예를 들면 다음과 같습니다.
- 데몬이 오래된 타임스탬프와 같은 수신된 메시지를 무시합니다.
- 시간 초과가 메시지가 수신되지 않은 경우 너무 빨리 또는 늦게 트리거되었습니다.
Ceph 모니터 호스트에 NTP를 설치하여 모니터 클러스터가 동기화된 클럭으로 작동하는지 확인합니다.
클럭 드리프트는 불일치가 아직 유해하지 않더라도 NTP에서 눈에 띄게 나타날 수 있습니다. NTP가 적절한 동기화 수준을 유지 관리하더라도 Ceph 클럭 드리프트 및 클럭 스큐 경고가 트리거될 수 있습니다. 이러한 상황에서 클럭 드리프트의 증가는 허용될 수 있습니다. 그러나 워크로드, 네트워크 대기 시간, 기본 타임아웃으로 덮어쓰기 구성, 기타 동기화 옵션 등의 여러 요인은 Paxos 보장을 손상시키지 않고 허용되는 클럭 드리프트 수준에 영향을 미칠 수 있습니다.
추가 리소스
- 자세한 내용은 Ceph 시간 동기화 섹션을 참조하십시오.
- 특정 옵션 설명 및 사용법은 Ceph Monitor 구성 옵션의 모든 Red Hat Ceph Storage Monitor 설정 옵션을 참조하십시오.
4장. Ceph 인증 구성
스토리지 관리자는 Red Hat Ceph Storage 클러스터의 보안에 사용자 및 서비스를 인증하는 것이 중요합니다. Red Hat Ceph Storage에는 기본적으로 Cephx 프로토콜, 암호화 인증용, 스토리지 클러스터에서 인증을 관리하는 툴이 포함되어 있습니다.
Red Hat Ceph Storage에는 기본적으로 Cephx 프로토콜, 암호화 인증용, 스토리지 클러스터에서 인증을 관리하는 툴이 포함되어 있습니다.
Ceph 인증 구성의 일부로 보안을 강화하기 위해 Ceph 및 게이트웨이 데몬의 키 교체를 고려하십시오. 키 교체는 cephadm
과 함께 명령줄을 통해 수행됩니다. 자세한 내용은 키 교체 활성화를 참조하십시오.
사전 요구 사항
- Red Hat Ceph Storage 소프트웨어 설치
4.1. cephx 인증
cephx
프로토콜은 기본적으로 활성화되어 있습니다. 암호화 인증에는 몇 가지 비용이 있지만 일반적으로 매우 낮습니다. 클라이언트 및 호스트를 연결하는 네트워크 환경이 안전한 것으로 간주되고 인증 비용을 절감할 수 없는 경우 이를 비활성화할 수 있습니다. Ceph 스토리지 클러스터를 배포할 때 배포 툴은 client.admin
사용자 및 인증 키를 생성합니다.
인증을 사용하는 것이 좋습니다.
인증을 비활성화하면 중간자 공격이 클라이언트 및 서버 메시지를 변경할 위험이 있어 심각한 보안 문제가 발생할 수 있습니다.
Cephx 활성화 및 비활성화
Cephx를 활성화하려면 Ceph Monitor 및 OSD용 키를 배포해야 합니다. Cephx 인증을 온/오프로 전환할 때는 배포 절차를 반복할 필요가 없습니다.
4.2. Cephx 활성화
cephx
가 활성화되면 Ceph는 기본 검색 경로에서 인증 키를 찾습니다. /etc/ceph/$cluster.$name.keyring
. Ceph 구성 파일의 [global]
섹션에 키링
옵션을 추가하여 이 위치를 재정의할 수 있지만 권장되지는 않습니다.
인증이 비활성화된 클러스터에서 cephx
를 활성화하려면 다음 절차를 실행합니다. 사용자 또는 배포 유틸리티에서 이미 키를 생성한 경우 키 생성과 관련된 단계를 건너뛸 수 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- Ceph Monitor 노드에 대한 루트 수준 액세스.
절차
client.admin
키를 생성하고 클라이언트 호스트의 키 사본을 저장합니다.[root@mon ~]# ceph auth get-or-create client.admin mon 'allow *' osd 'allow *' -o /etc/ceph/ceph.client.admin.keyring
주의이렇게 하면 기존
/etc/ceph/client.admin.keyring
파일의 내용이 취소됩니다. 배포 툴이 이미 수행한 경우 이 단계를 수행하지 마십시오.모니터 클러스터의 인증 키를 생성하고 모니터 보안 키를 생성합니다.
[root@mon ~]# ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'
모니터 키링을 모든 모니터
mon data
디렉터리의ceph.mon.keyring
파일에 복사합니다. 예를 들어 클러스터ceph
의mon.a
에 복사하려면 다음을 사용합니다.[root@mon ~]# cp /tmp/ceph.mon.keyring /var/lib/ceph/mon/ceph-a/keyring
모든 OSD에 대해 시크릿 키를 생성합니다. 여기서
ID
는 OSD 번호입니다.ceph auth get-or-create osd.ID mon 'allow rwx' osd 'allow *' -o /var/lib/ceph/osd/ceph-ID/keyring
기본적으로
cephx
인증 프로토콜이 활성화됩니다.참고인증 옵션을
none
으로 설정하여cephx
인증 프로토콜을 이전에 비활성화한 경우 Ceph 구성 파일(/etc/ceph/ceph.conf
)의[global]
섹션에서 다음 행을 제거하면cephx
인증 프로토콜이 다시 활성화됩니다.auth_cluster_required = none auth_service_required = none auth_client_required = none
Ceph 스토리지 클러스터를 시작하거나 다시 시작합니다.
중요cephx
를 활성화하려면 클러스터를 완전히 다시 시작해야 하거나 클라이언트 I/O를 비활성화하는 동안 클러스터를 종료한 다음 시작해야 하므로 다운타임이 필요합니다.스토리지 클러스터를 다시 시작하거나 종료하기 전에 이러한 플래그를 설정해야 합니다.
[root@mon ~]# ceph osd set noout [root@mon ~]# ceph osd set norecover [root@mon ~]# ceph osd set norebalance [root@mon ~]# ceph osd set nobackfill [root@mon ~]# ceph osd set nodown [root@mon ~]# ceph osd set pause
cephx
가 활성화되고 모든 PG가 활성화되고 정리되면 플래그를 설정 해제합니다.[root@mon ~]# ceph osd unset noout [root@mon ~]# ceph osd unset norecover [root@mon ~]# ceph osd unset norebalance [root@mon ~]# ceph osd unset nobackfill [root@mon ~]# ceph osd unset nodown [root@mon ~]# ceph osd unset pause
4.3. Cephx 비활성화
다음 절차에서는 Cephx를 비활성화하는 방법을 설명합니다. 클러스터 환경이 상대적으로 안전한 경우 인증 실행 비용을 상쇄할 수 있습니다.
Red Hat에서는 인증을 활성화하는 것이 좋습니다.
그러나 설정 또는 문제 해결 중에 인증을 일시적으로 비활성화하는 것이 더 쉬워질 수 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- Ceph Monitor 노드에 대한 루트 수준 액세스.
절차
Ceph 구성 파일의
[global]
섹션에서 다음 옵션을 설정하여cephx
인증을 비활성화합니다.예제
auth_cluster_required = none auth_service_required = none auth_client_required = none
- Ceph 스토리지 클러스터를 시작하거나 다시 시작합니다.
4.4. cephx 사용자 인증 키
인증이 활성화된 상태에서 Ceph를 실행하는 경우 ceph
관리 명령 및 Ceph 클라이언트에는 Ceph 스토리지 클러스터에 액세스하기 위해 인증 키가 필요합니다.
이러한 키를 ceph
관리 명령과 클라이언트에 제공하는 가장 일반적인 방법은 /etc/ceph/
디렉터리에 Ceph 인증 키를 포함하는 것입니다. 파일 이름은 일반적으로 ceph.client.admin.keyring
또는 $cluster.client.admin.keyring
입니다. /etc/ceph/
디렉터리에 인증 키를 포함하는 경우 Ceph 구성 파일에 키링
항목을 지정할 필요가 없습니다.
Red Hat은 client.admin
키가 포함되어 있으므로 관리 명령을 실행할 노드에 Red Hat Ceph Storage 클러스터 키링 파일을 복사하는 것이 좋습니다.
이렇게 하려면 다음 명령을 실행합니다.
# scp USER@HOSTNAME:/etc/ceph/ceph.client.admin.keyring /etc/ceph/ceph.client.admin.keyring
USER
를 호스트에서 사용된 사용자 이름으로, client.admin
키와 HOSTNAME
을 해당 호스트의 호스트 이름으로 교체합니다.
ceph.keyring
파일에 클라이언트 시스템에 적절한 권한이 설정되어 있는지 확인합니다.
키 설정을 사용하여 Ceph 구성 파일에 키 자체를 지정하거나
설정을 사용하여 키 파일의 경로를 지정할 수 있습니다.
key
file
4.5. cephx 데몬 키링
관리 사용자 또는 배포 툴은 사용자 인증 키를 생성하는 것과 동일한 방식으로 데몬 인증 키를 생성할 수 있습니다. 기본적으로 Ceph는 데이터 디렉터리 내에 데몬 키링을 저장합니다. 기본 키링 위치 및 데몬이 작동하는 데 필요한 기능입니다.
모니터 키링에는 키가 포함되지만 기능은 없으며 Ceph 스토리지 클러스터 인증
데이터베이스의 일부가 아닙니다.
데몬 데이터 디렉터리 위치는 기본적으로 양식의 디렉터리로 설정됩니다.
/var/lib/ceph/$type/CLUSTER-ID
예제
/var/lib/ceph/osd/ceph-12
이러한 위치는 재정의할 수 있지만 권장되지는 않습니다.
4.6. cephx 메시지 서명
Ceph는 세분화된 제어를 제공하므로 클라이언트와 Ceph 간 서비스 메시지의 서명을 활성화하거나 비활성화할 수 있습니다. Ceph 데몬 간의 메시지의 서명을 활성화하거나 비활성화할 수 있습니다.
Red Hat은 초기 인증에 설정된 세션 키를 사용하여 개체 간의 모든 지속적인 메시지를 인증하는 것이 좋습니다.
Ceph 커널 모듈은 아직 서명을 지원하지 않습니다.
5장. 풀, 배치 그룹 및 DestinationRule 구성
스토리지 관리자는 풀, 배치 그룹 및ECDHE 알고리즘에 Red Hat Ceph Storage 기본 옵션을 사용하거나 원하는 워크로드에 맞게 사용자 지정할 수 있습니다.
사전 요구 사항
- Red Hat Ceph Storage 소프트웨어 설치
5.1. 풀 배치 그룹 및 DestinationRule
풀을 생성하고 풀에 배치 그룹 수를 설정하면 기본값을 구체적으로 재정의하지 않는 경우 Ceph는 기본값을 사용합니다.
Red Hat은 일부 기본값을 재정의하는 것이 좋습니다. 특히 풀의 복제본 크기를 설정하고 기본 배치 그룹 수를 재정의합니다.
pool 명령을 실행할 때 이러한 값을 설정할 수 있습니다.
기본적으로 Ceph는 3개의 오브젝트 복제본을 생성합니다. 4개의 오브젝트 복사본을 기본값으로 설정하려면 기본 사본과 3개의 복제본 복사본을 설정하려면 osd_pool_default_size
에 표시된 대로 기본값을 재설정합니다. Ceph가 degraded 상태에서 더 적은 수의 복사본을 쓰도록 허용하려면 osd_pool_default_min_size
값을 osd_pool_default_size
값보다 작은 숫자로 설정합니다.
예제
[ceph: root@host01 /]# ceph config set global osd_pool_default_size 4 # Write an object 4 times. [ceph: root@host01 /]# ceph config set global osd_pool_default_min_size 1 # Allow writing one copy in a degraded state.
실제 배치 그룹이 있는지 확인하십시오. Red Hat은 OSD당 약 100개를 권장합니다. 예를 들어 총 OSD 수는 복제본 수 즉 osd_pool_default_size
로 나눈 총 OSD 수를 곱한 것입니다. 10개의 OSD 및 osd_pool_default_size
= 4의 경우 약 (100 * 10) / 4 = 250을 권장합니다.
예제
[ceph: root@host01 /]# ceph config set global osd_pool_default_pg_num 250 [ceph: root@host01 /]# ceph config set global osd_pool_default_pgp_num 250
추가 리소스
- 특정 옵션 설명 및 사용에 대해서는 l부록 E 의 모든 Red Hat Ceph Storage 풀, 배치 그룹,ECDHE 구성 옵션을 참조하십시오.
6장. Ceph OSD(Object Storage Daemon) 구성
스토리지 관리자는 원하는 워크로드에 따라 중복되고 최적화되도록 Ceph OSD(Object Storage Daemon)를 구성할 수 있습니다.
사전 요구 사항
- Red Hat Ceph Storage 소프트웨어 설치
6.1. Ceph OSD 구성
모든 Ceph 클러스터에는 다음을 정의하는 구성이 있습니다.
- 클러스터 ID
- 인증 설정
- 클러스터의 Ceph 데몬 멤버십
- 네트워크 구성
- 호스트 이름 및 주소
- 인증 키 경로
- OSD 로그 파일의 경로
- 기타 런타임 옵션
cephadm
과 같은 배포 툴은 일반적으로 초기 Ceph 구성 파일을 생성합니다. 그러나 배포 툴을 사용하지 않고 클러스터를 부트스트랩하려는 경우 자체적으로 생성할 수 있습니다.
편의를 위해 각 데몬에는 일련의 기본값이 있습니다. 많은 사용자가 ceph/src/common/config_opts.h
스크립트에서 설정합니다. monitor tell
명령을 사용하거나 Ceph 노드의 데몬 소켓에 직접 연결하여 이러한 설정을 Ceph 구성 파일 또는 런타임에 재정의할 수 있습니다.
Ceph 문제를 해결하기가 더 어렵기 때문에 기본 경로를 변경하지 않는 것이 좋습니다.
추가 리소스
-
cephadm
및 Ceph 오케스트레이터에 대한 자세한 내용은 Red Hat Ceph Storage 운영 가이드를 참조하십시오.
6.2. OSD 제거
Ceph는 여러 오브젝트 복사본을 생성하는 것 외에도 배치 그룹을 확인하여 데이터 무결성을 보장합니다. Ceph 스크럽은 오브젝트 스토리지 계층의 fsck
명령과 유사합니다.
각 배치 그룹에 대해 Ceph는 모든 개체의 카탈로그를 생성하고 각 기본 오브젝트와 해당 복제본을 비교하여 오브젝트가 누락되거나 일치하지 않도록 합니다.
Light scrubbing (Daily)은 오브젝트 크기 및 속성을 확인합니다. 딥 스크럽(weekly)은 데이터를 읽고 체크섬을 사용하여 데이터 무결성을 보장합니다.
데이터 무결성을 유지하는 데 스크럽이 중요하지만 성능을 줄일 수 있습니다. 스크럽 작업을 늘리거나 줄이려면 다음 설정을 조정합니다.
추가 리소스
- 자세한 내용은 Red Hat Ceph Storage Configuration Guide의 부록에 있는 Ceph scrubbing 옵션을 참조하십시오.
6.3. OSD 백필링
Ceph OSD를 클러스터에 추가하거나 클러스터에서 제거하는 경우 placement groups를 Ceph OSD로 이동시켜 균형을 복원하여 클러스터를 재조정합니다. 배치 그룹 및 포함된 오브젝트를 마이그레이션하는 프로세스에서는 클러스터 운영 성능이 저하될 수 있습니다. Ceph는 운영 성능을 유지하기 위해 '백필' 프로세스를 통해 이 마이그레이션을 수행하여 Ceph에서 백필 작업을 읽기 또는 쓰기 요청보다 낮은 우선 순위로 설정할 수 있습니다.
6.4. OSD 복구
클러스터가 시작되거나 Ceph OSD가 예기치 않게 종료되고 다시 시작되면 쓰기 작업이 발생하기 전에 OSD가 다른 Ceph OSD와 피어링을 시작합니다.
Ceph OSD가 충돌하여 다시 온라인 상태가 되면 일반적으로 배치 그룹에 최신 버전의 오브젝트가 포함된 다른 Ceph OSD와 동기화되지 않습니다. 이 경우 Ceph OSD가 복구 모드로 전환되고 최신 데이터 사본을 가져오고 맵을 최신 상태로 되돌립니다. Ceph OSD의 가동 중단 시간에 따라 OSD의 개체 및 배치 그룹이 최신 상태가 될 수 있습니다. 또한 실패 도메인이 중단된 경우(예: 랙) 두 개 이상의 Ceph OSD가 동시에 다시 온라인 상태가 될 수 있습니다. 이렇게 하면 복구 프로세스 시간이 많이 사용되고 리소스가 많이 소모될 수 있습니다.
Ceph는 운영 성능을 유지하기 위해 복구 요청, 스레드 및 오브젝트 청크 크기 수에 대한 제한으로 복구를 수행하여 Ceph가 성능 저하된 상태에서 제대로 수행할 수 있도록 합니다.
추가 리소스
- 특정 옵션 설명 및 사용에 대해서는 OSD 오브젝트 데몬 스토리지 구성 옵션의 모든 Red Hat Ceph Storage Ceph OSD 구성 옵션을 참조하십시오.
7장. Ceph Monitor 및 OSD 상호 작용 구성
스토리지 관리자는 안정적인 작업 환경을 보장하기 위해 Ceph Monitor와 OSD 간의 상호 작용을 올바르게 구성해야 합니다.
사전 요구 사항
- Red Hat Ceph Storage 소프트웨어 설치
7.1. Ceph Monitor 및 OSD 상호 작용
초기 Ceph 구성을 완료한 후에는 Ceph를 배포하고 실행할 수 있습니다. ceph 상태 또는
와 같은 명령을 실행하면 Ceph Monitor가 Ceph 스토리지 클러스터의 현재 상태를 보고합니다. Ceph 모니터는 각 Ceph OSD 데몬의 보고서가 필요하며, 비정상적인 Ceph OSD 데몬의 상태에 대한 Ceph OSD 데몬에서 보고서를 수신하여 Ceph 스토리지 클러스터에 대해 알고 있습니다. Ceph Monitor에서 보고서를 수신하지 못하거나 Ceph 스토리지 클러스터 변경에 대한 보고서가 수신되면 Ceph Monitor에서 Ceph 클러스터 맵의 상태를 업데이트합니다.
ceph
-s
Ceph는 Ceph Monitor 및 OSD 상호 작용을 위한 적절한 기본 설정을 제공합니다. 그러나 기본값을 재정의할 수 있습니다. 다음 섹션에서는 Ceph 스토리지 클러스터를 모니터링하기 위해 Ceph Monitor 및 Ceph OSD 데몬이 상호 작용하는 방법에 대해 설명합니다.
7.2. OSD 하트비트
각 Ceph OSD 데몬은 6초마다 다른 Ceph OSD 데몬의 하트비트를 확인합니다. 하트비트 간격을 변경하려면 런타임에 값을 변경합니다.
구문
ceph config set osd osd_heartbeat_interval TIME_IN_SECONDS
예제
[ceph: root@host01 /]# ceph config set osd osd_heartbeat_interval 60
비정상적인 Ceph OSD 데몬이 20초 간의 유예 기간 내에 하트비트 패킷을 전송하지 않으면 Ceph OSD 데몬을 사용하는 Ceph OSD 데몬이 다운
된 것으로 간주될 수 있습니다. Ceph 클러스터 맵을 업데이트하는 Ceph Monitor에 다시 보고할 수 있습니다. 유예 기간을 변경하려면 runtime 때 값을 설정합니다.
구문
ceph config set osd osd_heartbeat_grace TIME_IN_SECONDS
예제
[ceph: root@host01 /]# ceph config set osd osd_heartbeat_grace 30

7.3. OSD를 아래로 보고
기본적으로 서로 다른 호스트의 Ceph OSD 데몬 두 개가 보고된 Ceph OSD 데몬을 Ceph 모니터에 보고해야 Ceph 모니터에서 보고된 Ceph OSD 데몬의 경우 Ceph 모니터가 다운
되었습니다.
그러나 오류를 보고하는 모든 OSD가 랙의 다른 호스트에 있는 잘못된 스위치로 인해 OSD 간 연결 문제가 발생할 가능성이 있습니다.
"false alarm"을 방지하기 위해 Ceph에서는 laggy와 유사한 "subcluster"의 프록시로 오류를 보고하는 피어를 고려합니다. 항상 그런 것은 아니지만 관리자가 제대로 작동하지 않는 시스템의 하위 집합에 대한 유예 수정을 현지화하는 데 도움이 될 수 있습니다.
Ceph는 mon_osd_reporter_subtree_level
설정을 사용하여 DestinationRule 맵의 공통 day type에 의해 피어를 "subcluster"로 그룹화합니다.
기본적으로 다른 하위 트리의 보고서 두 개만 다른 Ceph OSD 데몬 을
보고해야 합니다. 관리자는 런타임 시 mon_osd_min_
및 down
_reportersmon_osd_reporter_subtree_level
값을 설정하여 Ceph OSD 데몬을 Ceph 모니터로 보고하는 데 필요한 고유한 하위 트리 및 공통 유형의 보고 유형을 변경할 수 있습니다.
구문
ceph config set mon mon_osd_min_down_reporters NUMBER
예제
[ceph: root@host01 /]# ceph config set mon mon_osd_min_down_reporters 4
구문
ceph config set mon mon_osd_reporter_subtree_level CRUSH_ITEM
예제
[ceph: root@host01 /]# ceph config set mon mon_osd_reporter_subtree_level host [ceph: root@host01 /]# ceph config set mon mon_osd_reporter_subtree_level rack [ceph: root@host01 /]# ceph config set mon mon_osd_reporter_subtree_level osd

7.4. 피어링 실패 보고
Ceph OSD 데몬이 Ceph 구성 파일 또는 클러스터 맵에 정의된 Ceph OSD 데몬과 피어할 수 없는 경우 30초마다 클러스터 맵의 최신 사본에 대해 Ceph 모니터를 ping합니다. 런타임에 값을 설정하여 Ceph Monitor 하트비트 간격을 변경할 수 있습니다.
구문
ceph config set osd osd_mon_heartbeat_interval TIME_IN_SECONDS
예제
[ceph: root@host01 /]# ceph config set osd osd_mon_heartbeat_interval 60

7.5. OSD 보고 상태
Ceph OSD 데몬에서 Ceph Monitor에 보고하지 않는 경우 Ceph Monitor는 mon_osd_report_timeout
다음에 Ceph OSD 데몬을 아래로
표시합니다(예: 900초). Ceph OSD 데몬은 실패와 같은 보고 가능한 이벤트, 배치 그룹 통계 변경, up_thru
변경 또는 5초 이내에 부팅되는 경우 보고서를 Ceph Monitor로 보냅니다.
런타임에 osd_mon_report_interval
값을 설정하여 Ceph OSD 데몬 최소 보고서 간격을 변경할 수 있습니다.
구문
ceph config set osd osd_mon_report_interval TIME_IN_SECONDS
구성을 가져오고, 설정하고, 확인하려면 다음 예제를 사용할 수 있습니다.
예제
[ceph: root@host01 /]# ceph config get osd osd_mon_report_interval 5 [ceph: root@host01 /]# ceph config set osd osd_mon_report_interval 20 [ceph: root@host01 /]# ceph config dump | grep osd global advanced osd_pool_default_crush_rule -1 osd basic osd_memory_target 4294967296 osd advanced osd_mon_report_interval 20

추가 리소스
- 특정 옵션 설명 및 사용에 대해서는 Ceph Monitor 및 OSD 구성 옵션의 모든 Red Hat Ceph Storage Ceph Monitor 및 OSD 구성 옵션을 참조하십시오.
8장. Ceph 디버깅 및 로깅 구성
스토리지 관리자는 cephadm
의 디버깅 및 로깅 정보를 늘려 Red Hat Ceph Storage에서 문제를 진단할 수 있습니다.
사전 요구 사항
- Red Hat Ceph Storage 소프트웨어가 설치되어 있어야 합니다.
추가 리소스
- 특정 옵션 설명 및 사용법은 Ceph 디버깅 및 로그인 구성 옵션의 모든 Red Hat Ceph Storage Ceph 디버깅 및 로깅 구성 옵션을 참조하십시오.
-
cephadm
문제 해결에 대한 자세한 내용은 Red Hat Ceph Storage 관리 가이드의 Cephadm 문제 해결을 참조하십시오. -
cephadm
로깅에 대한 자세한 내용은 Red Hat Ceph Storage 관리 가이드의 Cephadm 작업을 참조하십시오.
부록 A. 일반 설정 옵션
Ceph의 일반적인 구성 옵션은 다음과 같습니다.
일반적으로 cephadm
과 같은 배포 툴을 통해 이러한 설정이 자동으로 설정됩니다.
fsid
- 설명
- 파일 시스템 ID입니다. 클러스터당 하나씩.
- 유형
- UUID
- 필수 항목
- 아니요.
- Default
- 해당 없음. 일반적으로 배포 툴을 통해 생성됩니다.
admin_socket
- 설명
- Ceph 모니터의 쿼럼 설정 여부에 관계없이 데몬에서 관리 명령을 실행하는 소켓입니다.
- 유형
- 문자열
- 필수 항목
- 없음
- Default
-
/var/run/ceph/$cluster-$name.asok
pid_file
- 설명
-
모니터 또는 OSD에서 PID를 쓰는 파일입니다. 예를 들어
/var/run/$cluster/$type.$id.pid
는 ceph 클러스터에서 실행 중인 id가 있는 mon에 대해 /var/run/ceph
/mon
.a
.pid를 생성합니다. 데몬이 정상적으로 중지되면pid 파일이
제거됩니다. 프로세스가 데몬화되지 않은 경우(-f
또는-d
옵션으로 실행됨)pid 파일이
생성되지 않습니다. - 유형
- 문자열
- 필수 항목
- 없음
- Default
- 없음
chdir
- 설명
-
디렉토리 Ceph 데몬이 실행 중이면 로 변경됩니다. 기본
/
디렉토리를 권장합니다. - 유형
- 문자열
- 필수 항목
- 없음
- Default
-
/
max_open_files
- 설명
-
설정된 경우 Red Hat Ceph Storage 클러스터가 시작될 때 Ceph는 OS 수준(즉, 파일 설명자의 최대 #)에
max_open_fds
를 설정합니다. Ceph OSD가 파일 설명자가 실행되지 않도록 합니다. - 유형
- 64비트 정수
- 필수 항목
- 없음
- Default
-
0
fatal_signal_handlers
- 설명
- 설정된 경우 SEGV, ABRT, BUS, ILL, FPE, XCPU, XFSZ, SYS 신호에 대한 신호 처리기를 설치하여 유용한 로그 메시지를 생성합니다.
- 유형
- 부울
- Default
-
true
부록 B. Ceph 네트워크 구성 옵션
이는 Ceph에 대한 일반적인 네트워크 구성 옵션입니다.
public_network
- 설명
-
공용 네트워크의 IP 주소 및 넷마스크(예: pre-side)입니다(예:
).
[global]
에서 설정합니다. 쉼표로 구분된 서브넷을 지정할 수 있습니다. - 유형
-
<ip-address>/<netmask> [, <ip-address>/<netmask>]
- 필수 항목
- 없음
- Default
- 해당 없음
public_addr
- 설명
- 공용(POW) 네트워크의 IP 주소입니다. 각 데몬에 대해 설정됩니다.
- 유형
- IP 주소
- 필수 항목
- 없음
- Default
- 해당 없음
cluster_network
- 설명
-
클러스터 네트워크의 IP 주소 및 넷마스크입니다(예:
10.0.0.0/24
).[global]
에서 설정합니다. 쉼표로 구분된 서브넷을 지정할 수 있습니다. - 유형
-
<ip-address>/<netmask> [, <ip-address>/<netmask>]
- 필수 항목
- 없음
- Default
- 해당 없음
cluster_addr
- 설명
- 클러스터 네트워크의 IP 주소입니다. 각 데몬에 대해 설정됩니다.
- 유형
- address
- 필수 항목
- 없음
- Default
- 해당 없음
ms_type
- 설명
-
네트워크 전송 계층의 지저 유형입니다. Red Hat은
posix
의미 체계를 사용하여간단한
비동기
및 비동기 유형의 기능을 지원합니다. - 유형
- 문자열.
- 필수 항목
- 아니요.
- Default
-
async+posix
ms_public_type
- 설명
-
공용 네트워크의 네트워크 전송 계층에 대한 지저 유형입니다.
ms_type
과 동일하게 작동하지만 공개 또는 프런트 측 네트워크에만 적용됩니다. 이 설정을 사용하면 Ceph에서 공용 또는 프론트 측 및 클러스터 또는 백엔드 네트워크에 다른 메시지 유형을 사용할 수 있습니다. - 유형
- 문자열.
- 필수 항목
- 아니요.
- Default
- 없음.
ms_cluster_type
- 설명
-
클러스터 네트워크의 네트워크 전송 계층에 대한 지저 유형입니다.
ms_type
과 동일하게 작동하지만 클러스터 또는 백엔드 네트워크에만 적용할 수 있습니다. 이 설정을 사용하면 Ceph에서 공용 또는 프론트 측 및 클러스터 또는 백엔드 네트워크에 다른 메시지 유형을 사용할 수 있습니다. - 유형
- 문자열.
- 필수 항목
- 아니요.
- Default
- 없음.
호스트 옵션
Ceph 구성 파일에 하나 이상의 Ceph Monitor를 선언해야 하며 선언된 각 모니터 아래에 mon addr
설정을 사용해야 합니다. Ceph 구성 파일의 각 선언된 모니터, 메타데이터 서버 및 OSD 아래에 있는 호스트
설정이 필요합니다.
localhost
를 사용하지 마십시오. FQDN(정규화된 도메인 이름)이 아닌 노드의 짧은 이름을 사용합니다. 노드 이름을 검색하는 타사 배포 시스템을 사용할 때 호스트에
값을 지정하지 마십시오.
mon_addr
- 설명
-
클라이언트가 Ceph 모니터에 연결하는 데 사용할 수 있는 <
hostname>:<port
> 항목 목록입니다. 설정하지 않으면 Ceph에서[mon.*]
섹션을 검색합니다. - 유형
- 문자열
- 필수 항목
- 없음
- Default
- 해당 없음
host
- 설명
-
호스트 이름입니다. 특정 데몬 인스턴스에 대해 이 설정을 사용합니다(예:
[osd.0]
). - 유형
- 문자열
- 필수 항목
- 예: 데몬 인스턴스의 경우입니다.
- Default
-
localhost
TCP 옵션
Ceph는 기본적으로 TCP 버퍼링을 비활성화합니다.
ms_tcp_nodelay
- 설명
-
Ceph는
ms_tcp_nodelay
를 활성화하여 각 요청이 버퍼링 없이 즉시 전송됩니다. Nagle 알고리즘을 비활성화하면 네트워크 트래픽이 증가하므로 정체가 발생할 수 있습니다. 많은 수의 작은 패킷이 발생하는 경우ms_tcp_nodelay
를 비활성화하려고 할 수 있지만 비활성화하면 일반적으로 대기 시간이 증가할 수 있습니다. - 유형
- 부울
- 필수 항목
- 없음
- Default
-
true
ms_tcp_rcvbuf
- 설명
- 네트워크 연결의 수신 끝에 있는 소켓 버퍼의 크기입니다. 기본적으로 비활성되어 있습니다.
- 유형
- 32비트 정수
- 필수 항목
- 없음
- Default
-
0
ms_tcp_read_timeout
- 설명
-
클라이언트 또는 데몬이 다른 Ceph 데몬에 요청하고 사용되지 않은 연결을 삭제하지 않는 경우
tcp 읽기 제한 시간은
지정된 시간(초) 후에 연결을 유휴 상태로 정의합니다. - 유형
- 부호 없는 64비트 정수
- 필수 항목
- 없음
- Default
-
900
15분
바인딩 옵션
bind 옵션은 Ceph OSD 데몬의 기본 포트 범위를 구성합니다. 기본 범위는 6800:7100
입니다. Ceph 데몬이 IPv6 주소에 바인딩하도록 활성화할 수도 있습니다.
방화벽 구성에서 구성된 포트 범위를 사용할 수 있는지 확인합니다.
ms_bind_port_min
- 설명
- OSD 데몬이 바인딩할 최소 포트 번호입니다.
- 유형
- 32비트 정수
- Default
-
6800
- 필수 항목
- 없음
ms_bind_port_max
- 설명
- OSD 데몬이 바인딩할 최대 포트 번호입니다.
- 유형
- 32비트 정수
- Default
-
7300
- 필수 항목
- 아니요.
ms_bind_ipv6
- 설명
- Ceph 데몬이 IPv6 주소에 바인딩할 수 있습니다.
- 유형
- 부울
- Default
-
false
- 필수 항목
- 없음
비동기 메시징 옵션
이러한 Ceph messagingenger 옵션은 AsyncMessenger
의 동작을 구성합니다.
ms_async_transport_type
- 설명
-
AsyncMessenger
에서 사용하는 전송 유형입니다. Red Hat은posix
설정을 지원하지만 현재dpdk
또는rdma
설정은 지원하지 않습니다. POSIX는 표준 TCP/IP 네트워킹을 사용하며 기본값입니다. 다른 전송 유형은 실험적이며 지원되지 않습니다. - 유형
- 문자열
- 필수 항목
- 없음
- Default
-
POSIX
ms_async_op_threads
- 설명
-
각
AsyncMessenger
인스턴스에서 사용하는 초기 작업자 스레드 수입니다. 이 구성 설정은 복제본 수 또는 dissure 코드 청크 수와 동일하지만 CPU 코어 수가 낮거나 단일 서버의 OSD 수가 높으면 낮게 설정할 수 있습니다. - 유형
- 64비트 부호 없는 정수
- 필수 항목
- 없음
- Default
-
3
ms_async_max_op_threads
- 설명
-
각
AsyncMessenger
인스턴스에서 사용하는 최대 작업자 스레드 수입니다. OSD 호스트의 CPU 수가 제한된 경우 값을 줄이고 Ceph가 CPU를 사용하지 않는 경우 증가합니다. - 유형
- 64비트 부호 없는 정수
- 필수 항목
- 없음
- Default
-
5
ms_async_set_affinity
- 설명
-
AsyncMessenger
작업자를 특정 CPU 코어에 바인딩하려면true
로 설정합니다. - 유형
- 부울
- 필수 항목
- 없음
- Default
-
true
ms_async_affinity_cores
- 설명
-
ms_async_set_affinity
가true
인 경우 이 문자열은AsyncMessenger
작업자가 CPU 코어에 바인딩되는 방법을 지정합니다. 예를 들어0,2
는 작업자 #1과 #2를 CPU 코어 #0 및 #2에 각각 바인딩합니다. 참고: 유사성을 수동으로 설정하는 경우 물리적 CPU 코어보다 느리기 때문에 하이퍼 스레딩 또는 유사한 기술이 적용된 가상 CPU에 작업자를 할당하지 않도록 해야 합니다. - 유형
- 문자열
- 필수 항목
- 없음
- Default
-
(비어 있음)
ms_async_send_inline
- 설명
-
AsyncMessenger
스레드에서 대기열을 작성하고 전송하는 대신 스레드에서 직접 메시지를 보냅니다. 이 옵션은 많은 CPU 코어의 성능을 낮추는 것으로 알려져 있으므로 기본적으로 비활성화되어 있습니다. - 유형
- 부울
- 필수 항목
- 없음
- Default
-
false
연결 모드 구성 옵션
대부분의 연결에 Red Hat Ceph Storage 6 이상부터는 암호화 및 압축에 사용되는 모드를 제어하는 옵션이 있습니다.
ms_cluster_mode
- 설명
- Ceph 데몬 간의 클러스터 내 통신에 사용되는 연결 모드입니다. 여러 모드가 나열되면 먼저 나열된 모드가 우선합니다.
- 유형
- 문자열
- Default
-
CRC 보안
ms_service_mode
- 설명
- 스토리지 클러스터에 연결할 때 클라이언트가 사용할 수 있는 허용된 모드 목록입니다.
- 유형
- 문자열
- Default
-
CRC 보안
ms_client_mode
- 설명
- 클라이언트가 Ceph 클러스터와 상호 작용할 때 사용할 연결 모드 목록입니다.
- 유형
- 문자열
- Default
-
CRC 보안
ms_mon_cluster_mode
- 설명
- Ceph 모니터 간에 사용할 연결 모드입니다.
- 유형
- 문자열
- Default
-
보안 crc
ms_mon_service_mode
- 설명
- 모니터에 연결할 때 클라이언트 또는 기타 Ceph 데몬이 사용할 수 있는 모드 목록입니다.
- 유형
- 문자열
- Default
-
보안 crc
ms_mon_client_mode
- 설명
- Ceph 모니터에 연결할 때 사용할 클라이언트 또는 비 모니터 데몬에 대한 연결 모드 목록입니다.
- 유형
- 문자열
- Default
-
보안 crc
압축 모드 구성 옵션
Red Hat Ceph Storage 6 이상부터, 지저 v2 프로토콜을 사용하면 압축 모드에 구성 옵션을 사용할 수 있습니다.
ms_compress_secure
- 설명
-
암호화를 압축과 결합하면 피어 간 메시지 보안 수준이 줄어듭니다. 암호화 및 압축이 모두 활성화되면 압축 설정이 무시되고 메시지가 압축되지 않습니다. 이 설정을 옵션으로 재정의합니다.
AsyncMessenger
스레드에서 대기열을 작성하고 전송하는 대신 스레드에서 직접 메시지를 보냅니다. 이 옵션은 많은 CPU 코어의 성능을 낮추는 것으로 알려져 있으므로 기본적으로 비활성화되어 있습니다. - 유형
- 부울
- Default
-
false
ms_osd_compress_mode
- 설명
- Ceph OSD와의 통신에 사용할 압축 정책입니다.
- 유형
- 문자열
- Default
-
none
- 유효한 선택
-
none
또는force
ms_osd_compress_min_size
- 설명
- 유선 압축에 적합한 최소 메시지 크기입니다.
- 유형
- 정수
- Default
-
1 Ki
ms_osd_compression_algorithm
- 설명
- OSD를 사용하여 기본 설정으로 연결하기 위한 압축 알고리즘
- 유형
- 문자열
- Default
-
snappy
- 유효한 선택
-
snappy
,zstd
,zlib
또는lz4
부록 C. Ceph 방화벽 포트
이는 Red Hat Ceph Storage의 다양한 구성 요소에서 사용하는 일반적인 방화벽 포트입니다.
포트 | 포트 유형 | components |
---|---|---|
6800-7300 | TCP | Ceph OSD. |
3300 | TCP | Ceph Monitor 데몬에 연결된 Ceph 클라이언트 및 Ceph 데몬. 이 포트는 6789 이상으로 선호됩니다. |
6789 | TCP | Ceph Monitor 데몬에 연결된 Ceph 클라이언트 및 Ceph 데몬. 포트 3300이 실패한 경우 이 포트가 고려됩니다. |
부록 D. Ceph Monitor 구성 옵션
다음은 배포 중에 설정할 수 있는 Ceph 모니터 구성 옵션입니다.
ceph config set mon CONFIGURATION_OPTION VALUE
명령을 사용하여 이러한 구성 옵션을 설정할 수 있습니다.
mon_initial_members
- 설명
- 시작 중에 클러스터의 초기 모니터 ID입니다. 지정된 경우 초기 쿼럼(예: 3)을 구성하려면 Ceph에 홀수의 모니터가 필요합니다.
- 유형
- 문자열
- Default
- 없음
mon_force_quorum_join
- 설명
- 맵에서 이전에 제거된 경우에도 쿼럼에 참여하도록 강제 모니터링
- 유형
- 부울
- Default
-
False
mon_dns_srv_name
- 설명
- DNS에서 모니터 호스트/호스트를 쿼리하는 데 사용되는 서비스 이름입니다.
- 유형
- 문자열
- Default
-
ceph-mon
fsid
- 설명
- 클러스터 ID입니다. 클러스터당 하나씩.
- 유형
- UUID
- 필수 항목
- 네, 필요합니다.
- Default
- 해당 없음. 지정하지 않는 경우 배포 툴을 통해 생성할 수 있습니다.
mon_data
- 설명
- 모니터의 데이터 위치입니다.
- 유형
- 문자열
- Default
-
/var/lib/ceph/mon/$cluster-$id
mon_data_size_warn
- 설명
-
모니터의 데이터 저장소가 이 임계값에 도달하면 Ceph에서
HEALTH_WARN
상태를 클러스터 로그에서 발행합니다. 기본값은 15GB입니다. - 유형
- 정수
- Default
-
15*1024*1024*1024*
mon_data_avail_warn
- 설명
-
Ceph는 모니터 데이터 저장소의 사용 가능한 디스크 공간이 이 백분율보다 작거나 같은 경우 클러스터 로그에
HEALTH_WARN
상태를 발행합니다. - 유형
- 정수
- Default
-
30
mon_data_avail_crit
- 설명
-
모니터 데이터 저장소의 사용 가능한 디스크 공간이 이 백분율보다 낮거나 같으면 Ceph에서
HEALTH_ERR
상태를 클러스터 로그에 발행합니다. - 유형
- 정수
- Default
-
5
mon_warn_on_cache_pools_without_hit_sets
- 설명
-
캐시 풀에
hit_set_type
매개변수가 설정되지 않은 경우 Ceph에서 클러스터 로그에HEALTH_WARN
상태를 발행합니다. - 유형
- 부울
- Default
- True
mon_warn_on_crush_straw_calc_version_zero
- 설명
-
FlexVolume의
straw_calc_version
이 0인 경우 클러스터 로그에서HEALTH_WARN
상태를 발행합니다. 자세한 내용은 DestinationRule 튜닝 가능 항목을 참조하십시오. - 유형
- 부울
- Default
- True
mon_warn_on_legacy_crush_tunables
- 설명
-
FlexVolume 튜닝 가능 항목이 너무 오래된 경우 Ceph에서
HEALTH_WARN
상태를 발행합니다(mon_min_crush_required_version
대신 older). - 유형
- 부울
- Default
- True
mon_crush_min_required_version
- 설명
- 이 설정은 클러스터에 필요한 최소 튜닝 가능 프로필 버전을 정의합니다.
- 유형
- 문자열
- Default
-
Hammer
mon_warn_on_osd_down_out_interval_zero
- 설명
-
mon_osd_down_out_interval
설정이noout
플래그를 설정할 때 유사한 방식으로 동작하므로 Ceph에서 클러스터 로그에HEALTH_WARN
상태를 발행합니다. 관리자는noout
플래그를 설정하여 클러스터 문제를 보다 쉽게 해결할 수 있습니다. Ceph에서 경고를 발행하여 관리자가 설정이 0임을 알 수 있습니다. - 유형
- 부울
- Default
- True
mon_cache_target_full_warn_ratio
- 설명
-
Ceph는
cache_target_full
과target_max_object
의 비율 사이에 경고를 발행합니다. - 유형
- 플로트
- Default
-
0.66
mon_health_data_update_interval
- 설명
- 쿼럼의 모니터가 피어와 상태를 공유하는 빈도(초)입니다. 음수는 상태 업데이트를 비활성화합니다.
- 유형
- 플로트
- Default
-
60
mon_health_to_clog
- 설명
- 이 설정을 사용하면 Ceph에서 주기적으로 클러스터 로그에 상태 요약을 보낼 수 있습니다.
- 유형
- 부울
- Default
- True
mon_health_detail_to_clog
- 설명
- 이 설정을 사용하면 Ceph에서 정기적으로 클러스터 로그에 상태 세부 정보를 전송할 수 있습니다.
- 유형
- 부울
- Default
- True
mon_op_complaint_time
- 설명
- 업데이트가 없는 후 Ceph Monitor 작업이 차단된 것으로 간주되는 시간(초)입니다.
- 유형
- 정수
- Default
- 30
mon_health_to_clog_tick_interval
- 설명
- 모니터에서 클러스터 로그에 상태 요약을 보내는 빈도(초)입니다. 양수가 아닌 숫자는 이를 비활성화합니다. 현재 상태 요약이 비어 있거나 마지막 시간과 동일한 경우 모니터는 상태를 클러스터 로그로 보내지 않습니다.
- 유형
- 정수
- Default
- 60.000000
mon_health_to_clog_interval
- 설명
- 모니터에서 클러스터 로그에 상태 요약을 보내는 빈도(초)입니다. 양수가 아닌 숫자는 이를 비활성화합니다. 모니터는 항상 클러스터 로그에 요약을 보냅니다.
- 유형
- 정수
- Default
- 600
mon_osd_full_ratio
- 설명
-
OSD 전에 사용된 디스크 공간의 백분율은
가득한
것으로 간주됩니다. - 유형
- 플로트:
- Default
-
.95
mon_osd_nearfull_ratio
- 설명
-
OSD 앞에 사용된 디스크 공간의 백분율은
거의 전체로
간주됩니다. - 유형
- 플로트
- Default
-
.85
mon_sync_trim_timeout
- 설명, 유형
- double
- Default
-
30.0
mon_sync_heartbeat_timeout
- 설명, 유형
- double
- Default
-
30.0
mon_sync_heartbeat_interval
- 설명, 유형
- double
- Default
-
5.0
mon_sync_backoff_timeout
- 설명, 유형
- double
- Default
-
30.0
mon_sync_timeout
- 설명
- 모니터가 동기화 공급자에서 다음 업데이트 메시지를 기다린 후 다시 포기하고 부트 스트랩할 때까지 대기하는 시간(초)입니다.
- 유형
- double
- Default
-
60.000000
mon_sync_max_retries
- 설명, 유형
- 정수
- Default
-
5
mon_sync_max_payload_size
- 설명
- 동기화 페이로드의 최대 크기(바이트 단위)입니다.
- 유형
- 32비트 정수
- Default
-
1045676
paxos_max_join_drift
- 설명
- 모니터 데이터 저장소를 먼저 동기화하기 전에 최대 Paxos 반복입니다. 모니터가 피어보다 너무 멀리 떨어져 있음을 발견하면 먼저 데이터 저장소와 동기화됩니다.
- 유형
- 정수
- Default
-
10
paxos_stash_full_interval
- 설명
-
PaxosService 상태의 전체 사본을 유지하는 빈도(커밋)입니다. 현재 이 설정은
mds
,mon
,auth
및mgr
PaxosServices에만 영향을 미칩니다. - 유형
- 정수
- Default
- 25
paxos_propose_interval
- 설명
- 맵 업데이트를 제안하기 전에 이 시간 간격에 대한 업데이트를 수집합니다.
- 유형
- double
- Default
-
1.0
paxos_min
- 설명
- 유지할 최소 paxos 상태 수
- 유형
- 정수
- Default
- 500
paxos_min_wait
- 설명
- 비활성 기간이 지난 후 업데이트를 수집할 최소 시간입니다.
- 유형
- double
- Default
-
0.05
paxos_trim_min
- 설명
- 트리밍 전에 허용되는 추가 제안 수
- 유형
- 정수
- Default
- 250
paxos_trim_max
- 설명
- 한 번에 정리할 추가 제안의 최대 수
- 유형
- 정수
- Default
- 500
paxos_service_trim_min
- 설명
- trim를 트리거할 최소 버전 양(0은 사용 안 함)
- 유형
- 정수
- Default
- 250
paxos_service_trim_max
- 설명
- 단일 제안 중 트리밍할 최대 버전 양(0이 비활성화됨)
- 유형
- 정수
- Default
- 500
mon_max_log_epochs
- 설명
- 단일 제안 중 트리밍할 최대 로그 양입니다.
- 유형
- 정수
- Default
- 500
mon_max_pgmap_epochs
- 설명
- 단일 제안 중 트리밍할 최대 pgmap epochs
- 유형
- 정수
- Default
- 500
mon_mds_force_trim_to
- 설명
- 이 시점까지 mdsmaps를 트리밍하도록 모니터를 강제 적용하십시오 (0은 이를 비활성화합니다. 위험합니다. 주의해서 사용)
- 유형
- 정수
- Default
- 0
mon_osd_force_trim_to
- 설명
- 지정된 epoch에서 정리되지 않은 PG가 있어도 모니터가 이 시점까지 osdmaps를 트래핑하도록 강제 모니터링합니다(0은 위험합니다. 위험합니다. 주의해서 사용하십시오)
- 유형
- 정수
- Default
- 0
mon_osd_cache_size
- 설명
- 기본 저장소의 캐시에 의존하지 않는 osdmaps 캐시의 크기
- 유형
- 정수
- Default
- 500
mon_election_timeout
- 설명
- 선택에서, 모든 ACK에 대한 최대 대기 시간(초)입니다.
- 유형
- 플로트
- Default
-
5
mon_lease
- 설명
- 모니터 버전의 임대 길이(초)입니다.
- 유형
- 플로트
- Default
-
5
mon_lease_renew_interval_factor
- 설명
-
Mon lease
*mon 리스 갱신 간격은
리더가 다른 모니터의 리스를 갱신할 수 있는 간격이 됩니다. 인수는1.0
보다 작아야 합니다. - 유형
- 플로트
- Default
-
0.6
mon_lease_ack_timeout_factor
- 설명
-
리더는 공급자가 임대 확장을 승인할 수 있도록
mon lease
* mon lease ack 시간 초과 요인 - 유형
- 플로트
- Default
-
2.0
mon_accept_timeout_factor
- 설명
-
리더는 요청자가 Paxos 업데이트를 수락할 때까지
mon lease
*mon accept timeout factor
를 기다립니다. 유사한 목적으로 Paxos 복구 단계에서도 사용됩니다. - 유형
- 플로트
- Default
-
2.0
mon_min_osdmap_epochs
- 설명
- 항상 유지해야 하는 최소 OSD 맵 수입니다.
- 유형
- 32비트 정수
- Default
-
500
mon_max_pgmap_epochs
- 설명
- 모니터가 보관해야 하는 PG 맵의 최대 수입니다.
- 유형
- 32비트 정수
- Default
-
500
mon_max_log_epochs
- 설명
- 모니터가 유지해야 하는 최대 로그 epoch 수입니다.
- 유형
- 32비트 정수
- Default
-
500
clock_offset
- 설명
-
시스템 클럭을 오프셋하는 방법은 몇 개입니까. 자세한 내용은
Clock.cc
를 참조하십시오. - 유형
- double
- Default
-
0
mon_tick_interval
- 설명
- 모니터의 눈금 간격(초)입니다.
- 유형
- 32비트 정수
- Default
-
5
mon_clock_drift_allowed
- 설명
- 시계가 모니터 간에 허용되는 시간(초)입니다.
- 유형
- 플로트
- Default
-
.050
mon_clock_drift_warn_backoff
- 설명
- 클럭 드리프트 경고에 대한 지수 백오프입니다.
- 유형
- 플로트
- Default
-
5
mon_timecheck_interval
- 설명
- 리더의 시간 점검 간격(시계 드리프트 검사)(초)입니다.
- 유형
- 플로트
- Default
-
300.0
mon_timecheck_skew_interval
- 설명
- 리더의 경우 시간 점검 간격(시각 드리프트 확인)(초)입니다.
- 유형
- 플로트
- Default
-
30.0
mon_max_osd
- 설명
- 클러스터에 허용되는 최대 OSD 수입니다.
- 유형
- 32비트 정수
- Default
-
10000
mon_globalid_prealloc
- 설명
- 클러스터의 클라이언트 및 데몬에 대해 사전 할당할 글로벌 ID 수입니다.
- 유형
- 32비트 정수
- Default
-
10000
mon_sync_fs_threshold
- 설명
-
지정된 수의 오브젝트를 작성할 때 파일 시스템과 동기화합니다. 비활성화하려면
0
으로 설정합니다. - 유형
- 32비트 정수
- Default
-
5
mon_subscribe_interval
- 설명
- 서브스크립션의 새로 고침 간격(초)입니다. 서브스크립션 메커니즘을 사용하면 클러스터 맵 및 로그 정보를 가져올 수 있습니다.
- 유형
- double
- Default
-
86400.000000
mon_stat_smooth_intervals
- 설명
-
Ceph는 마지막
N
PG 맵에 대한 통계를 원활하게 수행할 수 있습니다. - 유형
- 정수
- Default
-
6
mon_probe_timeout
- 설명
- 부트스트랩하기 전에 모니터가 피어를 찾을 때까지 대기하는 시간(초)입니다.
- 유형
- double
- Default
-
2.0
mon_daemon_bytes
- 설명
- 메타데이터 서버 및 OSD 메시지의 메시지 메모리 제한(바이트 단위)입니다.
- 유형
- 64비트 Integer 서명되지 않음
- Default
-
400UL helps 20
mon_max_log_entries_per_event
- 설명
- 이벤트당 최대 로그 항목 수입니다.
- 유형
- 정수
- Default
-
4096
mon_osd_prime_pg_temp
- 설명
-
아웃 OSD가 클러스터로 돌아가면 이전 OSD를 사용하여 PGMap을 활성화하거나 비활성화합니다.
실제
설정에서 클라이언트는 해당 PG가 피어링될 때 OSD에서 새로 추가될 때까지 이전 OSD를 계속 사용합니다. - 유형
- 부울
- Default
-
true
mon_osd_prime_pg_temp_max_time
- 설명
- 아웃 OSD가 클러스터로 돌아가면 모니터에서 PGMap을 사용하려고 시도하는 데 걸리는 시간(초)입니다.
- 유형
- 플로트
- Default
-
0.5
mon_osd_prime_pg_temp_max_time_estimate
- 설명
- 모든 PG가 병렬로 준비되기 전에 각 PG에서 보낸 최대 시간 추정입니다.
- 유형
- 플로트
- Default
-
0.25
mon_osd_allow_primary_affinity
- 설명
-
osdmap에서
primary_affinity
을 설정할 수 있습니다. - 유형
- 부울
- Default
- False
mon_osd_pool_ec_fast_read
- 설명
-
풀 읽기를 끊든 빠르게 읽을 수 있는지 여부입니다. create time에
fast_read
가 지정되지 않은 경우 새로 생성된 내역 풀의 기본 설정으로 사용됩니다. - 유형
- 부울
- Default
- False
mon_mds_skip_sanity
- 설명
- FSMap에서 안전 어설션을 건너 뛰고자 하는 버그가 있는 경우 계속 진행합니다. FSMap의 온전성 검사에 실패할 경우 모니터가 종료되지만 이 옵션을 활성화하여 비활성화할 수 있습니다.
- 유형
- 부울
- Default
- False
mon_max_mdsmap_epochs
- 설명
- 단일 제안 중 트리밍할 최대 mdsmap epochs입니다.
- 유형
- 정수
- Default
- 500
mon_config_key_max_entry_size
- 설명
- config-key 항목의 최대 크기(바이트 단위)입니다.
- 유형
- 정수
- Default
- 65536
mon_warn_pg_not_scrubbed_ratio
- 설명
- 경고할 scrub max 간격 이후의 scrub max 간격의 백분율입니다.
- 유형
- 플로트
- Default
- 0.5
mon_warn_pg_not_deep_scrubbed_ratio
- 설명
- 경고할 깊은 스크러브 간격의 백분율입니다.
- 유형
- 플로트
- Default
- 0.75
mon_scrub_interval
- 설명
- 저장된 체크섬과 저장된 모든 키의 계산된 체크섬을 비교하여 모니터가 저장소를 스크럽하는 빈도(초)입니다.
- 유형
- 정수
- Default
- 3600*24
mon_scrub_timeout
- 설명
- mon 쿼럼 참가자의 scrub를 다시 시작하는 시간 초과는 최신 청크에 응답하지 않습니다.
- 유형
- 정수
- Default
- 5분
mon_scrub_max_keys
- 설명
- 매번 스크럽할 최대 키 수입니다.
- 유형
- 정수
- Default
- 100
mon_scrub_inject_crc_mismatch
- 설명
- CRC를 삽입할 확률은 Ceph Monitor scrub에 해당합니다.
- 유형
- 정수
- Default
- 0.000000
mon_scrub_inject_missing_keys
- 설명
- mon scrub에 누락된 키를 삽입할 확률입니다.
- 유형
- 플로트
- Default
- 0
mon_compact_on_start
- 설명
-
ceph-mon
시작에서 Ceph Monitor 저장소로 사용되는 데이터베이스를 압축합니다. 수동 압축을 사용하면 모니터 데이터베이스를 축소하고 일반 압축이 작동하지 않는 경우 성능을 향상시킬 수 있습니다. - 유형
- 부울
- Default
- False
mon_compact_on_bootstrap
- 설명
- 부트스트랩에서 Ceph Monitor 저장소로 사용되는 데이터베이스를 압축합니다. 모니터는 부트스트랩 후 쿼럼을 생성하기 위해 서로 검사하기 시작합니다. 쿼럼에 결합하기 전에 시간이 초과되면 다시 시작되고 부트 스트랩됩니다.
- 유형
- 부울
- Default
- False
mon_compact_on_trim
- 설명
- 이전 상태를 트리밍할 때 특정 접두사(paxos 포함)를 컴팩트합니다.
- 유형
- 부울
- Default
- True
mon_cpu_threads
- 설명
- 모니터에서 CPU 집약적인 작업을 수행하는 스레드 수입니다.
- 유형
- 부울
- Default
- True
mon_osd_mapping_pgs_per_chunk
- 설명
- 배치 그룹에서 청크의 OSD로의 매핑을 계산합니다. 이 옵션은 청크당 배치 그룹 수를 지정합니다.
- 유형
- 정수
- Default
- 4096
mon_osd_max_split_count
- 설명
-
생성을 분할할 수 있도록 "volved" OSD당 최대 PG 수입니다. 풀의
pg_num
을 늘리면 해당 풀에 제공되는 모든 OSD에서 배치 그룹이 분할됩니다. PG 분할에 대한 과도한 곱셈을 피하려고 합니다. - 유형
- 정수
- Default
- 300
rados_mon_op_timeout
- 설명
- rados 작업에서 오류를 반환하기 전에 모니터에서 응답을 대기하는 시간(초)입니다. 0은 제한 시 또는 대기 시간이 없음을 의미합니다.
- 유형
- double
- Default
- 0
추가 리소스
부록 E. cephx 구성 옵션
다음은 배포 중에 설정할 수 있는 Cephx 구성 옵션입니다.
- auth_cluster_required
- 설명
-
활성화된 경우 Red Hat Ceph Storage 클러스터 데몬,
ceph-mon
및ceph-osd
가 서로 인증되어야 합니다. 유효한 설정은cephx
또는none
입니다. - 유형
- 문자열
- 필수 항목
- 없음
- Default
-
cephx
.
- auth_service_required
- 설명
-
활성화된 경우 Red Hat Ceph Storage 클러스터 데몬을 사용하려면 Ceph 클라이언트가 Ceph 서비스에 액세스하기 위해 Red Hat Ceph Storage 클러스터로 인증해야 합니다. 유효한 설정은
cephx
또는none
입니다. - 유형
- 문자열
- 필수 항목
- 없음
- Default
-
cephx
.
- auth_client_required
- 설명
-
활성화된 경우 Ceph 클라이언트에는 Ceph 클라이언트로 인증하기 위해 Red Hat Ceph Storage 클러스터가 필요합니다. 유효한 설정은
cephx
또는none
입니다. - 유형
- 문자열
- 필수 항목
- 없음
- Default
-
cephx
.
- 인증 키링
- 설명
- 인증 키 파일의 경로입니다.
- 유형
- 문자열
- 필수 항목
- 없음
- Default
-
/etc/ceph/$cluster.$name.keyring,/etc/ceph/$cluster.keyring,/etc/ceph/keyring,/etc/ceph/keyring.bin
- keyFile
- 설명
- 키 파일의 경로입니다(즉, 키만 포함하는 파일).
- 유형
- 문자열
- 필수 항목
- 없음
- Default
- 없음
- key
- 설명
- 키(즉, 키 자체의 텍스트 문자열)입니다. 권장되지 않음.
- 유형
- 문자열
- 필수 항목
- 없음
- Default
- 없음
- ceph-mon
- 위치
-
$mon_data/keyring
- capabilities
-
Mon 'allow *'
- ceph-osd
- 위치
-
$osd_data/keyring
- capabilities
-
Mon 'allow profile osd' osd 'allow *'
- radosgw
- 위치
-
$rgw_data/keyring
- capabilities
-
Mon 'allow rwx' osd 'allow rwx'
- cephx_require_signatures
- 설명
-
true
로 설정하면 Ceph 클라이언트와 Red Hat Ceph Storage 클러스터 간의 모든 메시지 트래픽과 Red Hat Ceph Storage 클러스터로 구성된 데몬 간 서명이 필요합니다. - 유형
- 부울
- 필수 항목
- 없음
- Default
-
false
- cephx_cluster_require_signatures
- 설명
-
true
로 설정하면 Ceph에서 Red Hat Ceph Storage 클러스터를 구성하는 Ceph 데몬 간의 모든 메시지 트래픽에 서명이 필요합니다. - 유형
- 부울
- 필수 항목
- 없음
- Default
-
false
- cephx_service_require_signatures
- 설명
-
true
로 설정하면 Ceph 클라이언트와 Red Hat Ceph Storage 클러스터 간의 모든 메시지 트래픽에 서명이 필요합니다. - 유형
- 부울
- 필수 항목
- 없음
- Default
-
false
- cephx_sign_messages
- 설명
- Ceph 버전에서 메시지 서명을 지원하는 경우 Ceph는 모든 메시지에 서명하므로 스푸핑할 수 없습니다.
- 유형
- 부울
- Default
-
true
- auth_service_ticket_ttl
- 설명
- Red Hat Ceph Storage 클러스터에서 Ceph 클라이언트에 인증 티켓을 보내는 경우 클러스터는 티켓에 사용 시간을 할당합니다.
- 유형
- double
- Default
-
60*60
부록 F. 풀, 배치 그룹 및 DestinationRule 구성 옵션
풀, 배치 그룹 및ECDHE 알고리즘을 관리하는 Ceph 옵션입니다.
- mon_allow_pool_delete
- 설명
- 모니터에서 풀을 삭제할 수 있습니다. RHCS 3 이상 릴리스에서 모니터는 데이터를 보호하기 위한 추가 조치로 기본적으로 풀을 삭제할 수 없습니다.
- 유형
- 부울
- Default
-
false
- mon_max_pool_pg_num
- 설명
- 풀당 최대 배치 그룹 수입니다.
- 유형
- 정수
- Default
-
65536
- mon_pg_create_interval
- 설명
- 동일한 Ceph OSD 데몬의 PG 생성 간격(초)입니다.
- 유형
- 플로트
- Default
-
30.0
- mon_pg_stuck_threshold
- 설명
- PG가 정지된 것으로 간주될 수 있는 시간(초)입니다.
- 유형
- 32비트 정수
- Default
-
300
- mon_pg_min_inactive
- 설명
-
mon_pg_stuck_threshold
보다 비활성 상태로 유지되는 PG 수가 이 설정을 초과하는 PG가 클러스터 로그에HEALTH_ERR
상태를 발행합니다. 기본 설정은 하나의 PG입니다. 양수가 아닌 수는 이 설정을 비활성화합니다. - 유형
- 정수
- Default
-
1
- mon_pg_warn_min_per_osd
- 설명
-
클러스터의 OSD당 평균 PG 수가 이 설정보다 작으면 Ceph에서
HEALTH_WARN
상태를 클러스터 로그에 발행합니다. 양수가 아닌 수는 이 설정을 비활성화합니다. - 유형
- 정수
- Default
-
30
- mon_pg_warn_max_per_osd
- 설명
-
클러스터의 OSD당 평균 PG 수가 이 설정보다 큰 경우 Ceph에서 클러스터 로그에서
HEALTH_WARN
상태를 발행합니다. 양수가 아닌 수는 이 설정을 비활성화합니다. - 유형
- 정수
- Default
-
300
- mon_pg_warn_min_objects
- 설명
- 클러스터의 총 오브젝트 수가 이 수 미만인 경우 경고하지 마십시오.
- 유형
- 정수
- Default
-
1000
- mon_pg_warn_min_pool_objects
- 설명
- 오브젝트 번호가 이 번호 미만인 풀에 대해 경고하지 마십시오.
- 유형
- 정수
- Default
-
1000
- mon_pg_check_down_all_threshold
- 설명
-
Ceph가 모든 PG를 확인하여 정지 또는 오래된 상태가 되지 않도록 OSD
다운
의 임계값입니다. - 유형
- 플로트
- Default
-
0.5
- mon_pg_warn_max_object_skew
- 설명
-
풀의 평균 오브젝트 수가
mon pg
보다 크면 클러스터 로그에서HEALTH_WARN
상태가 발행됩니다. 양수가 아닌 수는 이 설정을 비활성화합니다. - 유형
- 플로트
- Default
-
10
- mon_delta_reset_interval
- 설명
- Ceph가 PGECDHE를 0으로 재설정하기 전 비활성 시간(초)입니다. Ceph는 복구 및 성능의 진행 상황을 평가할 수 있도록 각 풀에 사용된 공간을 추적합니다.
- 유형
- 정수
- Default
-
10
- mon_osd_max_op_age
- 설명
-
HEALTH_WARN
상태를 발행하기 전에 작업이 완료될 때까지 최대 사용 기간(초)입니다. - 유형
- 플로트
- Default
-
32.0
- osd_pg_bits
- 설명
- Ceph OSD 데몬당 배치 그룹 비트.
- 유형
- 32비트 정수
- Default
-
6
- osd_pgp_bits
- 설명
- 배치용 PGP(배치 그룹용)용 Ceph OSD 데몬당 비트 수입니다.
- 유형
- 32비트 정수
- Default
-
6
- osd_crush_chooseleaf_type
- 설명
-
DestinationRule 규칙의
chooseleaf
에 사용할 버킷 유형입니다. name 대신 ordinal rank를 사용합니다. - 유형
- 32비트 정수
- Default
-
1
. 일반적으로 하나 이상의 Ceph OSD 데몬을 포함하는 호스트입니다.
- osd_pool_default_crush_replicated_ruleset
- 설명
- 복제된 풀을 생성할 때 사용할 기본 DestinationRule 규칙 세트입니다.
- 유형
- 8비트 정수
- Default
-
0
- osd_pool_erasure_code_stripe_unit
- 설명
-
세로저 코딩된 풀에 대한 오브젝트 스트라이프 청크의 기본 크기(바이트)를 설정합니다. 크기 S의 모든 오브젝트는 N 스트라이프로 저장되며 각 데이터 청크는
스트라이프 단위
바이트를 수신합니다.N * 스트라이프 단위 바이트의 각 스트라이프
는 개별적으로 인코딩 / 코딩됩니다. 이 옵션은 deletesure 코드 프로파일의strip_unit
설정으로 재정의할 수 있습니다. - 유형
- 부호 없는 32비트 정수
- Default
-
4096
- osd_pool_default_size
- 설명
-
풀에 있는 오브젝트의 복제본 수를 설정합니다. 기본값은
ceph osd 풀이 {pool-name} 크기 {size}
와 동일합니다. - 유형
- 32비트 정수
- Default
-
3
- osd_pool_default_min_size
- 설명
-
클라이언트에 쓰기 작업을 승인하기 위해 풀의 오브젝트에 대해 최소 쓰기 복제본 수를 설정합니다. 최소 값이 충족되지 않으면 Ceph에서 클라이언트에 대한 쓰기를 확인하지 않습니다. 이 설정을 사용하면
degraded
모드에서 작동할 때 최소 복제본 수를 확인할 수 있습니다. - 유형
- 32비트 정수
- Default
-
0
, 즉 최소가 없음을 의미합니다.0
인 경우 최소값은크기 - (크기 / 2)
입니다.
- osd_pool_default_pg_num
- 설명
-
풀의 기본 배치 그룹 수입니다. 기본값은
mkpool
이 있는pg_num
과 동일합니다. - 유형
- 32비트 정수
- Default
-
32
- osd_pool_default_pgp_num
- 설명
-
풀 배치를 위한 기본 배치 그룹 수입니다. 기본값은
mkpool
이 있는pgp_num
과 동일합니다. PG와 PGP는 동일해야 합니다. - 유형
- 32비트 정수
- Default
-
0
- osd_pool_default_flags
- 설명
- 새 풀의 기본 플래그입니다.
- 유형
- 32비트 정수
- Default
-
0
- osd_max_pgls
- 설명
- 나열할 최대 배치 그룹 수입니다. 많은 수를 요청하는 클라이언트는 Ceph OSD 데몬을 연결할 수 있습니다.
- 유형
- 부호 없는 64비트 정수
- Default
-
1024
- 참고
- 기본값은 정상이어야 합니다.
- osd_min_pg_log_entries
- 설명
- 로그 파일 트리밍 시 유지 관리할 최소 배치 그룹 로그 수입니다.
- 유형
- 32비트 Int 서명
- Default
-
250
- osd_default_data_pool_replay_window
- 설명
- 클라이언트가 요청을 다시 시작할 때까지 OSD가 대기하는 시간(초)입니다.
- 유형
- 32비트 정수
- Default
-
45
부록 G. OSD(Object Storage Daemon) 구성 옵션
다음은 배포 중에 설정할 수 있는 Ceph OSD(Object Storage Daemon) 구성 옵션입니다.
ceph config set osd CONFIGURATION_OPTION VALUE
명령을 사용하여 이러한 구성 옵션을 설정할 수 있습니다.
- osd_uuid
- 설명
- Ceph OSD의 UUID(Universally unique identifier)입니다.
- 유형
- UUID
- Default
- UUID입니다.
- 참고
-
osd uuid
는 단일 Ceph OSD에 적용됩니다.fsid
는 전체 클러스터에 적용됩니다.
- osd_data
- 설명
OSD 데이터의 경로입니다. Ceph를 배포할 때 디렉터리를 생성해야 합니다. 이 마운트 옵션에 OSD 데이터용 드라이브를 마운트합니다.
IMPORTANT: Red Hat does not recommend changing the default.
- 유형
- 문자열
- Default
-
/var/lib/ceph/osd/$cluster-$id
- osd_max_write_size
- 설명
- 쓰기의 최대 크기(MB)입니다.
- 유형
- 32비트 정수
- Default
-
90
- osd_client_message_size_cap
- 설명
- 메모리에 허용되는 가장 큰 클라이언트 데이터 메시지입니다.
- 유형
- 64비트 Integer 서명되지 않음
- Default
-
500MB 기본값.
500*1024L*1024L
- osd_class_dir
- 설명
- RADOS 클래스 플러그인의 클래스 경로입니다.
- 유형
- 문자열
- Default
-
$libdir/rados-classes
- osd_max_scrubs
- 설명
- Ceph OSD의 최대 동시 스크럽 작업 수입니다.
- 유형
- 32비트 Int
- Default
-
1
- osd_scrub_thread_timeout
- 설명
- 스크럽 스레드를 시간 초과하기 전 최대 시간(초)입니다.
- 유형
- 32비트 정수
- Default
-
60
- osd_scrub_finalize_thread_timeout
- 설명
- 스크럽 종료 스레드를 시간 초과하기 전 최대 시간(초)입니다.
- 유형
- 32비트 정수
- Default
-
60*10
- osd_scrub_begin_hour
- 설명
-
이렇게 하면 스크럽이 하루 또는 그 이후 시간으로 제한됩니다.
osd_scrub_begin_hour = 0
및osd_scrub_end_hour = 0
을 사용하여 하루 전체의 스크럽을 허용합니다.osd_scrub_end_hour
과 함께 스크러블이 발생할 수 있는 시간 창을 정의합니다. 그러나 배치 그룹의 scrub 간격이osd_scrub_max_interval
을 초과하는 한 시간 창 허용 여부에 관계없이 scrub가 수행됩니다. - 유형
- 정수
- Default
-
0
- 허용 범위
-
[0,23]
- osd_scrub_end_hour
- 설명
-
이렇게 하면 스크러블링이 이 시간 이전 시간으로 제한됩니다.
osd_scrub_begin_hour = 0
및osd_scrub_end_hour = 0
을 사용하여 하루 동안 스크럽을 허용합니다.osd_scrub_begin_hour
과 함께 스크럽이 발생할 수 있는 시간 창을 정의합니다. 그러나 배치 그룹의 scrub 간격이osd_scrub_max_interval
을 초과하는 한 시간 창 허용 여부에 관계없이 scrub가 수행됩니다. - 유형
- 정수
- Default
-
0
- 허용 범위
-
[0,23]
- osd_scrub_load_threshold
- 설명
-
최대 로드입니다. 시스템 로드(
getloadavg()
함수로 정의됨)이 이 수보다 높은 경우 Ceph는 스크럽되지 않습니다. 기본값은0.5
입니다. - 유형
- 플로트
- Default
-
0.5
- osd_scrub_min_interval
- 설명
- Red Hat Ceph Storage 클러스터 로드가 낮은 경우 Ceph OSD를 스크럽하는 최소 간격(초)입니다.
- 유형
- 플로트
- Default
-
하루에 한 번
60*60*24
- osd_scrub_max_interval
- 설명
- 클러스터 로드에 관계없이 Ceph OSD를 스크럽하는 최대 간격(초)입니다.
- 유형
- 플로트
- Default
-
일주일에 한 번
7*60*60*24
- osd_scrub_interval_randomize_ratio
- 설명
-
비율을 사용하고
osd scrub min interval
과osd scrub max 간격 간에 예약된 scrub를 무작위로 설정합니다
. - 유형
- 플로트
- Default
-
0.5
.
- mon_warn_not_scrubbed
- 설명
-
osd_scrub_interval
후 스크럽되지 않은 모든 PG에 대해 경고하는 시간(초)입니다. - 유형
- 정수
- Default
-
0
(경고 없음).
- osd_scrub_chunk_min
- 설명
-
오브젝트 저장소는 해시 경계에서 끝나는 청크로 분할됩니다. 청크 스크럽의 경우 Ceph scrubs는 해당 청크에 대해 쓰기가 차단되어 한 번에 하나의 청크를 생성합니다.
osd scrub chunk min
설정은 스크루브할 최소 청크 수를 나타냅니다. - 유형
- 32비트 정수
- Default
-
5
- osd_scrub_chunk_max
- 설명
- 스크럽할 최대 청크 수입니다.
- 유형
- 32비트 정수
- Default
-
25
- osd_scrub_sleep
- 설명
- 깊은 스크럽 작업 사이를 자는 시간입니다.
- 유형
- 플로트
- Default
-
0
(또는 해제).
- osd_scrub_during_recovery
- 설명
- 복구 중 스크럽을 허용합니다.
- 유형
- bool
- Default
-
false
- osd_scrub_invalid_stats
- 설명
- extra scrub가 유효하지 않은 것으로 표시된 통계를 수정하도록 강제 적용합니다.
- 유형
- bool
- Default
-
true
- osd_scrub_priority
- 설명
- 클라이언트 I/O와 스크러블 작업의 대기열 우선 순위를 제어합니다.
- 유형
- 부호 없는 32비트 정수
- Default
-
5
- osd_requested_scrub_priority
- 설명
-
작업 대기열에서 사용자가 요청한 scrub의 우선순위 세트입니다. 이 값이
osd_client_op_priority
보다 작으면 scrub가 클라이언트 작업을 차단하는 경우osd_client_op_priority
값을 높일 수 있습니다. - 유형
- 부호 없는 32비트 정수
- Default
-
120
- osd_scrub_cost
- 설명
- 큐 스케줄링 목적으로 검사 작업 비용(MB)입니다.
- 유형
- 부호 없는 32비트 정수
- Default
-
52428800
- osd_deep_scrub_interval
- 설명
-
모든 데이터를 완전히 읽는 딥 스크럽 간격입니다.
osd scrub load threshold
매개변수는 이 설정에 영향을 미치지 않습니다. - 유형
- 플로트
- Default
-
일주일에 한 번
60*60*24*7
- osd_deep_scrub_stride
- 설명
- 깊은 검사를 할 때 크기를 읽으십시오.
- 유형
- 32비트 정수
- Default
-
512KB.
524288
- mon_warn_not_deep_scrubbed
- 설명
-
검사되지 않은 모든 PG에 대해 경고하기 위해
osd_deep_scrub_interval
후의 시간(초)입니다. - 유형
- 정수
- Default
-
0
(경고 없음)
- osd_deep_scrub_randomize_ratio
- 설명
-
스크럽이 무작위로 딥 스크러브가 되는 비율(
osd_deep_scrub_interval
이 통과되기 전 까지)입니다. - 유형
- 플로트
- Default
-
0.15
또는 15 %
- osd_deep_scrub_update_digest_min_age
- 설명
- 전체 오브젝트 다이제스트를 scrub 업데이트하기 전에 이전 오브젝트 오브젝트 수입니다.
- 유형
- 정수
- Default
-
7200
(120시간)
- osd_deep_scrub_large_omap_object_key_threshold
- 설명
- 이 보다 더 많은 OMAP 키가 있는 오브젝트에 경고.
- 유형
- 정수
- Default
-
200000
- osd_deep_scrub_large_omap_object_value_sum_threshold
- 설명
- 이 보다 더 많은 OMAP 키 바이트가 있는 오브젝트에 경고합니다.
- 유형
- 정수
- Default
-
1 G
- osd_delete_sleep
- 설명
- 다음 트랜잭션을 제거하기 전에 유휴 상태인 시간(초)입니다. 이렇게 하면 배치 그룹 삭제 프로세스가 제한됩니다.
- 유형
- 플로트
- Default
-
0.0
- osd_delete_sleep_hdd
- 설명
- DestinationRules에 대한 다음 제거 트랜잭션 전에 유휴 상태가 되는 시간(초)입니다.
- 유형
- 플로트
- Default
-
5.0
- osd_delete_sleep_ssd
- 설명
- SSD에 대한 다음 제거 트랜잭션 전에 유휴 상태가 되는 시간(초)입니다.
- 유형
- 플로트
- Default
-
1.0
- osd_delete_sleep_hybrid
- 설명
- Ceph OSD 데이터가 FlexVolume 및 OSD 저널 또는 WAL에 있고 DB가 SSD에 있을 때 다음 제거 트랜잭션 전에 유휴 상태가 되는 시간(초)입니다.
- 유형
- 플로트
- Default
-
1.0
- osd_op_num_shards
- 설명
- 클라이언트 작업의 shard 수입니다.
- 유형
- 32비트 정수
- Default
-
0
- osd_op_num_threads_per_shard
- 설명
- 클라이언트 작업용 shard당 스레드 수입니다.
- 유형
- 32비트 정수
- Default
-
0
- osd_op_num_shards_hdd
- 설명
- ECDHE 작업의 shard 수입니다.
- 유형
- 32비트 정수
- Default
-
5
- osd_op_num_threads_per_shard_hdd
- 설명
- DestinationRule 작업용 shard당 스레드 수입니다.
- 유형
- 32비트 정수
- Default
-
1
- osd_op_num_shards_ssd
- 설명
- SSD 작업의 shard 수입니다.
- 유형
- 32비트 정수
- Default
-
8
- osd_op_num_threads_per_shard_ssd
- 설명
- SSD 작업의 shard당 스레드 수입니다.
- 유형
- 32비트 정수
- Default
-
2
- osd_op_queue
- 설명
- Ceph OSD 내에서 작업의 우선 순위를 지정하는 데 사용할 대기열 유형을 설정합니다. OSD 데몬을 다시 시작해야 합니다.
- 유형
- 문자열
- Default
-
wpq
- 유효한 선택
-
wpq
,mclock_scheduler
,debug_random
mClock OSD 스케줄러는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있으며 프로덕션에 사용하지 않는 것이 좋습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다. 자세한 내용은 Red Hat 기술 프리뷰 기능의 지원 범위를 참조하십시오.
osd_op_queue_cut_off
- 설명
엄격한 큐로 전송되고 일반 큐로 전송되는 우선순위 작업을 선택합니다. OSD 데몬을 다시 시작해야 합니다.
Low 설정은 모든 복제 및 상위 작업을 엄격한 대기열로 보내는 반면, high 옵션은 복제 인식 작업만 엄격한 대기열로 보냅니다.
높은 설정은 특히
osd_op_queue
설정의wpq
옵션과 결합할 때 클러스터의 일부 Ceph OSD가 매우 사용 중인 경우에 유용합니다. 복제 트래픽을 처리하는 Ceph OSD는 이러한 OSD에서 이러한 설정 없이 기본 클라이언트 트래픽을 소모할 수 있습니다.- 유형
- 문자열
- Default
-
높은
- 유효한 선택
-
낮음
,높은
,debug_random
- osd_client_op_priority
- 설명
-
클라이언트 작업에 대한 우선순위 세트입니다.
osd recovery op 우선순위
를 기준으로 합니다. - 유형
- 32비트 정수
- Default
-
63
- 유효한 범위
- 1-63
- osd_recovery_op_priority
- 설명
-
복구 작업의 우선 순위 세트입니다.
osd 클라이언트 op 우선순위
를 기준으로 합니다. - 유형
- 32비트 정수
- Default
-
3
- 유효한 범위
- 1-63
- osd_op_thread_timeout
- 설명
- Ceph OSD 작업 스레드 시간 초과(초)입니다.
- 유형
- 32비트 정수
- Default
-
15
- osd_op_complaint_time
- 설명
- 지정된 시간(초)이 경과한 후 작동이 만료됩니다.
- 유형
- 플로트
- Default
-
30
- osd_disk_threads
- 설명
- 디스크 스레드 수: scrubbing 및 snap trimming과 같은 백그라운드 디스크 집약적 OSD 작업을 수행하는 데 사용됩니다.
- 유형
- 32비트 정수
- Default
-
1
- osd_op_history_size
- 설명
- 추적할 최대 작업 수입니다.
- 유형
- 32비트 부호 없는 정수
- Default
-
20
- osd_op_history_duration
- 설명
- 추적하기 위한 가장 오래된 완료된 작업입니다.
- 유형
- 32비트 부호 없는 정수
- Default
-
600
- osd_op_log_threshold
- 설명
- 한 번에 표시할 작업 로그 수입니다.
- 유형
- 32비트 정수
- Default
-
5
- osd_op_timeout
- 설명
- OSD 작업을 실행하는 데 걸리는 시간(초)입니다.
- 유형
- 정수
- Default
-
0
클라이언트가 결과를 처리할 수 없는 경우 osd op timeout
옵션을 설정하지 마십시오. 예를 들어 가상 머신에서 실행 중인 클라이언트에서 이 매개변수를 설정하면 가상 머신에서 이 시간 초과를 하드웨어 장애로 해석하므로 데이터 손상이 발생할 수 있습니다.
- osd_max_backfills
- 설명
- 단일 OSD에서 허용되거나 단일 OSD에서 허용되는 최대 백필 작업 수입니다.
- 유형
- 64비트 부호 없는 정수
- Default
-
1
- osd_backfill_scan_min
- 설명
- 백필 검사당 최소 오브젝트 수입니다.
- 유형
- 32비트 정수
- Default
-
64
- osd_backfill_scan_max
- 설명
- 백필 검사당 최대 오브젝트 수입니다.
- 유형
- 32비트 정수
- Default
-
512
- osd_backfill_full_ratio
- 설명
- Ceph OSD의 전체 비율이 이 값보다 큰 경우 백필 요청 수락을 거부합니다.
- 유형
- 플로트
- Default
-
0.85
- osd_backfill_retry_interval
- 설명
- 백필 요청을 다시 시도하기 전에 대기하는 시간(초)입니다.
- 유형
- double
- Default
-
30.000000
- osd_map_dedup
- 설명
- OSD 맵에서 중복 제거를 활성화합니다.
- 유형
- 부울
- Default
-
true
- osd_map_cache_size
- 설명
- OSD 맵 캐시의 크기(MB)입니다.
- 유형
- 32비트 정수
- Default
-
50
- osd_map_cache_bl_size
- 설명
- OSD 데몬의 메모리 내 OSD 맵 캐시의 크기입니다.
- 유형
- 32비트 정수
- Default
-
50
- osd_map_cache_bl_inc_size
- 설명
- OSD 데몬의 메모리 내 OSD 맵 캐시의 크기입니다.
- 유형
- 32비트 정수
- Default
-
100
- osd_map_message_max
- 설명
- MOSDMap 메시지당 허용되는 최대 맵 항목입니다.
- 유형
- 32비트 정수
- Default
-
40
- osd_snap_trim_thread_timeout
- 설명
- snap trim 스레드를 시간 초과하기 전의 최대 시간(초)입니다.
- 유형
- 32비트 정수
- Default
-
60*60*1
- osd_pg_max_concurrent_snap_trims
- 설명
- 병렬 스냅 트리/PG의 최대 수입니다. 이를 통해 한 번에 트리밍할 PG당 오브젝트 수를 제어합니다.
- 유형
- 32비트 정수
- Default
-
2
- osd_snap_trim_sleep
- 설명
- PG 문제가 있는 모든 트리트 작업 사이에 절전을 삽입합니다.
- 유형
- 32비트 정수
- Default
-
0
- osd_snap_trim_sleep_hdd
- 설명
- 다음 스냅샷이ECDHEs에 대해 트리밍되기 전의 시간(초)입니다.
- 유형
- 플로트
- Default
-
5.0
- osd_snap_trim_sleep_ssd
- 설명
- NVMe를 포함하여 SSD OSD의 다음 스냅샷 트리밍 작업 전에 유휴 상태가 되는 시간(초)입니다.
- 유형
- 플로트
- Default
-
0.0
- osd_snap_trim_sleep_hybrid
- 설명
- OSD 데이터가 DestinationRule에 있고 OSD 저널 또는 WAL 및 DB가 SSD에 있을 때 다음 스냅샷 트리밍 작업 전에 몇 초 내에 유휴 상태가 됩니다.
- 유형
- 플로트
- Default
-
2.0
- osd_max_trimming_pgs
- 설명
- 트리밍 PG의 최대 수
- 유형
- 32비트 정수
- Default
-
2
- osd_backlog_thread_timeout
- 설명
- 백로그 스레드를 시간 초과하기 전 최대 시간(초)입니다.
- 유형
- 32비트 정수
- Default
-
60*60*1
- osd_default_notify_timeout
- 설명
- OSD 기본 알림 타임아웃(초)입니다.
- 유형
- 32비트 Integer 서명되지 않음
- Default
-
30
- osd_check_for_log_corruption
- 설명
- 로그 파일에서 손상 여부를 확인합니다. 대분적으로 비용이 많이 들 수 있습니다.
- 유형
- 부울
- Default
-
false
- osd_remove_thread_timeout
- 설명
- OSD 스레드 제거 시간을 초과하기 전 최대 시간(초)입니다.
- 유형
- 32비트 정수
- Default
-
60*60
- osd_command_thread_timeout
- 설명
- 명령 스레드를 시간 초과하기 전 최대 시간(초)입니다.
- 유형
- 32비트 정수
- Default
-
10*60
- osd_command_max_records
- 설명
- 반환할 손실된 오브젝트 수를 제한합니다.
- 유형
- 32비트 정수
- Default
-
256
- osd_auto_upgrade_tmap
- 설명
-
이전 오브젝트의
omap
에tmap
을 사용합니다. - 유형
- 부울
- Default
-
true
- osd_tmapput_sets_users_tmap
- 설명
-
디버깅에만
tmap
을 사용합니다. - 유형
- 부울
- Default
-
false
- osd_preserve_trimmed_log
- 설명
- 정리된 로그 파일을 유지하지만 디스크 공간을 더 많이 사용합니다.
- 유형
- 부울
- Default
-
false
- osd_recovery_delay_start
- 설명
- 피어링이 완료되면 Ceph는 오브젝트 복구를 시작하기 전에 지정된 초 동안 지연됩니다.
- 유형
- 플로트
- Default
-
0
- osd_recovery_max_active
- 설명
- 한 번에 OSD당 활성 복구 요청 수입니다. 더 많은 요청으로 복구 속도가 빨라지지만 요청은 클러스터에 부하가 증가합니다.
- 유형
- 32비트 정수
- Default
-
0
- osd_recovery_max_active_hdd
- 설명
- 기본 장치가ECDHE인 경우 한 번에 Ceph OSD당 활성 복구 요청 수입니다.
- 유형
- 정수
- Default
-
3
- osd_recovery_max_active_ssd
- 설명
- 기본 장치가 SSD인 경우 한 번에 Ceph OSD당 활성 복구 요청 수입니다.
- 유형
- 정수
- Default
-
10
- osd_recovery_sleep
- 설명
- 다음 복구 또는 백필 작업 전에 유휴 상태인 시간(초)입니다. 이 값을 늘리면 복구 작업이 중단되고 클라이언트 작업이 영향을 덜 받습니다.
- 유형
- 플로트
- Default
-
0.0
- osd_recovery_sleep_hdd
- 설명
- IRQ에 대한 다음 복구 또는 백필 작업 전에 유휴 상태인 시간(초)입니다.
- 유형
- 플로트
- Default
-
0.1
- osd_recovery_sleep_ssd
- 설명
- SSD에 대한 다음 복구 또는 백필 작업 전에 유휴 상태인 시간(초)입니다.
- 유형
- 플로트
- Default
-
0.0
- osd_recovery_sleep_hybrid
- 설명
- Ceph OSD 데이터가 FlexVolume에 있고 OSD 저널 또는 WAL 및 DB가 SSD에 있는 경우 다음 복구 또는 백필 작업 전에 몇 초 내에 유휴 상태가 되는 시간(초)입니다.
- 유형
- 플로트
- Default
-
0.025
- osd_recovery_max_chunk
- 설명
- 푸시할 데이터 청크의 최대 크기입니다.
- 유형
- 64비트 Integer 서명되지 않음
- Default
-
8388608
- osd_recovery_threads
- 설명
- 데이터 복구를 위한 스레드 수입니다.
- 유형
- 32비트 정수
- Default
-
1
- osd_recovery_thread_timeout
- 설명
- 복구 스레드를 시간 초과하기 전 최대 시간(초)입니다.
- 유형
- 32비트 정수
- Default
-
30
- osd_recover_clone_overlap
- 설명
-
복구 중 복제 중복을 유지합니다. 항상
true
로 설정해야 합니다. - 유형
- 부울
- Default
-
true
- rados_osd_op_timeout
- 설명
- RADOS가 RADOS 작업에서 오류를 반환하기 전에 OSD에서 응답을 대기하는 시간(초)입니다. 값이 0이면 제한이 없음을 의미합니다.
- 유형
- double
- Default
- 0
부록 H. Ceph Monitor 및 OSD 구성 옵션
하트비트 설정을 수정할 때 Ceph 구성 파일의 [global]
섹션에 추가합니다.
- mon_osd_min_up_ratio
- 설명
-
Ceph가 Ceph OSD 데몬
을
다운
하기 전 Ceph OSD 데몬의 최소 비율입니다. - 유형
- double
- Default
-
.3
- mon_osd_min_in_ratio
- 설명
-
Ceph가 Ceph OSD 데몬을 표시하기 전 Ceph OSD 데몬의 최소
비율입니다
. - 유형
- double
- Default
-
0.750000
- mon_osd_laggy_halflife
- 설명
-
지연 추정치 수
(초
)가 감소합니다. - 유형
- 정수
- Default
-
60*60
- mon_osd_laggy_weight
- 설명
-
laggy
estimation decay의 새로운 샘플의 가중치입니다. - 유형
- double
- Default
-
0.3
- mon_osd_laggy_max_interval
- 설명
-
지연기 추정(초)에서
laggy_interval
의 최대 값. 모니터는 조정 방식을 사용하여 특정 OSD의laggy_interval
을 평가합니다. 이 값은 해당 OSD의 유예 시간을 계산하는 데 사용됩니다. - 유형
- 정수
- Default
-
300
- mon_osd_adjust_heartbeat_grace
- 설명
-
true
로 설정하면 Ceph는 지연추정에 따라
확장됩니다. - 유형
- 부울
- Default
-
true
- mon_osd_adjust_down_out_interval
- 설명
-
true
로 설정하면 Ceph는 지연추정에 따라
확장됩니다. - 유형
- 부울
- Default
-
true
- mon_osd_auto_mark_in
- 설명
-
Ceph는 부팅되는 모든 Ceph OSD 데몬을 Ceph Storage 클러스터에서
로
표시합니다. - 유형
- 부울
- Default
-
false
- mon_osd_auto_mark_auto_out_in
- 설명
-
Ceph는 Ceph Storage 클러스터에서 자동으로 표시되지 않는 Ceph OSD 데몬 부팅을 클러스터에서
로
표시합니다. - 유형
- 부울
- Default
-
true
- mon_osd_auto_mark_new_in
- 설명
-
Ceph는 새 Ceph OSD 데몬 부팅을 Ceph Storage Cluster와 같이 표시합니다.
- 유형
- 부울
- Default
-
true
- mon_osd_down_out_interval
- 설명
-
Ceph OSD 데몬을
중단하고
응답하지 않는 경우 Ceph가 대기하는
시간(초)입니다. - 유형
- 32비트 정수
- Default
-
600
- mon_osd_downout_subtree_limit
- 설명
-
Ceph가 자동으로 표시할 가장 큰 unit type입니다.
- 유형
- 문자열
- Default
-
rack
- mon_osd_reporter_subtree_level
- 설명
-
이 설정은 보고 OSD를 위한 상위ECDHE 단위 유형을 정의합니다. 응답하지 않는 피어가 발견되면 OSD에서 실패 보고서를 모니터로 보냅니다. 모니터는 보고된 OSD를
축소
한 다음 유예 기간이 지나면 해제할 수 있습니다. - 유형
- 문자열
- Default
-
host
- mon_osd_report_timeout
- 설명
-
응답하지 않는 Ceph OSD 데몬을 선언하기 전에 유예 기간(초)입니다.
- 유형
- 32비트 정수
- Default
-
900
- mon_osd_min_down_reporters
- 설명
-
Ceph OSD 데몬을 보고하는 데 필요한 최소 Ceph OSD 데몬 수입니다.
- 유형
- 32비트 정수
- Default
-
2
- osd_heartbeat_address
- 설명
- 하트비트를 위한 Ceph OSD 데몬의 네트워크 주소입니다.
- 유형
- address
- Default
- 호스트 주소입니다.
- osd_heartbeat_interval
- 설명
- Ceph OSD 데몬에서 피어를 ping하는 빈도(초)입니다.
- 유형
- 32비트 정수
- Default
-
6
- osd_heartbeat_grace
- 설명
-
Ceph OSD 데몬에서 Ceph Storage 클러스터에서
다운
된 것으로 간주하는 하트비트를 표시하지 않은 경우 경과된 시간입니다. - 유형
- 32비트 정수
- Default
-
20
- osd_mon_heartbeat_interval
- 설명
- Ceph OSD 데몬이 피어가 없는 경우 Ceph OSD 데몬에서 Ceph 모니터를 ping하는 빈도입니다.
- 유형
- 32비트 정수
- Default
-
30
- osd_mon_report_interval_max
- 설명
- Ceph OSD 데몬에서 Ceph Monitor에 보고하기 전에 대기할 수 있는 최대 시간(초)입니다.
- 유형
- 32비트 정수
- Default
-
120
- osd_mon_report_interval_min
- 설명
- Ceph OSD 데몬에서 Ceph 모니터로 보고하기 전에 시작 또는 다른 보고 가능한 이벤트에서 대기하는 최소 시간(초)입니다.
- 유형
- 32비트 정수
- Default
-
5
- 유효한 범위
-
osd mon report interval max
보다 작아야 합니다.
- osd_mon_ack_timeout
- 설명
- Ceph Monitor에서 통계 요청을 승인할 때까지 대기하는 시간(초)입니다.
- 유형
- 32비트 정수
- Default
-
30
부록 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
과 함께 scrubs가 발생할 수 있는 시간 창을 정의할 수 있습니다.osd_scrub_begin_hour = 0
및osd_scrub_end_hour = 0
을 사용하여 전체 요일을 스크럽할 수 있습니다. - 유형
- integer
- Default
- 0
- 허용 범위
-
[0, 23]
- osd_scrub_end_hour
- 설명
-
스크럽이 종료되는 특정 시간입니다.
osd_scrub_begin_hour
과 함께, 스크루브가 발생할 수 있는 시간 창을 정의할 수 있습니다.osd_scrub_begin_hour = 0
및osd_scrub_end_hour = 0
을 사용하여 전체 날짜에 스크럽을 허용합니다. - 유형
- integer
- Default
- 0
- 허용 범위
-
[0, 23]
- osd_scrub_begin_week_day
- 설명
-
스크럽이 시작되는 특정 요일입니다. 0 = nobody, 1 = Monday 등입니다. "osd_scrub_end_week_day"와 함께 스크루브가 발생할 수 있는 시간 창을 정의할 수 있습니다.
osd_scrub_begin_week_day = 0
및osd_scrub_end_week_day = 0
을 사용하여 전체 주 동안 스크럽을 허용합니다. - 유형
- integer
- Default
- 0
- 허용 범위
-
[0, 6]
- osd_scrub_end_week_day
- 설명
-
이 날은 스크럽이 종료되는 날을 정의합니다. 0 = nobody, 1 = Monday 등입니다.
osd_scrub_begin_week_day
와 함께 스크루브가 발생할 수 있는 시간 창을 정의합니다.osd_scrub_begin_week_day = 0
및osd_scrub_end_week_day = 0
을 사용하여 전체 주 동안 스크럽을 허용합니다. - 유형
- integer
- Default
- 0
- 허용 범위
-
[0, 6]
- osd_scrub_during_recovery
- 설명
-
복구 중에 스크럽을 허용합니다. 이를
false
로 설정하면 활성 복구가 있는 동안 새 scrub 및 deep-scrub 예약이 비활성화됩니다. 이미 실행 중인 스크럽은 사용 중인 스토리지 클러스터의 부하를 줄이는 데 유용합니다. - 유형
- 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
- 설명
-
배치 그룹에 대한 다음 스크루b 작업을 예약할 때
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
오류가 발견되면 복구가 수행되지 않습니다. - type
- boolean
- Default
- false
- osd_scrub_max_preemptions
- 설명
- 클라이언트 IO를 차단하여 scrub를 완료하기 전에 클라이언트 작업으로 인해 딥 스크럽을 선점해야 하는 최대 횟수를 설정합니다.
- type
- integer
- Default
- 5
- osd_deep_scrub_keys
- 설명
- 딥 스크러블 중 한 번에 오브젝트에서 읽을 키 수입니다.
- type
- integer
- Default
- 1024
부록 J. Bluestore 구성 옵션
다음은 배포 중에 구성할 수 있는 Ceph BlueStore 구성 옵션입니다.
이 목록은 완전하지 않습니다.
- rocksdb_cache_size
- 설명
- dropsDB 캐시의 크기(MB)입니다.
- 유형
- 32비트 정수
- Default
-
512
- bluestore_throttle_bytes
- 설명
- 사용자가 입력 또는 출력(I/O) 제출을 제한하기 전에 사용 가능한 최대 바이트 수입니다.
- 유형
- 크기
- Default
- 64MB
- bluestore_throttle_deferred_bytes
- 설명
- 사용자가 I/O 제출을 제한하기 전에 지연된 쓰기의 최대 바이트 수입니다.
- 유형
- 크기
- Default
- 128MB
- bluestore_throttle_cost_per_io
- 설명
- 각 I/O에 대한 트랜잭션 비용(바이트)에 오버헤드가 추가되었습니다.
- 유형
- 크기
- Default
- 0 B
- bluestore_throttle_cost_per_io_hdd
- 설명
-
DestinationRules의 기본
bluestore_throttle_cost_per_io
값입니다. - 유형
- 부호 없는 정수
- Default
-
67 000
- bluestore_throttle_cost_per_io_ssd
- 설명
-
SSD의 기본
bluestore_throttle_cost_per_io
값입니다. - 유형
- 부호 없는 정수
- Default
-
4 000