1.4. Ceph 구성 파일
Ceph 구성 파일은 시작 시 Ceph 데몬을 구성하여 기본값을 재정의합니다.
각 Ceph 데몬에는 ceph/src/common/config_opts.h
파일에서 설정하는 일련의 기본값이 있습니다.
Ceph의 기본 구성 파일의 위치는 /etc/ceph/ceph.conf
입니다. 다음과 같이 다른 경로를 설정하여 해당 위치를 변경할 수 있습니다.
-
$CEPH_CONF
환경 변수에서 경로를 설정합니다. -
c
명령줄
인수(예:-c path/ceph.conf
) 지정.
Ceph 구성 파일은 ini 스타일 구문을 사용합니다. 파운드 기호(#) 또는 세미콜론(;)을 사용하여 앞의 주석을 추가할 수 있습니다.
예제
# <--A pound sign (#) sign precedes a comment. # Comments always follow a semi-colon (;) or a pound (#) on each line. # The end of the line terminates a comment. # We recommend that you provide comments in your configuration file(s). ; A comment may be anything.
구성 파일은 Ceph 스토리지 클러스터의 모든 Ceph 데몬 또는 시작 시 특정 유형의 모든 Ceph 데몬을 구성할 수 있습니다. 일련의 데몬을 구성하려면 다음과 같이 구성을 수신할 프로세스에 설정을 포함해야 합니다.
[global]
- 설명
-
[global]
아래의 설정은 Ceph 스토리지 클러스터의 모든 데몬에 영향을 미칩니다. - 예제
-
auth supported = cephx
[osd]
- 설명
-
[osd]
아래의 설정은 Ceph 스토리지 클러스터의 모든ceph-osd
데몬에 영향을 미치고[global]
에서 동일한 설정을 재정의합니다.
[mon]
- 설명
-
[mon]
아래의 설정은 Ceph 스토리지 클러스터의 모든ceph-mon
데몬에 영향을 미치고[global]
에서 동일한 설정을 재정의합니다. - 예제
[mon.host01] `host = host01` `mon_addr = 10.0.0.101` [mon.host02] `host = host02` `mon_addr = 10.0.0.102`
[client]
- 설명
-
[client]
아래의 설정은 모든 Ceph 클라이언트에 영향을 미칩니다. 예를 들어 마운트된 Ceph 블록 장치, Ceph 개체 게이트웨이 등이 있습니다. - 예제
-
log file = /var/log/ceph/radosgw.log
글로벌 설정은 Ceph 스토리지 클러스터의 모든 데몬 인스턴스에 영향을 줍니다. [global]
제목을 Ceph 스토리지 클러스터의 모든 데몬에 공통인 값으로 사용합니다. 다음을 통해 각 [global]
옵션을 재정의할 수 있습니다.
특정 프로세스 유형에 대한 옵션 변경:
예제
[osd]
,[mon]
OR
특정 프로세스에 대한 옵션 변경:
예제
[osd.1]
글로벌 설정을 재정의하면 특정 데몬에서 구체적으로 재정의하는 프로세스를 제외하고 모든 하위 프로세스에 영향을 미칩니다.
일반적인 글로벌 설정에는 인증 활성화가 포함됩니다.
예제
[global] #Enable authentication between hosts within the cluster. auth_cluster_required = cephx auth_service_required = cephx auth_client_required = cephx
특정 유형의 데몬에 적용되는 설정을 지정할 수 있습니다. 특정 인스턴스를 지정하지 않고 [osd]
또는 [mon]
아래의 설정을 지정하는 경우 설정이 모든 OSD 또는 모니터 데몬에 각각 적용됩니다. 데몬 전체 설정의 한 가지 예는 osd 메모리 타겟입니다.
예제
[osd] osd_memory_target = 5368709120
데몬의 특정 인스턴스에 대한 설정을 지정할 수 있습니다. 유형을 입력하고 마침표(.)로 구분된 인스턴스 ID로 구분하여 인스턴스를 지정할 수 있습니다. Ceph OSD 데몬의 인스턴스 ID는 항상 숫자이지만 Ceph 모니터의 영숫자일 수 있습니다.
예제
[osd.1] # settings affect osd.1 only. [mon.a] # settings affect mon.a only.
일반적인 Ceph 구성 파일에는 최소한 다음 설정이 있습니다.
[global] fsid = UNIQUE_CLUSTER_ID mon_initial_members = NODE_NAME[, NODE_NAME] mon_host = IP_ADDRESS[, IP_ADDRESS] #All clusters have a front-side public network. #If you have two NICs, you can configure a back side cluster #network for OSD object replication, heart beats, backfilling, #recovery, and so on public_network = PUBLIC_NET[, PUBLIC_NET] #cluster_network = PRIVATE_NET[, PRIVATE_NET] #Clusters require authentication by default. auth_cluster_required = cephx auth_service_required = cephx auth_client_required = cephx #Choose reasonable numbers for your number of replicas #and placement groups. osd_pool_default_size = NUM # Write an object n times. osd_pool_default_min_size = NUM # Allow writing n copy in a degraded state. osd_pool_default_pg_num = NUM osd_pool_default_pgp_num = NUM #Choose a reasonable crush leaf type. #0 for a 1-node cluster. #1 for a multi node cluster in a single rack #2 for a multi node, multi chassis cluster with multiple hosts in a chassis #3 for a multi node cluster with hosts across racks, and so on osd_crush_chooseleaf_type = NUM
예제
[global] cluster network = 10.74.250.101/21 fsid = 3e07d43f-688e-4284-bfb7-3e6ed5d3b77b mon host = [v2:10.0.0.101:3300/0,v1:10.0.0.101:6789/0] [v2:10.0.0.102:3300/0,v1:10.0.0.102:6789/0] [v2:10.0.0.103:3300/0,v1:10.0.0.103:6789/0] mon initial members = host01, host02, host03 osd pool default crush rule = -1 public network = 10.74.250.101/21 [osd] osd memory target = 4294967296 [mon] [mon.host01] host = host01 mon_addr = 10.0.0.101 [mon.host02] host = host02 mon_addr = 10.0.0.102