구성 가이드


Red Hat Ceph Storage 6

Red Hat Ceph Storage 구성 설정

Red Hat Ceph Storage Documentation Team

초록

이 문서에서는 부팅 시 및 런타임 시 Red Hat Ceph Storage를 구성하는 방법을 설명합니다. 구성 참조 정보도 제공합니다.
Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 작업은 작업 범위가 크므로 향후 여러 릴리스에 걸쳐 점차 구현할 예정입니다. 자세한 내용은 CTO Chris Wright의 메시지에서 참조하십시오.

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 클러스터를 부트스트랩하려는 경우 직접 생성할 수 있습니다.

추가 리소스

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 파일을 사용합니다. 대부분의 경우 cephadmmon_host 옵션만 사용합니다. mon_host 옵션에만 ceph.conf 를 사용하지 않으려면 DNS SRV 레코드를 사용하여 모니터로 작업을 수행합니다.

중요

assimilate-conf 관리 명령을 사용하여 유효한 옵션을 ceph.conf 파일에서 구성 데이터베이스로 이동하는 것이 좋습니다. assimilate -conf에 대한 자세한 내용은 명령을 참조하십시오.

Ceph를 사용하면 런타임 시 데몬 구성을 변경할 수 있습니다. 이 기능은 디버그 설정을 활성화하거나 비활성화하여 로깅 출력을 늘리거나 줄이는 데 유용할 수 있으며 런타임 최적화에도 사용할 수 있습니다.

참고

구성 데이터베이스 및 Ceph 구성 파일에 동일한 옵션이 있는 경우 구성 데이터베이스 옵션이 Ceph 구성 파일에 설정된 것보다 우선 순위가 낮습니다.

섹션 및ECDHE

데몬 유형별로 또는 Ceph 구성 파일의 특정 데몬을 통해 Ceph 옵션을 전역적으로 구성할 수 있는 것처럼 다음 섹션에 따라 구성 데이터베이스에서 Ceph 옵션을 구성할 수도 있습니다.

섹션설명

global

모든 데몬 및 클라이언트에 영향을 미칩니다.

Mon

모든 Ceph 모니터에 영향을 미칩니다.

mgr

모든 Ceph Manager에 영향을 미칩니다.

osd

모든 Ceph OSD에 영향을 미칩니다.

mds

모든 Ceph 메타데이터 서버에 영향을 미칩니다.

클라이언트

마운트된 파일 시스템, 블록 장치, RADOS 게이트웨이를 포함한 모든 Ceph 클라이언트에 영향을 미칩니다.

Ceph 구성 옵션에는 마스크가 연결되어 있을 수 있습니다. 이러한 마스크는 옵션이 적용되는 데몬 또는 클라이언트를 추가로 제한할 수 있습니다.

마스크에는 두 가지 유형이 있습니다.

type:location

typerack 또는 host 와 같은 property입니다. 위치는 속성 유형의 값입니다. 예를 들어 host:foo 는 옵션을 foo 호스트에서 실행되는 데몬 또는 클라이언트로만 제한합니다.

예제

ceph config set osd/host:magna045 debug_osd 20

class:device-class

device-classhdd 또는 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 노드에 대한 루트 수준 액세스.
  • 관리자 인증 키에 액세스할 수 있습니다.

절차

  1. 런타임 구성을 보려면 데몬을 실행하는 Ceph 노드에 로그인하여 다음을 실행합니다.

    구문

    ceph daemon DAEMON_TYPE.ID config show

    osd.0 의 구성을 보려면 osd.0 이 포함된 노드에 로그인하여 다음 명령을 실행합니다.

    예제

    [root@osd ~]# ceph daemon osd.0 config show

  2. 추가 옵션의 경우 데몬 및 도움말 을 지정합니다.

    예제

    [root@osd ~]# ceph daemon osd.0 help

1.5. 런타임 시 특정 구성 보기

Red Hat Ceph Storage의 구성 설정은 Ceph Monitor 노드에서 런타임 시 볼 수 있습니다.

사전 요구 사항

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

절차

  1. 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 노드에 대한 루트 수준 액세스.

