3.2. Ceph 스토리지 클러스터의 고급 모니터링


스토리지 관리자는 Ceph 데몬의 상태를 모니터링하여 실행 중인지 확인할 수 있습니다. 또한 높은 수준의 모니터링에는 스토리지 클러스터가 전체 비율 을 초과하지 않도록 스토리지 클러스터 용량을 확인하는 작업이 포함됩니다. Red Hat Ceph Storage 대시보드 는 고급 모니터링을 수행하는 가장 일반적인 방법입니다. 그러나 명령줄 인터페이스, Ceph 관리자 소켓 또는 Ceph API를 사용하여 스토리지 클러스터를 모니터링할 수도 있습니다.

3.2.1. 사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.

3.2.2. Ceph 명령 인터페이스 사용

ceph 명령줄 유틸리티를 사용하여 Ceph 스토리지 클러스터와 대화형으로 상호 작용할 수 있습니다.

사전 요구 사항

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

절차

  1. 를 사용하여 ceph 유틸리티를 대화형 모드로 실행합니다.

    구문

    podman exec -it ceph-mon-MONITOR_NAME /bin/bash

    replace
    • podman ps 명령을 실행하여 찾은 Ceph Monitor 컨테이너의 이름이 있는 MONITOR_NAME 입니다.

    예제

    [root@host01 ~]# podman exec -it ceph-499829b4-832f-11eb-8d6d-001a4a000635-mon.host01 /bin/bash

이 예제에서는 mon.host01 에서 대화형 터미널 세션을 엽니다. 여기에서 Ceph 대화형 쉘을 시작할 수 있습니다.

3.2.3. 스토리지 클러스터 상태 확인

Ceph 스토리지 클러스터를 시작하고 데이터를 읽거나 쓰기 전에 스토리지 클러스터의 상태를 먼저 확인합니다.

사전 요구 사항

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

절차

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

    예제

    root@host01 ~]# cephadm shell

  2. 다음 명령을 사용하여 Ceph 스토리지 클러스터의 상태를 확인할 수 있습니다.

    예제

    [ceph: root@host01 /]# ceph health
    HEALTH_OK

  3. ceph status 명령을 실행하여 Ceph 스토리지 클러스터의 상태를 확인할 수 있습니다.

    예제

    [ceph: root@host01 /]# ceph status

    출력은 다음과 같은 정보를 제공합니다.

    • 클러스터 ID
    • 클러스터 상태
    • 모니터 맵 epoch 및 모니터 쿼럼의 상태.
    • OSD는 epoch 및 OSD의 상태를 매핑합니다.
    • Ceph Manager의 상태입니다.
    • 오브젝트 게이트웨이의 상태입니다.
    • 배치 그룹 맵 버전.
    • 배치 그룹 및 풀 수입니다.
    • 저장된 데이터 양과 저장된 오브젝트 수입니다.
    • 저장된 총 데이터 양입니다.

      Ceph 클러스터를 시작하면 HEALTH_WARN XXX 배치 그룹이 오래된 상태 경고가 발생할 수 있습니다. 잠시 기다렸다가 다시 확인하십시오. 스토리지 클러스터가 준비되면 ceph 상태가 HEALTH _OK 와 같은 메시지를 반환해야 합니다. 이 시점에서 클러스터 사용을 시작하는 것이 좋습니다.

3.2.4. 스토리지 클러스터 이벤트 감시

명령줄 인터페이스를 사용하여 Ceph 스토리지 클러스터에서 발생하는 이벤트를 확인할 수 있습니다.

사전 요구 사항

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

