3장. Ceph 스토리지 클러스터 모니터링
스토리지 관리자는 Ceph의 개별 구성 요소 상태를 모니터링하고 함께 Red Hat Ceph Storage 클러스터의 전반적인 상태를 모니터링할 수 있습니다.
Red Hat Ceph Storage 클러스터가 실행 중이면 스토리지 클러스터 모니터링을 시작하여 Ceph Monitor 및 Ceph OSD 데몬이 높은 수준에서 실행 중인지 확인할 수 있습니다. Ceph 스토리지 클러스터 클라이언트는 Ceph Monitor에 연결하고 최신 버전의 스토리지 클러스터 맵을 수신하므로 스토리지 클러스터 내 Ceph 풀에 데이터를 읽고 쓸 수 있습니다. 따라서 모니터 클러스터는 Ceph 클라이언트가 데이터를 읽고 쓸 수 있기 전에 클러스터 상태에 대해 동의해야 합니다.
Ceph OSD는 보조 OSD에서 배치 그룹 사본과 기본 OSD의 배치 그룹을 피어링해야 합니다. 오류가 발생하면 피어링은 활성 + 클린 상태가 아닌 다른 것을
반영합니다.
3.1. Ceph 스토리지 클러스터의 고급 모니터링 링크 복사링크가 클립보드에 복사되었습니다!
스토리지 관리자는 Ceph 데몬의 상태를 모니터링하여 실행 중인지 확인할 수 있습니다. 또한 높은 수준의 모니터링에는 스토리지 클러스터 용량을 확인하여 스토리지 클러스터가 전체 비율
을 초과하지 않도록 해야 합니다. Red Hat Ceph Storage 대시보드 는 고급 모니터링을 수행하는 가장 일반적인 방법입니다. 그러나 명령줄 인터페이스, Ceph admin 소켓 또는 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 및 monitor 쿼럼의 상태입니다.
- OSD는 epoch 및 OSD 상태를 매핑합니다.
- Ceph Manager의 상태입니다.
- 오브젝트 게이트웨이의 상태입니다.
- 배치 그룹 맵 버전입니다.
- 배치 그룹 및 풀 수입니다.
- 저장된 데이터의 양과 저장된 오브젝트 수입니다.
- 저장된 총 데이터 양입니다.
- IO 클라이언트 작업입니다.
클러스터가 업그레이드 중인 경우 업그레이드 프로세스에서 업데이트
Ceph 클러스터를 시작하면 HEALT
H_WARN XXX num 배치 그룹 오래된 상태 경고가 표시될 수 있습니다
. 잠시 기다렸다가 다시 확인하십시오. 스토리지 클러스터가 준비되면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에서 데이터 사용량 계산 방법 링크 복사링크가 클립보드에 복사되었습니다!
사용된 값은 사용된
실제 원시 스토리지의 양을 반영합니다. xxxGB / xxx GB
값은 클러스터의 전체 스토리지 용량의 두 숫자의 사용 가능한 크기를 의미합니다. 개념 번호는 저장된 데이터의 크기를 복제, 복제 또는 스냅샷하기 전에 반영합니다. 따라서 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이지만 실제 사용량은 복제본 수에 따라 3MB 이상(예: size = 3
, clones, snapshots)일 수 있습니다.
- POOL: 풀의 이름입니다.
- ID: 풀 ID입니다.
- STORED: 사용자가 풀에 저장된 실제 데이터 양입니다. 이 값은 (k+M)/K 값에 따른 원시 사용 데이터, 오브젝트 복사본 수 및 풀 통계 계산 시 성능이 저하된 오브젝트 수에 따라 변경됩니다.
-
OBJECTS: 풀당 저장된 오브젝트 수입니다.
STORED
크기 * 복제 요소입니다. - USED: 킬로바이트 단위의 경우 숫자에 M (MB)을 추가하지 않는 한 킬로바이트 단위로 저장된 데이터의 양입니다.
- %USED: 풀당 사용된 스토리지의 주요 비율입니다.
max AVAIL: 이 풀에 쓸 수 있는 개념적 데이터의 양을 추정합니다. 첫 번째 OSD가 가득 차기 전에 사용할 수 있는 데이터 양입니다. CRUSH 맵의 디스크 간에 데이터를 예상하고 첫 번째 OSD를 사용하여 대상으로 채웁니다.
위의 예에서
MAX AVAIL
은 복제 요소를 고려하지 않고 153.85MB이며 기본적으로 3개입니다.MAX AVAIL
의 값을 계산하는 간단한 복제 풀의 경우 ceph df MAX AVAIL이라는 Red Hat Knowledgebase 문서를 참조하십시오.- QUOTA OBJECTS: 할당량 오브젝트 수입니다.
- QUOTA BYTES: 할당량 오브젝트의 바이트 수입니다.
- USED COMPR: 압축된 데이터, 할당, 복제 및 삭제 코딩 오버헤드를 포함하여 압축된 데이터에 할당된 공간의 양입니다.
- COMPR: 압축을 통해 전달된 데이터의 양과 압축 형식으로 저장할 수 있을 만큼 유용합니다.
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가 사용하는 장치 유형입니다.
- w EIGHT: CRUSH 맵에 있는 OSD의 가중치입니다.
- Re WEIGHT: 기본 가중치 값입니다.
- SIZE: OSD의 전체 스토리지 용량입니다.
- USE: OSD 용량입니다.
- DATA: 사용자 데이터에서 사용하는 OSD 용량의 양입니다.
-
OMAP: 오브젝트 맵(
omap
) 데이터(Rensdb
에 저장된 키 값)를 저장하는 데 사용되는bluefs
스토리지의 추정치 값입니다. -
META: 할당된
bluefs
공간 또는bluestore_bluefs_min
매개변수에 설정된 값이 더 큰 경우bluefs
에 할당된 총 공간으로 계산된 내부 메타데이터의 경우 예상오맵
데이터 크기를 뺀 값입니다. - AVAIL: OSD에서 사용 가능한 공간의 양입니다.
- %USE: OSD에서 사용하는 스토리지의 주요 비율
- VAR: 위 또는 평균 사용률 이하의 변형.
- PGS: OSD의 배치 그룹 수입니다.
- MIN/MAX VAR: 모든 OSD의 최소 및 최대 변형입니다.
3.1.6. 스토리지 클러스터 상태 확인 링크 복사링크가 클립보드에 복사되었습니다!
명령줄 인터페이스에서 Red Hat Ceph Storage 클러스터의 상태를 확인할 수 있습니다. status
sub 명령 또는 -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 모니터가 실행 중인 경우 쿼럼이 있어야 합니다.
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 모니터 맵을 표시하려면 다음을 실행합니다.
예제
[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
실행할 명령을 사용하여
COMMAND
. 지정된 데몬에 사용 가능한 명령을 나열하려면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 상태,
와 같은 명령을 실행하는 경우 스토리지 클러스터가 항상 ceph -s
또는 ceph
-wHEALTH 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
, 최대 OSD 수, y
, 최대
크기, z 의 수, 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