절차

  1. 모든 모니터 또는 OSD 데몬에서 구성을 설정합니다.

    구문

    ceph config set DAEMON CONFIG-OPTION VALUE

    예제

    [root@mon ~]# ceph config set osd debug_osd 10

  2. 옵션과 값이 설정되어 있는지 확인합니다.

    예제

    [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

추가 리소스

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_target7860684936 입니다.

최종 대상은 옵션을 사용하여 구성 데이터베이스에 반영됩니다. MEM LIMIT 열의 ceph orch ps 출력에서 각 데몬이 사용하는 제한 및 현재 메모리를 볼 수 있습니다.

참고

Red Hat Ceph Storage 5.1에서 osd_memory_target_autotune true 의 기본 설정은 컴퓨팅 및 Ceph 스토리지 서비스가 함께 배치되는 하이퍼 컨버지드 인프라에 적합하지 않습니다. 하이퍼 컨버지드 인프라에서 autotune_memory_target_ratio0.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보다 큰 크기)이 제공됩니다.

추가 리소스

  • 특정 옵션 설명 및 사용법은 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는 각 논리 세션을 연결과 연결합니다. 파이프는 각 메시지의 입력 및 출력을 포함하여 연결을 처리합니다. SimpleMessengerposix 전송 유형에는 효과적이지만 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 소프트웨어 설치

절차

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

    예제

    [root@host01 ~]# cephadm shell

  2. 서브넷을 사용하여 공용 네트워크를 구성합니다.

    구문

    ceph config set mon public_network IP_ADDRESS_WITH_SUBNET

    예제

    [ceph: root@host01 /]# ceph config set mon public_network 192.168.0.0/24

  3. 스토리지 클러스터에서 서비스 목록을 가져옵니다.

    예제

    [ceph: root@host01 /]# ceph orch ls

  4. 데몬을 다시 시작합니다. Ceph 데몬은 동적으로 바인딩되므로 특정 데몬의 네트워크 구성을 변경하는 경우 한 번에 전체 클러스터를 다시 시작할 필요가 없습니다.

    예제

    [ceph: root@host01 /]# ceph orch restart mon

  5. 선택 사항: 클러스터를 재시작하려면 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 명령을 실행하고 데몬을 다시 배포합니다.

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

      예제

      [root@host01 ~]# cephadm shell

    2. 서브넷을 사용하여 클러스터 네트워크를 구성합니다.

      구문

      ceph config set global cluster_network IP_ADDRESS_WITH_SUBNET

      예제

      [ceph: root@host01 /]# ceph config set global cluster_network 10.10.0.0/24

    3. 스토리지 클러스터에서 서비스 목록을 가져옵니다.

      예제

      [ceph: root@host01 /]# ceph orch ls

    4. 데몬을 다시 시작합니다. Ceph 데몬은 동적으로 바인딩되므로 특정 데몬의 네트워크 구성을 변경하는 경우 한 번에 전체 클러스터를 다시 시작할 필요가 없습니다.

      예제

      [ceph: root@host01 /]# ceph orch restart mon

    5. 선택 사항: 클러스터를 재시작하려면 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 클러스터가 있는지 확인하십시오.

절차

  1. 여러 공용 네트워크로 구성된 Ceph 클러스터를 부트스트랩합니다.

    1. 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개를 사용하는 예입니다.

    2. 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

  2. 서브넷에 새 호스트를 추가합니다.

    참고

    추가 중인 호스트는 활성 관리자가 실행 중인 호스트에서 연결할 수 있어야 합니다.

    1. 새 호스트의 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

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

      예제

      [root@host01 ~]# cephadm shell

    3. 새 호스트를 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 인증 키 파일을 유지합니다.
  3. 공용 네트워크 매개 변수의 네트워크 구성을 실행 중인 클러스터에 추가합니다. 서브넷이 쉼표로 구분되고 서브넷이 서브넷/마스크 형식으로 나열되어 있는지 확인합니다.

    구문

    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 사양을 업데이트합니다.

추가 리소스

2.6. 방화벽 규칙이 기본 Ceph 포트에 대해 구성되어 있는지 확인