절차

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

    예제

    root@host01 ~]# cephadm shell

  2. 클러스터의 진행 중인 이벤트를 조사하려면 다음 명령을 실행합니다.

    예제

    [ceph: root@host01 /]# ceph -w
      cluster:
        id:     8c9b0072-67ca-11eb-af06-001a4a0002a0
        health: HEALTH_OK
    
      services:
        mon: 2 daemons, quorum Ceph5-2,Ceph5-adm (age 3d)
        mgr: Ceph5-1.nqikfh(active, since 3w), standbys: Ceph5-adm.meckej
        osd: 5 osds: 5 up (since 2d), 5 in (since 8w)
        rgw: 2 daemons active (test_realm.test_zone.Ceph5-2.bfdwcn, test_realm.test_zone.Ceph5-adm.acndrh)
    
      data:
        pools:   11 pools, 273 pgs
        objects: 459 objects, 32 KiB
        usage:   2.6 GiB used, 72 GiB / 75 GiB avail
        pgs:     273 active+clean
    
      io:
        client:   170 B/s rd, 730 KiB/s wr, 0 op/s rd, 729 op/s wr
    
    2021-06-02 15:45:21.655871 osd.0 [INF] 17.71 deep-scrub ok
    2021-06-02 15:45:47.880608 osd.1 [INF] 1.0 scrub ok
    2021-06-02 15:45:48.865375 osd.1 [INF] 1.3 scrub ok
    2021-06-02 15:45:50.866479 osd.1 [INF] 1.4 scrub ok
    2021-06-02 15:45:01.345821 mon.0 [INF] pgmap v41339: 952 pgs: 952 active+clean; 17130 MB data, 115 GB used, 167 GB / 297 GB avail
    2021-06-02 15:45:05.718640 mon.0 [INF] pgmap v41340: 952 pgs: 1 active+clean+scrubbing+deep, 951 active+clean; 17130 MB data, 115 GB used, 167 GB / 297 GB avail
    2021-06-02 15:45:53.997726 osd.1 [INF] 1.5 scrub ok
    2021-06-02 15:45:06.734270 mon.0 [INF] pgmap v41341: 952 pgs: 1 active+clean+scrubbing+deep, 951 active+clean; 17130 MB data, 115 GB used, 167 GB / 297 GB avail
    2021-06-02 15:45:15.722456 mon.0 [INF] pgmap v41342: 952 pgs: 952 active+clean; 17130 MB data, 115 GB used, 167 GB / 297 GB avail
    2021-06-02 15:46:06.836430 osd.0 [INF] 17.75 deep-scrub ok
    2021-06-02 15:45:55.720929 mon.0 [INF] pgmap v41343: 952 pgs: 1 active+clean+scrubbing+deep, 951 active+clean; 17130 MB data, 115 GB used, 167 GB / 297 GB avail

3.2.5. Ceph에서 데이터 사용량을 계산하는 방법

사용된 값은 사용된 실제 원시 스토리지의 양을 반영합니다. xxx GB / xxx GB 값은 클러스터의 전체 스토리지 용량 중 두 숫자의 사용 가능한 양을 의미합니다. 알림 번호는 저장된 데이터의 크기를 복제, 복제 또는 스냅샷하기 전에 반영합니다. 따라서 Ceph에서 데이터의 복제본을 만들고 복제 및 스냅샷을 위해 스토리지 용량을 사용할 수 있기 때문에 실제로 저장된 데이터 양이 실제로 저장된 데이터 양을 초과합니다.

3.2.6. 스토리지 클러스터 사용량 통계 이해

풀 간 클러스터의 데이터 사용량 및 데이터 배포를 확인하려면 df 옵션을 사용합니다. 이는 Linux df 명령과 유사합니다.

ceph dfceph status 명령 출력에서 SIZE/AVAIL/RAW USED 는 일부 OSD가 클러스터의 OUT 으로 표시된 경우 모든 OSD가 IN 인 경우와 다릅니다. SIZE/AVAIL/RAW USEDSIZE (osd disk size), RAW USE (total used space on disk) 및 IN 상태에 있는 모든 OSD의 AVAIL 에서 계산됩니다. ceph osd df tree 명령 출력의 모든 OSD에 대해 총 SIZE/AVAIL/RAW USED 를 확인할 수 있습니다.

예제

[ceph: root@host01 /]#ceph df
--- RAW STORAGE ---
CLASS   SIZE    AVAIL     USED  RAW USED  %RAW USED
hdd    5 TiB  2.9 TiB  2.1 TiB   2.1 TiB      42.98
TOTAL  5 TiB  2.9 TiB  2.1 TiB   2.1 TiB      42.98

--- POOLS ---
POOL                        ID  PGS   STORED  OBJECTS     USED  %USED  MAX AVAIL
.mgr                         1    1  5.3 MiB        3   16 MiB      0    629 GiB
.rgw.root                    2   32  1.3 KiB        4   48 KiB      0    629 GiB
default.rgw.log              3   32  3.6 KiB      209  408 KiB      0    629 GiB
default.rgw.control          4   32      0 B        8      0 B      0    629 GiB
default.rgw.meta             5   32  1.7 KiB       10   96 KiB      0    629 GiB
default.rgw.buckets.index    7   32  5.5 MiB       22   17 MiB      0    629 GiB
default.rgw.buckets.data     8   32  807 KiB        3  2.4 MiB      0    629 GiB
default.rgw.buckets.non-ec   9   32  1.0 MiB        1  3.1 MiB      0    629 GiB
source-ecpool-86            11   32  1.2 TiB  391.13k  2.1 TiB  53.49    1.1 TiB

