3장. Ceph 스토리지 클러스터 모니터링
스토리지 관리자는 Red Hat Ceph Storage 클러스터의 전반적인 상태를 모니터링하고 Ceph의 개별 구성 요소의 상태를 모니터링할 수 있습니다.
실행 중인 Red Hat Ceph Storage 클러스터가 있으면 스토리지 클러스터 모니터링을 시작하여 상위 수준에서 Ceph Monitor 및 Ceph OSD 데몬이 실행 중인지 확인할 수 있습니다. Ceph 스토리지 클러스터 클라이언트는 Ceph Monitor에 연결하고 최신 버전의 스토리지 클러스터 맵을 수신한 후 스토리지 클러스터 내의 Ceph 풀에 데이터를 읽고 쓸 수 있습니다. 따라서 Ceph 클라이언트가 데이터를 읽고 쓸 수 있으려면 모니터 클러스터가 클러스터 상태에 동의해야 합니다.
Ceph OSD는 보조 OSD의 배치 그룹의 복사본을 사용하여 기본 OSD에서 배치 그룹을 피어링해야 합니다. 오류가 발생하면 피어링은 active + clean
상태가 아닌 다른 것을 반영합니다.
3.1. Ceph 스토리지 클러스터의 고급 모니터링 링크 복사링크가 클립보드에 복사되었습니다!
스토리지 관리자는 Ceph 데몬의 상태를 모니터링하여 실행 중인지 확인할 수 있습니다. 또한 높은 수준의 모니터링에는 스토리지 클러스터가 전체 비율
을 초과하지 않도록 스토리지 클러스터 용량을 확인하는 작업이 포함됩니다. Red Hat Ceph Storage 대시보드 는 고급 모니터링을 수행하는 가장 일반적인 방법입니다. 그러나 명령줄 인터페이스, Ceph 관리 소켓 또는 Ceph API를 사용하여 스토리지 클러스터를 모니터링할 수도 있습니다.
3.1.1. 스토리지 클러스터 상태 확인 링크 복사링크가 클립보드에 복사되었습니다!
Ceph 스토리지 클러스터를 시작한 후 데이터를 읽거나 쓰기 시작하기 전에 스토리지 클러스터의 상태를 먼저 확인합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 노드에 대한 루트 수준 액세스.
프로세스
Cephadm 쉘에 로그인합니다.
예제
root@host01 ~]# cephadm shell
root@host01 ~]# cephadm shell
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 사용하여 Ceph 스토리지 클러스터의 상태를 확인할 수 있습니다.
예제
[ceph: root@host01 /]# ceph health HEALTH_OK
[ceph: root@host01 /]# ceph health HEALTH_OK
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph status
명령을 실행하여 Ceph 스토리지 클러스터의 상태를 확인할 수 있습니다.예제
[ceph: root@host01 /]# ceph status
[ceph: root@host01 /]# ceph status
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력은 다음 정보를 제공합니다.
- 클러스터 ID
- 클러스터 상태
- 모니터 맵 epoch 및 모니터 쿼럼의 상태.
- OSD 맵 epoch 및 OSD의 상태.
- Ceph Manager의 상태입니다.
- 오브젝트 게이트웨이의 상태입니다.
- 배치 그룹 맵 버전입니다.
- 배치 그룹 및 풀 수입니다.
- 저장된 데이터의 양과 저장된 오브젝트 수입니다.
- 저장된 총 데이터 양입니다.
- IO 클라이언트 작업입니다.
클러스터가 업그레이드 중인 경우 업그레이드 프로세스에서 업데이트
Ceph 클러스터를 시작할 때
HEALTH_WARN XXX 번호 배치 그룹과 같은 상태 경고가 발생할 수 있습니다
. 잠시 기다렸다가 다시 확인하십시오. 스토리지 클러스터가 준비되면ceph 상태는
와 같은 메시지를 반환해야 합니다. 이 시점에서 클러스터 사용을 시작하는 것이 좋습니다.HEALTH
_OK
3.1.2. 스토리지 클러스터 이벤트 감시 링크 복사링크가 클립보드에 복사되었습니다!
명령줄 인터페이스를 사용하여 Ceph 스토리지 클러스터에서 발생하는 이벤트를 확인할 수 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 노드에 대한 루트 수준 액세스.
프로세스
Cephadm 쉘에 로그인합니다.
예제
root@host01 ~]# cephadm shell
root@host01 ~]# cephadm shell
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터의 진행 이벤트를 확인하려면 다음 명령을 실행합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.3. Ceph에서 데이터 사용량을 계산하는 방법 링크 복사링크가 클립보드에 복사되었습니다!
사용된 값은 사용된
실제 원시 스토리지 양을 반영합니다. xxx GB / xxx GB
값은 클러스터의 전체 스토리지 용량 중 두 숫자 중 더 적은 수의 사용 가능한 양을 나타냅니다. notional 수는 저장된 데이터를 복제, 복제 또는 스냅샷하기 전의 크기를 반영합니다. 따라서 Ceph는 데이터의 복제본을 만들고 복제 및 스냅샷에 스토리지 용량을 사용할 수도 있기 때문에 실제로 저장된 데이터 양은 일반적으로 저장된 개념을 초과합니다.
3.1.4. 스토리지 클러스터 사용 통계 이해 링크 복사링크가 클립보드에 복사되었습니다!
풀 간 클러스터의 데이터 사용량과 데이터 배포를 확인하려면 df
옵션을 사용합니다. Linux df
명령과 유사합니다.
ceph df
및 ceph status
명령 출력에서 SIZE
/AVAIL
/RAW USED
는 일부 OSD가 클러스터의 OUT
으로 표시된 경우 모든 OSD가 IN
인 경우와 다릅니다. SIZE
/AVAIL
/RAW USED
는 SIZE
(osd disk size), RAW USE
(total used space on disk) 및 IN
상태에 있는 모든 OSD의 AVAIL
에서 계산됩니다. ceph osd df tree
명령 출력의 모든 OSD에 대해 총 SIZE
/AVAIL
/RAW USED
를 확인할 수 있습니다.
예제
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
, 복제 및 스냅샷)에 따라 3MB 이상이 될 수 있습니다.
- POOL: 풀의 이름입니다.
- id: 풀 ID입니다.
- STORED: 사용자가 풀에 저장한 실제 데이터 양입니다. 이 값은 (k+M)/K 값에 따른 원시 사용 데이터, 오브젝트 복사본 수 및 풀 통계 계산 시 성능이 저하된 오브젝트 수에 따라 변경됩니다.
-
OBJECTS: 풀당 저장된 오브젝트의 개념적 수입니다.
STORED
크기 * 복제 요인입니다. - USED: 숫자가 메가바이트 또는 G 에 대해 M 을 추가하지 않는 한 킬로바이트 단위로 저장되는 개념의 데이터 양입니다.
- %USED: 풀당 사용된 스토리지의 개념 백분율입니다.
MAX AVAIL: 이 풀에 쓸 수 있는 데이터 개념의 추정치입니다. 첫 번째 OSD가 가득 차기 전에 사용할 수 있는 데이터의 양입니다. CRUSH 맵의 디스크에 대한 예상 데이터를 배포하고 첫 번째 OSD를 사용하여 대상으로 채웁니다.
위의 예에서
MAX AVAIL
은 복제 요소를 고려하지 않고 153.85MB이며 이는 기본적으로 3입니다.MAX AVAIL
값을 계산하는 간단한 복제 풀의 ceph dfMAX AVAIL is incorrect 라는 Red Hat 지식베이스 문서를 참조하십시오.- QUOTA OBJECTS: 할당량 오브젝트 수입니다.
- QUOTA BYTES: 할당량 오브젝트의 바이트 수입니다.
- USED COMPR: 압축된 데이터, 할당, 복제 및 삭제 코딩 오버헤드를 포함하여 압축 데이터에 할당된 공간의 양입니다.
- UNDER COMPR: 압축을 통해 전달되는 데이터의 양과 압축 형식으로 저장할 수 있을 만큼 유용합니다.UNDER COMPR: The amount of data passed through compression and beneficial enough to be stored in a compressed form.
POOLS 섹션의 숫자는 개념적입니다. 여기에는 복제본, 스냅샷 또는 복제본 수가 포함되지 않습니다. 결과적으로 USED 및 %USED 용량의 합계는 출력의 GLOBAL 섹션에 RAW USED 및 %RAW USED 용량에 추가되지 않습니다.
Max AVAIL 값은 사용된 복제 또는 삭제 코드의 복잡한 기능, 스토리지에 스토리지를 매핑하는 CRUSH 규칙, 해당 장치의 사용률 및 구성된 mon_osd_full_ratio
입니다.
3.1.5. OSD 사용량 통계 이해 링크 복사링크가 클립보드에 복사되었습니다!
ceph osd df
명령을 사용하여 OSD 사용률 통계를 확인합니다.
예제
- id: OSD의 이름입니다.
- CLASS: OSD에서 사용하는 장치의 유형입니다.
- WEIGHT: CRUSH 맵의 OSD 가중치입니다.
- REWEIGHT: 기본 reweight 값입니다.
- 크기: OSD의 전체 스토리지 용량입니다.
- USE: OSD 용량.
- DATA: 사용자 데이터에서 사용하는 OSD 용량의 양입니다.
-
OMAP: 오브젝트 맵(
omap
) 데이터를 저장하는 데 사용되는bluefs
스토리지의 추정 값입니다(Omap ) 데이터(rocksdb
에 저장된 키 값 쌍). -
META:
bluefs
에 할당된 bluefs 공간 또는bluestore_bluefs_min
매개변수에 설정된 값 중 더 큰 값은bluefs
에서 할당된 총 공간으로 계산된 내부 메타데이터의 경우 예상omap
데이터 크기를 뺀 값입니다. - AVAIL: OSD에서 사용 가능한 여유 공간의 양입니다.
- %USE: OSD에서 사용하는 스토리지의 개념 비율
- VAR: 평균 사용률 위 또는 그 이하의 변형입니다.
- PGS: OSD의 배치 그룹 수입니다.
- MIN/MAX VAR: 모든 OSD의 최소 및 최대 변형입니다.
3.1.6. 스토리지 클러스터 상태 확인 링크 복사링크가 클립보드에 복사되었습니다!
명령줄 인터페이스에서 Red Hat Ceph Storage 클러스터의 상태를 확인할 수 있습니다. status
하위 명령 또는 -s
인수는 스토리지 클러스터의 현재 상태를 표시합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 노드에 대한 루트 수준 액세스.
프로세스
Cephadm 쉘에 로그인합니다.
예제
cephadm shell
[root@host01 ~]# cephadm shell
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 스토리지 클러스터의 상태를 확인하려면 다음을 실행합니다.
예제
[ceph: root@host01 /]# ceph status
[ceph: root@host01 /]# ceph status
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 또는
예제
[ceph: root@host01 /]# ceph -s
[ceph: root@host01 /]# ceph -s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 대화형 모드에서
ceph
를 입력하고 Enter:을 누릅니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.7. Ceph Monitor 상태 확인 링크 복사링크가 클립보드에 복사되었습니다!
스토리지 클러스터에 프로덕션 Red Hat Ceph Storage 클러스터에 필요한 Ceph Monitor가 여러 개 있는 경우 스토리지 클러스터를 시작한 후 Ceph Monitor 쿼럼 상태를 확인하고 데이터를 읽거나 쓰기 전에 Ceph Monitor 쿼럼 상태를 확인할 수 있습니다.
여러 Ceph 모니터가 실행 중인 경우 쿼럼이 있어야 합니다.
Ceph Monitor 상태를 주기적으로 확인하여 실행 중인지 확인합니다. Ceph Monitor에 스토리지 클러스터 상태에 대한 계약을 방지하는 문제가 있는 경우 Ceph 클라이언트가 데이터를 읽고 쓰는 것을 방지할 수 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 노드에 대한 루트 수준 액세스.
프로세스
Cephadm 쉘에 로그인합니다.
예제
cephadm shell
[root@host01 ~]# cephadm shell
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph Monitor 맵을 표시하려면 다음을 실행합니다.
예제
[ceph: root@host01 /]# ceph mon stat
[ceph: root@host01 /]# ceph mon stat
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 또는
예제
[ceph: root@host01 /]# ceph mon dump
[ceph: root@host01 /]# ceph mon dump
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 스토리지 클러스터의 쿼럼 상태를 확인하려면 다음을 실행합니다.
[ceph: root@host01 /]# ceph quorum_status -f json-pretty
[ceph: root@host01 /]# ceph quorum_status -f json-pretty
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph는 쿼럼 상태를 반환합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.8. Ceph 관리 소켓 사용 링크 복사링크가 클립보드에 복사되었습니다!
UNIX 소켓 파일을 사용하여 직접 지정된 데몬과 상호 작용하려면 관리 소켓을 사용합니다. 예를 들어 소켓을 사용하면 다음을 수행할 수 있습니다.
- 런타임 시 Ceph 구성 나열
-
모니터에 의존하지 않고 런타임에 구성 값을 직접 설정합니다. 이 기능은 모니터가
다운
되었을 때 유용합니다. - 기록 작업 덤프
- 작업 우선 순위 큐 상태 덤프
- 재부팅하지 않은 덤프 작업
- 성능 카운터 덤프
또한 소켓을 사용하면 Ceph 모니터 또는 OSD와 관련된 문제를 해결할 때 유용합니다.
데몬이 실행되고 있지 않은 경우 관리 소켓을 사용하려고 할 때 다음 오류가 반환됩니다.
Error 111: Connection Refused
Error 111: Connection Refused
관리 소켓은 데몬이 실행되는 경우에만 사용할 수 있습니다. 데몬을 올바르게 종료하면 관리 소켓이 제거됩니다. 그러나 데몬이 예기치 않게 종료되면 관리 소켓이 지속될 수 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 노드에 대한 루트 수준 액세스.
프로세스
Cephadm 쉘에 로그인합니다.
예제
cephadm shell
[root@host01 ~]# cephadm shell
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 소켓을 사용하려면 다음을 수행합니다.
구문
ceph daemon MONITOR_ID COMMAND
ceph daemon MONITOR_ID COMMAND
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 교체:
-
데몬의
MONITOR_ID
실행할 명령을 사용합니다.
지정된 데몬에서 사용 가능한 명령을 나열하려면
help
를 사용합니다.Ceph 모니터의 상태를 보려면 다음을 수행합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
데몬의
또는 소켓 파일을 사용하여 Ceph 데몬을 지정합니다.
구문
ceph daemon /var/run/ceph/SOCKET_FILE COMMAND
ceph daemon /var/run/ceph/SOCKET_FILE COMMAND
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 특정 호스트에서
osd.0
이라는 Ceph OSD의 상태를 보려면 다음을 수행합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고특정 데몬에 사용할 수 있는 다양한 옵션의
상태
대신help
를 사용할 수 있습니다.Ceph 프로세스의 모든 소켓 파일을 나열하려면 다음을 수행합니다.
예제
[ceph: root@host01 /]# ls /var/run/ceph
[ceph: root@host01 /]# ls /var/run/ceph
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.9. Ceph OSD 상태 이해 링크 복사링크가 클립보드에 복사되었습니다!
Ceph OSD의 상태는 스토리지 클러스터 또는 스토리지 클러스터 외부에
있습니다.
가동
및 실행 중이거나 실행 중이고 실행되지 않습니다. Ceph OSD가
가동
되면 스토리지 클러스터에서 데이터를 읽고 쓸 수 있거나 스토리지 클러스터가 부족할
수 있습니다. 스토리지 클러스터에 있고 최근 스토리지 클러스터
외부에서
이동한 경우 Ceph는 배치 그룹을 다른 Ceph OSD로 마이그레이션하기 시작합니다. Ceph OSD가 스토리지 클러스터
가
없는 경우 CRUSH는 Ceph OSD에 배치 그룹을 할당하지 않습니다. Ceph OSD가 다운
된 경우 에서도 제외
되어야 합니다.
Ceph OSD가 다운
되어 있는
경우 문제가 발생하여 스토리지 클러스터가 정상 상태가 아닙니다.
ceph health
,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 stat
또는
예제
[ceph: root@host01 /]# ceph osd dump
[ceph: root@host01 /]# ceph osd dump
결과에 따라 맵 epoch, eNNNN
, 총 OSD 수, x
, 최대
수, y
가 몇 개, z
가 몇 개인지 확인할 수 있습니다.
eNNNN: x osds: y up, z in
eNNNN: x osds: y up, z in
스토리지 클러스터에 있는
Ceph OSD의 수가 Ceph OSD 수보다 많은 경우 . 다음 명령을 실행하여 실행 중이 아닌
ceph-osd
데몬을 식별합니다.
예제
잘 설계된 CRUSH 계층 구조를 통해 검색하는 기능은 물리적 위치를 더 빨리 식별하여 스토리지 클러스터의 문제를 해결하는 데 도움이 될 수 있습니다.
Ceph OSD가 다운
된 경우 노드에 연결하여 시작합니다. Red Hat Storage Console을 사용하여 Ceph OSD 데몬을 다시 시작하거나 명령줄을 사용할 수 있습니다.
구문
systemctl start CEPH_OSD_SERVICE_ID
systemctl start CEPH_OSD_SERVICE_ID
예제
systemctl start ceph-499829b4-832f-11eb-8d6d-001a4a000635@osd.6.service
[root@host01 ~]# systemctl start ceph-499829b4-832f-11eb-8d6d-001a4a000635@osd.6.service