기본적으로 Red Hat Ceph Storage 데몬은 TCP 포트 6800-​7100을 사용하여 클러스터의 다른 호스트와 통신합니다. 호스트의 방화벽이 이러한 포트에서 연결을 허용하는지 확인할 수 있습니다.

참고

네트워크에 전용 방화벽이 있는 경우 이 절차를 따르는 것 외에도 해당 구성을 확인해야 할 수 있습니다. 자세한 내용은 방화벽 설명서를 참조하십시오.

자세한 내용은 방화벽 설명서를 참조하십시오.

사전 요구 사항

  • 호스트에 대한 루트 수준 액세스.

절차

  1. 호스트의 iptables 구성을 확인합니다.

    1. 활성 규칙을 나열합니다.

      [root@host1 ~]# iptables -L
    2. TCP 포트 6800-​7100에서 연결을 제한하는 규칙이 없는지 확인합니다.

      예제

      REJECT all -- anywhere anywhere reject-with icmp-host-prohibited

  2. 호스트의 firewalld 구성을 확인합니다.

    1. 호스트에서 열려 있는 포트를 나열합니다.

      구문

      firewall-cmd --zone ZONE --list-ports

      예제

      [root@host1 ~]# firewall-cmd --zone default --list-ports

    2. 범위가 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 프로토콜이 사용됩니다. 기본적으로, 메시징 프로토콜인 v1v2 가 모두 활성화됩니다. 새로운 v2 포트는 3300이며 레거시 v1 포트는 기본적으로 6789입니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • Ceph 소프트웨어 리포지토리에 액세스합니다.
  • Ceph Monitor 노드에 대한 루트 수준 액세스.