ceph df detail 명령은 할당량 오브젝트, 할당량 바이트, 사용된 압축 및 압축과 같은 기타 풀 통계에 대한 세부 정보를 제공합니다.

출력의 RAW STORAGE 섹션에서는 스토리지 클러스터가 데이터용으로 관리하는 스토리지 크기에 대한 개요를 제공합니다.

  • CLASS: OSD 장치의 클래스입니다.
  • 크기: 스토리지 클러스터에서 관리하는 스토리지 용량의 양입니다.

    위의 예에서 SIZE 가 90GiB이면 복제 요소가 없는 총 크기이며 이는 기본적으로 3입니다. 복제 인수가 있는 사용 가능한 총 용량은 90GiB/3 = 30GiB입니다. 기본적으로 0.85%인 전체 비율에 따라 사용 가능한 최대 공간은 30GiB * 0.85 = 25.5GiB입니다.

  • AVAIL: 스토리지 클러스터에서 사용 가능한 여유 공간의 크기입니다.

    위의 예에서 SIZE 가 90GiB이고 USED 공간이 6GiB이면 AVAIL 공간은 84GiB입니다. 복제 인수가 있는 사용 가능한 총 공간(기본적으로 3개)은 84GiB/3 = 28GiB입니다.

  • USED: 사용자 데이터가 사용하는 원시 스토리지의 양입니다.

    위의 예에서 100MiB는 복제 요소를 고려한 후 사용 가능한 총 공간입니다. 사용 가능한 실제 크기는 33MiB입니다.

  • RAW USED: 사용자 데이터, 내부 오버헤드 또는 예약된 용량에서 사용하는 원시 스토리지의 양입니다.
  • % RAW USED: RAW USED 의 백분율입니다. 스토리지 클러스터의 용량에 도달하지 않도록 이 수를 전체 비율 과 거의 전체 비율 과 함께 사용하십시오.

출력의 POOLS 섹션에서는 풀 목록과 각 풀의 주요 사용량을 제공합니다. 이 섹션의 출력 복제본, 복제 또는 스냅샷을 반영하지 않습니다. 예를 들어 1MB의 데이터가 있는 오브젝트를 저장하는 경우 알림 사용은 1MB이지만 실제 사용은 복제본 수(예: size = 3, clone 및 snapshots)에 따라 3MB 이상일 수 있습니다.

  • POOL: 풀의 이름입니다.
  • id: 풀 ID입니다.
  • STORED: 풀에 사용자가 저장한 데이터의 실제 양입니다. 이 값은 (k+M)/K 값에 따른 원시 사용 데이터, 오브젝트 복사본 수 및 풀 통계 계산 시 성능이 저하된 오브젝트 수에 따라 변경됩니다.
  • OBJECTS: 풀당 저장된 오브젝트의 알림 수입니다. 이는 STORED 크기 * 복제 요소입니다.
  • USED: 메가바이트 또는 G 에 대해 M 을 추가하지 않는 한 킬로바이트에 저장된 데이터의 기본 용량입니다.
  • %USED: 풀당 사용되는 스토리지의 개념 백분율입니다.
  • MAX AVAIL: 이 풀에 기록될 수 있는 개념적 양의 데이터를 추정합니다. 첫 번째 OSD가 가득 차기 전에 사용할 수 있는 데이터의 양입니다. CRUSH 맵의 디스크 전체에 데이터가 예상되는 것으로 간주되며 첫 번째 OSD를 사용하여 대상으로 채워집니다.

    위의 예에서 MAX AVAIL 은 기본적으로 세 가지 복제 요소를 고려하지 않고 153.85MB입니다.

    MAX AVAIL의 값을 계산하기 위해 단순 복제 풀의 경우 ceph df MAX AVAIL 이라는 Red Hat 지식베이스 문서를 참조하십시오.

  • QUOTA OBJECTS: 할당량 오브젝트 수입니다.
  • QUOTA BYTES: 할당량 오브젝트의 바이트 수입니다.
  • USED COMPR: 압축된 데이터, 할당, 복제 및 삭제 코딩 오버헤드를 포함하여 압축 데이터를 위해 할당된 공간의 양입니다.
  • UNDER COMPR: 압축을 통해 전달되는 데이터의 양과 압축된 형식으로 저장할 수 있을 만큼 유용합니다.
참고

POOLS 섹션의 숫자는 중요하지 않습니다. 복제본, 스냅샷 또는 복제 수가 포함되지 않습니다. 결과적으로 USED%USED 수량의 합계는 출력의 GLOBAL 섹션에 RAW USED%RAW USED 용량에 추가되지 않습니다.

참고

MAX AVAIL 값은 사용된 복제 또는 삭제 코드의 복잡한 기능이며, 스토리지를 장치에 매핑하는 CRUSH 규칙, 구성된 mon_osd_full_ratio.

추가 리소스

3.2.7. OSD 사용량 통계 이해

ceph osd df 명령을 사용하여 OSD 사용률 통계를 확인합니다.

예제

[ceph: root@host01 /]# ceph osd df
ID CLASS WEIGHT  REWEIGHT SIZE    USE     DATA    OMAP    META    AVAIL   %USE VAR  PGS
 3   hdd 0.90959  1.00000  931GiB 70.1GiB 69.1GiB      0B    1GiB  861GiB 7.53 2.93  66
 4   hdd 0.90959  1.00000  931GiB 1.30GiB  308MiB      0B    1GiB  930GiB 0.14 0.05  59
 0   hdd 0.90959  1.00000  931GiB 18.1GiB 17.1GiB      0B    1GiB  913GiB 1.94 0.76  57
MIN/MAX VAR: 0.02/2.98  STDDEV: 2.91

  • ID: OSD의 이름입니다.
  • CLASS: OSD에서 사용하는 장치의 유형입니다.
  • WEoctets: CRUSH 맵에 있는 OSD의 가중치입니다.
  • 기본 다시 가중치 값.
  • SIZE: OSD의 전체 스토리지 용량입니다.
  • USE: OSD 용량.
  • DATA: 사용자 데이터에 사용되는 OSD 용량의 크기입니다.
  • OMAP: 개체 맵(omap) 데이터를 저장하는 데 사용되는 bluefs 스토리지의 추정치 값(파이퍼스 db에 저장된 키 쌍)입니다.
  • META: bluefs 공간 또는 bluestore_bluefs_min 매개변수에 설정된 값( bluestore_bluefs_min 매개변수)은 bluefs 에서 할당된 총 공간을 기준으로 계산된 내부 메타데이터의 경우 예상 omap 데이터 크기를 뺀다.
  • AVAIL: OSD에서 사용 가능한 여유 공간의 크기입니다.
  • %USE: OSD에서 사용하는 스토리지의 알림 백분율
  • VAR: 평균 사용률보다 높거나 낮은 변동입니다.
  • PGS: OSD의 배치 그룹 수입니다.
  • MIN/MAX VAR: 모든 OSD의 최소 및 최대 변형입니다.

추가 리소스

3.2.8. 스토리지 클러스터 상태 확인

명령줄 인터페이스에서 Red Hat Ceph Storage 클러스터의 상태를 확인할 수 있습니다. status 하위 명령 또는 -s 인수는 스토리지 클러스터의 현재 상태를 표시합니다.

사전 요구 사항

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