절차

  1. 다음 예제를 사용하여 규칙을 추가합니다.

    [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
    1. IFACE 를 공용 네트워크 인터페이스(예: eth0,eth1 등)로 바꿉니다.
    2. IP-ADDRESS 를 공용 네트워크의 IP 주소로 바꾸고 NETECDHEK 를 공용 네트워크의 넷마스크로 바꿉니다.
  2. 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

추가 리소스

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을 활용하여 저장소 전체 동기화를 수행합니다.

Paxos

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 호스트에 대한 루트 수준 액세스.

절차

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

    [root@host01 ~]# cephadm shell
  2. 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: 모니터에는 시크릿 키가 있어야 합니다.

추가 리소스

3.7. Ceph 모니터의 최소 설정

Ceph 구성 파일에서 Ceph 모니터의 베어 최소 모니터 설정에는 DNS 및 모니터 주소에 대해 구성되지 않은 경우 각 모니터의 호스트 이름이 포함되어 있습니다. Ceph 모니터는 기본적으로 포트 67893300 에서 실행됩니다.

중요

Ceph 구성 파일을 편집하지 마십시오.

참고

모니터에 대한 이 최소 구성은 배포 툴이 fsidmon. 키를 생성하는 것으로 가정합니다.

다음 명령을 사용하여 스토리지 클러스터 구성 옵션을 설정하거나 읽을 수 있습니다.

  • 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은 구성 파일이며, VALUEtrue 또는 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 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 노드에 대한 루트 수준 액세스.

절차

  1. 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 파일의 내용이 취소됩니다. 배포 툴이 이미 수행한 경우 이 단계를 수행하지 마십시오.

  2. 모니터 클러스터의 인증 키를 생성하고 모니터 보안 키를 생성합니다.

    [root@mon ~]# ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'
  3. 모니터 키링을 모든 모니터 mon data 디렉터리의 ceph.mon.keyring 파일에 복사합니다. 예를 들어 클러스터 cephmon.a 에 복사하려면 다음을 사용합니다.

    [root@mon ~]# cp /tmp/ceph.mon.keyring /var/lib/ceph/mon/ceph-a/keyring
  4. 모든 OSD에 대해 시크릿 키를 생성합니다. 여기서 ID 는 OSD 번호입니다.

    ceph auth get-or-create osd.ID mon 'allow rwx' osd 'allow *' -o /var/lib/ceph/osd/ceph-ID/keyring
  5. 기본적으로 cephx 인증 프로토콜이 활성화됩니다.

    참고

    인증 옵션을 none 으로 설정하여 cephx 인증 프로토콜을 이전에 비활성화한 경우 Ceph 구성 파일(/etc/ceph/ceph.conf)의 [global] 섹션에서 다음 행을 제거하면 cephx 인증 프로토콜이 다시 활성화됩니다.

    auth_cluster_required = none
    auth_service_required = none
    auth_client_required = none
  6. 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 노드에 대한 루트 수준 액세스.

절차

  1. Ceph 구성 파일의 [global] 섹션에서 다음 옵션을 설정하여 cephx 인증을 비활성화합니다.

    예제

    auth_cluster_required = none
    auth_service_required = none
    auth_client_required = none

  2. 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 문제를 해결하기가 더 어렵기 때문에 기본 경로를 변경하지 않는 것이 좋습니다.

추가 리소스

6.2. OSD 제거

Ceph는 여러 오브젝트 복사본을 생성하는 것 외에도 배치 그룹을 확인하여 데이터 무결성을 보장합니다. Ceph 스크럽은 오브젝트 스토리지 계층의 fsck 명령과 유사합니다.

각 배치 그룹에 대해 Ceph는 모든 개체의 카탈로그를 생성하고 각 기본 오브젝트와 해당 복제본을 비교하여 오브젝트가 누락되거나 일치하지 않도록 합니다.

Light scrubbing (Daily)은 오브젝트 크기 및 속성을 확인합니다. 딥 스크럽(weekly)은 데이터를 읽고 체크섬을 사용하여 데이터 무결성을 보장합니다.

데이터 무결성을 유지하는 데 스크럽이 중요하지만 성능을 줄일 수 있습니다. 스크럽 작업을 늘리거나 줄이려면 다음 설정을 조정합니다.

추가 리소스

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가 성능 저하된 상태에서 제대로 수행할 수 있도록 합니다.

추가 리소스

7장. Ceph Monitor 및 OSD 상호 작용 구성

스토리지 관리자는 안정적인 작업 환경을 보장하기 위해 Ceph Monitor와 OSD 간의 상호 작용을 올바르게 구성해야 합니다.

사전 요구 사항

  • Red Hat Ceph Storage 소프트웨어 설치

7.1. Ceph Monitor 및 OSD 상호 작용

초기 Ceph 구성을 완료한 후에는 Ceph를 배포하고 실행할 수 있습니다. ceph 상태 또는 ceph -s 와 같은 명령을 실행하면 Ceph Monitor가 Ceph 스토리지 클러스터의 현재 상태를 보고합니다. Ceph 모니터는 각 Ceph OSD 데몬의 보고서가 필요하며, 비정상적인 Ceph OSD 데몬의 상태에 대한 Ceph OSD 데몬에서 보고서를 수신하여 Ceph 스토리지 클러스터에 대해 알고 있습니다. Ceph Monitor에서 보고서를 수신하지 못하거나 Ceph 스토리지 클러스터 변경에 대한 보고서가 수신되면 Ceph Monitor에서 Ceph 클러스터 맵의 상태를 업데이트합니다.

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

Heartbeats 확인

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

중지된 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

110 Ceph Configuration 업데이트 0720 10

추가 리소스

8장. Ceph 디버깅 및 로깅 구성

스토리지 관리자는 cephadm 의 디버깅 및 로깅 정보를 늘려 Red Hat Ceph Storage에서 문제를 진단할 수 있습니다.

사전 요구 사항

  • Red Hat Ceph Storage 소프트웨어가 설치되어 있어야 합니다.

추가 리소스

부록 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_affinitytrue 인 경우 이 문자열은 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_fulltarget_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,authmgr 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-monceph-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 = 0osd_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 = 0osd_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 intervalosd 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
설명
이전 오브젝트의 omaptmap 을 사용합니다.
유형
부울
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 = 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 = nobody, 1 = Monday 등입니다. "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 = nobody, 1 = Monday 등입니다. 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 예약이 비활성화됩니다. 이미 실행 중인 스크럽은 사용 중인 스토리지 클러스터의 부하를 줄이는 데 유용합니다.
유형
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

법적 공지

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.