절차

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

    예제

    [root@host01 ~]# cephadm shell

  2. 스토리지 클러스터 상태를 확인하려면 다음을 실행합니다.

    예제

    [ceph: root@host01 /]# ceph status

    또는

    예제

    [ceph: root@host01 /]# ceph -s

  3. 대화형 모드에서 ceph 를 입력하고 Enter 를 누릅니다.

    예제

    [ceph: root@host01 /]# ceph
    ceph> status
      cluster:
        id:     499829b4-832f-11eb-8d6d-001a4a000635
        health: HEALTH_WARN
                1 stray daemon(s) not managed by cephadm
                1/3 mons down, quorum host03,host02
                too many PGs per OSD (261 > max 250)
    
      services:
        mon:     3 daemons, quorum host03,host02 (age 3d), out of quorum: host01
        mgr:     host01.hdhzwn(active, since 9d), standbys: host05.eobuuv, host06.wquwpj
        osd:     12 osds: 11 up (since 2w), 11 in (since 5w)
        rgw:     2 daemons active (test_realm.test_zone.host04.hgbvnq, test_realm.test_zone.host05.yqqilm)
        rgw-nfs: 1 daemon active (nfs.foo.host06-rgw)
    
      data:
        pools:   8 pools, 960 pgs
        objects: 414 objects, 1.0 MiB
        usage:   5.7 GiB used, 214 GiB / 220 GiB avail
        pgs:     960 active+clean
    
      io:
        client:   41 KiB/s rd, 0 B/s wr, 41 op/s rd, 27 op/s wr
    
    ceph> health
    HEALTH_WARN 1 stray daemon(s) not managed by cephadm; 1/3 mons down, quorum host03,host02; too many PGs per OSD (261 > max 250)
    
    ceph> mon stat
    e3: 3 mons at {host01=[v2:10.74.255.0:3300/0,v1:10.74.255.0:6789/0],host02=[v2:10.74.249.253:3300/0,v1:10.74.249.253:6789/0],host03=[v2:10.74.251.164:3300/0,v1:10.74.251.164:6789/0]}, election epoch 6688, leader 1 host03, quorum 1,2 host03,host02

3.2.9. Ceph Monitor 상태 확인

스토리지 클러스터에 프로덕션 Red Hat Ceph Storage 클러스터에 대한 요구 사항인 여러 Ceph Monitor가 있는 경우 스토리지 클러스터를 시작한 후 Ceph Monitor 쿼럼 상태를 확인하고 데이터를 읽거나 쓰기 전에 Ceph Monitor 쿼럼 상태를 확인할 수 있습니다.

여러 Ceph 모니터가 실행 중인 경우 쿼럼이 있어야 합니다.

Ceph Monitor 상태를 주기적으로 확인하여 실행 중인지 확인합니다. Ceph Monitor에 문제가 있는 경우 이는 스토리지 클러스터 상태에 대한 계약을 방지하기 때문에 Ceph 클라이언트가 데이터를 읽고 쓰는 것을 방지할 수 있습니다.

사전 요구 사항

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

절차

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

    예제

    [root@host01 ~]# cephadm shell

  2. Ceph 모니터 맵을 표시하려면 다음을 실행합니다.

    예제

    [ceph: root@host01 /]# ceph mon stat

    또는

    예제

    [ceph: root@host01 /]# ceph mon dump

  3. 스토리지 클러스터의 쿼럼 상태를 확인하려면 다음을 실행합니다.

    [ceph: root@host01 /]# ceph quorum_status -f json-pretty

    Ceph에서 쿼럼 상태를 반환합니다.

    예제

    {
        "election_epoch": 6686,
        "quorum": [
            0,
            1,
            2
        ],
        "quorum_names": [
            "host01",
            "host03",
            "host02"
        ],
        "quorum_leader_name": "host01",
        "quorum_age": 424884,
        "features": {
            "quorum_con": "4540138297136906239",
            "quorum_mon": [
                "kraken",
                "luminous",
                "mimic",
                "osdmap-prune",
                "nautilus",
                "octopus",
                "pacific",
                "elector-pinging"
            ]
        },
        "monmap": {
            "epoch": 3,
            "fsid": "499829b4-832f-11eb-8d6d-001a4a000635",
            "modified": "2021-03-15T04:51:38.621737Z",
            "created": "2021-03-12T12:35:16.911339Z",
            "min_mon_release": 16,
            "min_mon_release_name": "pacific",
            "election_strategy": 1,
            "disallowed_leaders: ": "",
            "stretch_mode": false,
            "features": {
                "persistent": [
                    "kraken",
                    "luminous",
                    "mimic",
                    "osdmap-prune",
                    "nautilus",
                    "octopus",
                    "pacific",
                    "elector-pinging"
                ],
                "optional": []
            },
            "mons": [
                {
                    "rank": 0,
                    "name": "host01",
                    "public_addrs": {
                        "addrvec": [
                            {
                                "type": "v2",
                                "addr": "10.74.255.0:3300",
                                "nonce": 0
                            },
                            {
                                "type": "v1",
                                "addr": "10.74.255.0:6789",
                                "nonce": 0
                            }
                        ]
                    },
                    "addr": "10.74.255.0:6789/0",
                    "public_addr": "10.74.255.0:6789/0",
                    "priority": 0,
                    "weight": 0,
                    "crush_location": "{}"
                },
                {
                    "rank": 1,
                    "name": "host03",
                    "public_addrs": {
                        "addrvec": [
                            {
                                "type": "v2",
                                "addr": "10.74.251.164:3300",
                                "nonce": 0
                            },
                            {
                                "type": "v1",
                                "addr": "10.74.251.164:6789",
                                "nonce": 0
                            }
                        ]
                    },
                    "addr": "10.74.251.164:6789/0",
                    "public_addr": "10.74.251.164:6789/0",
                    "priority": 0,
                    "weight": 0,
                    "crush_location": "{}"
                },
                {
                    "rank": 2,
                    "name": "host02",
                    "public_addrs": {
                        "addrvec": [
                            {
                                "type": "v2",
                                "addr": "10.74.249.253:3300",
                                "nonce": 0
                            },
                            {
                                "type": "v1",
                                "addr": "10.74.249.253:6789",
                                "nonce": 0
                            }
                        ]
                    },
                    "addr": "10.74.249.253:6789/0",
                    "public_addr": "10.74.249.253:6789/0",
                    "priority": 0,
                    "weight": 0,
                    "crush_location": "{}"
                }
            ]
        }
    }

3.2.10. Ceph 관리 소켓 사용

UNIX 소켓 파일을 사용하여 제공된 데몬과 직접 상호 작용하려면 관리 소켓을 사용합니다. 예를 들어 소켓은 다음을 수행할 수 있습니다.

  • 런타임 시 Ceph 구성 나열
  • 모니터에 의존하지 않고 런타임 시 구성 값을 직접 설정합니다. 이는 모니터가 다운 될 때 유용합니다.
  • 기록 작업 덤프
  • 작업 우선 순위 큐 상태 덤프
  • 재부팅하지 않고 작업 덤프
  • 성능 카운터 덤프

또한 소켓을 사용하면 Ceph 모니터 또는 OSD와 관련된 문제를 해결할 때 유용합니다.

데몬이 실행 중이 아닌 경우 관리 소켓을 사용하려고 할 때 다음 오류가 반환됩니다.

Error 111: Connection Refused
중요

관리 소켓은 데몬이 실행되는 동안에만 사용할 수 있습니다. 데몬을 올바르게 종료하면 관리 소켓이 제거됩니다. 그러나 데몬이 예기치 않게 종료되면 관리 소켓이 유지될 수 있습니다.

사전 요구 사항

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

절차

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

    예제

    [root@host01 ~]# cephadm shell

  2. 소켓을 사용하려면 다음을 수행합니다.

    구문

    ceph daemon MONITOR_ID COMMAND

    replace:

    • 데몬의 MONITOR_ID
    • 실행할 명령과 함께 COMMAND 입니다. 도움말 을 사용하여 지정된 데몬에 사용 가능한 명령을 나열합니다.

      Ceph 모니터의 상태를 보려면 다음을 수행합니다.

      예제

      [ceph: root@host01 /]# ceph daemon mon.host01 help
      {
          "add_bootstrap_peer_hint": "add peer address as potential bootstrap peer for cluster bringup",
          "add_bootstrap_peer_hintv": "add peer address vector as potential bootstrap peer for cluster bringup",
          "compact": "cause compaction of monitor's leveldb/rocksdb storage",
          "config diff": "dump diff of current config and default config",
          "config diff get": "dump diff get <field>: dump diff of current and default config setting <field>",
          "config get": "config get <field>: get the config value",
          "config help": "get config setting schema and descriptions",
          "config set": "config set <field> <val> [<val> ...]: set a config variable",
          "config show": "dump current config settings",
          "config unset": "config unset <field>: unset a config variable",
          "connection scores dump": "show the scores used in connectivity-based elections",
          "connection scores reset": "reset the scores used in connectivity-based elections",
          "dump_historic_ops": "dump_historic_ops",
          "dump_mempools": "get mempool stats",
          "get_command_descriptions": "list available commands",
          "git_version": "get git sha1",
          "heap": "show heap usage info (available only if compiled with tcmalloc)",
          "help": "list available commands",
          "injectargs": "inject configuration arguments into running daemon",
          "log dump": "dump recent log entries to log file",
          "log flush": "flush log entries to log file",
          "log reopen": "reopen log file",
          "mon_status": "report status of monitors",
          "ops": "show the ops currently in flight",
          "perf dump": "dump perfcounters value",
          "perf histogram dump": "dump perf histogram values",
          "perf histogram schema": "dump perf histogram schema",
          "perf reset": "perf reset <name>: perf reset all or one perfcounter name",
          "perf schema": "dump perfcounters schema",
          "quorum enter": "force monitor back into quorum",
          "quorum exit": "force monitor out of the quorum",
          "sessions": "list existing sessions",
          "smart": "Query health metrics for underlying device",
          "sync_force": "force sync of and clear monitor store",
          "version": "get ceph version"
      }

      예제

      [ceph: root@host01 /]# ceph daemon mon.host01 mon_status
      
      {
          "name": "host01",
          "rank": 0,
          "state": "leader",
          "election_epoch": 120,
          "quorum": [
              0,
              1,
              2
          ],
          "quorum_age": 206358,
          "features": {
              "required_con": "2449958747317026820",
              "required_mon": [
                  "kraken",
                  "luminous",
                  "mimic",
                  "osdmap-prune",
                  "nautilus",
                  "octopus",
                  "pacific",
                  "elector-pinging"
              ],
              "quorum_con": "4540138297136906239",
              "quorum_mon": [
                  "kraken",
                  "luminous",
                  "mimic",
                  "osdmap-prune",
                  "nautilus",
                  "octopus",
                  "pacific",
                  "elector-pinging"
              ]
          },
          "outside_quorum": [],
          "extra_probe_peers": [],
          "sync_provider": [],
          "monmap": {
              "epoch": 3,
              "fsid": "81a4597a-b711-11eb-8cb8-001a4a000740",
              "modified": "2021-05-18T05:50:17.782128Z",
              "created": "2021-05-17T13:13:13.383313Z",
              "min_mon_release": 16,
              "min_mon_release_name": "pacific",
              "election_strategy": 1,
              "disallowed_leaders: ": "",
              "stretch_mode": false,
              "features": {
                  "persistent": [
                      "kraken",
                      "luminous",
                      "mimic",
                      "osdmap-prune",
                      "nautilus",
                      "octopus",
                      "pacific",
                      "elector-pinging"
                  ],
                  "optional": []
              },
              "mons": [
                  {
                      "rank": 0,
                      "name": "host01",
                      "public_addrs": {
                          "addrvec": [
                              {
                                  "type": "v2",
                                  "addr": "10.74.249.41:3300",
                                  "nonce": 0
                              },
                              {
                                  "type": "v1",
                                  "addr": "10.74.249.41:6789",
                                  "nonce": 0
                              }
                          ]
                      },
                      "addr": "10.74.249.41:6789/0",
                      "public_addr": "10.74.249.41:6789/0",
                      "priority": 0,
                      "weight": 0,
                      "crush_location": "{}"
                  },
                  {
                      "rank": 1,
                      "name": "host02",
                      "public_addrs": {
                          "addrvec": [
                              {
                                  "type": "v2",
                                  "addr": "10.74.249.55:3300",
                                  "nonce": 0
                              },
                              {
                                  "type": "v1",
                                  "addr": "10.74.249.55:6789",
                                  "nonce": 0
                              }
                          ]
                      },
                      "addr": "10.74.249.55:6789/0",
                      "public_addr": "10.74.249.55:6789/0",
                      "priority": 0,
                      "weight": 0,
                      "crush_location": "{}"
                  },
                  {
                      "rank": 2,
                      "name": "host03",
                      "public_addrs": {
                          "addrvec": [
                              {
                                  "type": "v2",
                                  "addr": "10.74.249.49:3300",
                                  "nonce": 0
                              },
                              {
                                  "type": "v1",
                                  "addr": "10.74.249.49:6789",
                                  "nonce": 0
                              }
                          ]
                      },
                      "addr": "10.74.249.49:6789/0",
                      "public_addr": "10.74.249.49:6789/0",
                      "priority": 0,
                      "weight": 0,
                      "crush_location": "{}"
                  }
              ]
          },
          "feature_map": {
              "mon": [
                  {
                      "features": "0x3f01cfb9fffdffff",
                      "release": "luminous",
                      "num": 1
                  }
              ],
              "osd": [
                  {
                      "features": "0x3f01cfb9fffdffff",
                      "release": "luminous",
                      "num": 3
                  }
              ]
          },
          "stretch_mode": false
      }

  3. 또는 소켓 파일을 사용하여 Ceph 데몬을 지정합니다.

    구문

    ceph daemon /var/run/ceph/SOCKET_FILE COMMAND

  4. osd.2 라는 Ceph OSD의 상태를 보려면 다음을 수행합니다.

    예제

    [ceph: root@host01 /]# ceph daemon /var/run/ceph/ceph-osd.2.asok status

  5. Ceph 프로세스의 모든 소켓 파일을 나열하려면 다음을 수행합니다.

    예제

    [ceph: root@host01 /]# ls /var/run/ceph

추가 리소스

3.2.11. Ceph OSD 상태 이해

Ceph OSD의 상태는 스토리지 클러스터 또는 스토리지 클러스터 외부에 있습니다. 실행 중이거나 실행 중이거나 실행 중이지 않습니다. Ceph OSD가 가동 중인 경우 스토리지 클러스터에서 데이터를 읽고 쓸 수 있거나 스토리지 클러스터가 부족 해질 수 있습니다. 스토리지 클러스터에 있고 최근에 스토리지 클러스터에서 나가면 Ceph 에서 다른 Ceph OSD로 배치 그룹을 마이그레이션하기 시작합니다. Ceph OSD가 스토리지 클러스터 아닌 경우 CRUSH는 Ceph OSD에 배치 그룹을 할당하지 않습니다. Ceph OSD가 다운 된 경우 이기도 합니다.

참고

Ceph OSD가 다운 되어 있는 경우 문제가 있으며 스토리지 클러스터는 정상 상태가 아닙니다.

OSD States

ceph 상태,ceph -s 또는 ceph -w 와 같은 명령을 실행하는 경우 스토리지 클러스터가 항상 HEALTH OK 를 에코하지 않을 수 있습니다. 패닉을 일으키지 마십시오. Ceph OSD와 관련하여 몇 가지 예상되는 상황에서 스토리지 클러스터가 HEALTH OK 를 에코 하지 않을 것으로 예상할 수 있습니다.

  • 스토리지 클러스터를 아직 시작하지 않았으며 응답하지 않습니다.
  • 스토리지 클러스터를 시작하거나 다시 시작했으며 배치 그룹이 생성되고 Ceph OSD가 피어링 프로세스에 있기 때문에 아직 준비되지 않았습니다.
  • Ceph OSD를 방금 추가하거나 제거했습니다.
  • 스토리지 클러스터 맵을 방금 수정했습니다.

Ceph OSD를 모니터링하는 중요한 측면은 스토리지 클러스터가 스토리지 클러스터에 있는 모든 Ceph OSD를 가동 및 실행하는 경우에도 실행 중인지 확인하는 것입니다.

모든 OSD가 실행 중인지 확인하려면 다음을 실행합니다.

예제

[ceph: root@host01 /]# ceph osd stat

또는

예제

[ceph: root@host01 /]# ceph osd dump

그 결과 맵 epoch, eNNNN, 총 OSD 수, x, 몇 개, y, up, 개수, z 는 다음과 같습니다.

eNNNN: x osds: y up, z in

스토리지 클러스터에 있는 Ceph OSD의 수가 up 인 Ceph OSD 수보다 많은 경우. 다음 명령을 실행하여 실행 중이 아닌 ceph-osd 데몬을 확인합니다.

예제

[ceph: root@host01 /]# ceph osd tree

# id    weight  type name   up/down reweight
-1  3   pool default
-3  3       rack mainrack
-2  3           host osd-host
0   1               osd.0   up  1
1   1               osd.1   up  1
2   1               osd.2   up  1

작은 정보

잘 설계된 CRUSH 계층 구조를 통해 검색하는 기능은 물리적 위치를 더 빠르게 식별하여 스토리지 클러스터 문제를 해결하는 데 도움이 될 수 있습니다.

Ceph OSD가 다운되면 노드에 연결하여 노드를 시작합니다. Red Hat Storage Console을 사용하여 Ceph OSD 데몬을 다시 시작하거나 명령줄을 사용할 수 있습니다.

구문

systemctl start CEPH_OSD_SERVICE_ID

예제

[root@host01 ~]# systemctl start ceph-499829b4-832f-11eb-8d6d-001a4a000635@osd.6.service

추가 리소스

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.