부록 A. Ceph 파일 시스템의 상태 메시지


클러스터 상태 점검

Ceph Monitor 데몬은 메타데이터 서버(MDS)의 특정 상태에 대한 응답으로 상태 메시지를 생성합니다. 다음은 상태 메시지 목록과 설명입니다.

MDS 순위 <ranks>에 실패했습니다.
하나 이상의 MDS 순위는 현재 MDS 데몬에 할당되지 않습니다. 적절한 교체 데몬이 시작될 때까지 스토리지 클러스터는 복구되지 않습니다.
MDS 순위 <ranks>가 손상되었습니다.
하나 이상의 MDS 순위는 저장된 메타데이터에 심각한 손상을 발생했으며 메타데이터가 복구될 때까지 다시 시작할 수 없습니다.
MDS 클러스터의 성능이 저하됨
하나 이상의 MDS 순위는 현재 실행 중이 아니므로 클라이언트가 이 상황이 해결될 때까지 메타데이터 I/O를 일시 중지할 수 있습니다. 여기에는 실패 또는 손상된 순위가 포함되며 MDS에서 실행 중이지만 아직 활성 상태에 있지 않은 순위는 재생 상태의 순위입니다.
MDS <names>는 지연입니다.
MDS 데몬은 mds_beacon_interval 옵션에 지정된 간격으로 모니터에 비컨 메시지를 전송해야 하며 기본값은 4초입니다. MDS 데몬이 mds_beacon_grace 옵션으로 지정한 시간 내에 메시지를 보내지 못하는 경우 기본값은 15초입니다. Ceph Monitor는 MDS 데몬을 지연으로 표시하고 사용 가능한 경우 대기 데몬으로 자동 대체합니다.

daemon-reported 상태 점검

MDS 데몬은 다양한 원하지 않는 조건을 식별하고 ceph status 명령의 출력에 반환할 수 있습니다. 이러한 조건에는 사람이 읽을 수 있는 메시지가 있으며 JSON 출력에 표시되는 MDS_HEALTH 를 시작하는 고유한 코드도 있습니다. 다음은 데몬 메시지, 코드 및 설명 목록입니다.

"behind on trimming…​"

코드: MDS_HEALTH_TRIM

CephFS는 로그 세그먼트로 분할되는 메타데이터 저널을 유지 관리합니다. 저널 길이( 세그먼트 수)는 mds_log_max_segments 설정에 의해 제어됩니다. 세그먼트 수가 해당 설정을 초과하면 MDS에서 가장 오래된 세그먼트를 제거(trim)할 수 있도록 백 메타데이터 쓰기를 시작합니다. 이 프로세스가 너무 느리거나 소프트웨어 버그가 트리밍을 방지하는 경우 이 상태 메시지가 표시됩니다. 이 메시지가 표시될 임계값은 세그먼트 수가 double mds_log_max_segments 인 경우입니다.

참고

트리밍 경고가 발생하면 mds_log_max_segments 를 늘리는 것이 좋습니다. 그러나 클러스터 상태가 복구되고 트리밍 경고가 더 이상 표시되지 않을 때 이 구성이 기본값으로 재설정되어야 합니다. MDS가 트리밍으로 catch할 수 있도록 mds_log_max_segments 를 256으로 설정하는 것이 좋습니다.

"client <name>이 기능 릴리스에 응답하지 않음

코드: MDS_HEALTH_CLIENT_LATE_RELEASE, MDS_HEALTH_CLIENT_LATE_RELEASE_MANY

CephFS 클라이언트는 MDS에서 제공하는 기능을 제공합니다. 기능은 잠금과 같이 작동합니다. 예를 들어 다른 클라이언트가 액세스해야 하는 경우 MDS는 클라이언트가 기능을 해제하도록 요청합니다. 클라이언트가 응답하지 않는 경우 즉시 수행하지 못하거나 전혀 수행하지 못할 수 있습니다. 이 메시지는 클라이언트가 mds_revoke_cap_timeout 옵션에 지정된 시간보다 준수하는 데 시간이 오래 걸리는 경우 표시됩니다(기본값은 60초).

"client <name>이 캐시 부족에 응답하지 않음

코드: MDS_HEALTH_CLIENT_RECALL, MDS_HEALTH_CLIENT_RECALL_MANY

클라이언트는 메타데이터 캐시를 유지합니다. 클라이언트 캐시의 inode와 같은 항목도 MDS 캐시에 고정됩니다. MDS에서 캐시를 축소하여 자체 캐시 크기 제한 내에서 유지해야 하는 경우 MDS는 클라이언트에 메시지를 보내 캐시를 축소합니다. 클라이언트가 응답하지 않는 경우 MDS가 캐시 크기 내에 제대로 유지되지 않도록 할 수 있으며 MDS는 결국 메모리가 부족하여 예기치 않게 종료될 수 있습니다. 이 메시지는 클라이언트가 mds_recall_state_timeout 옵션에 지정된 시간보다 준수하는 데 더 많은 시간이 걸리는 경우 표시됩니다(기본값은 60초). 자세한 내용은 Metadata Server 캐시 크기 제한 섹션을 참조하십시오.

"클라이언트 이름이 가장 오래된 클라이언트/플루시 tid를 발전하지 못했습니다."

코드: MDS_HEALTH_CLIENT_OLDEST_TID, MDS_HEALTH_CLIENT_OLDEST_TID_MANY

클라이언트와 MDS 서버 간의 통신에 필요한 CephFS 프로토콜은 가장 오래된 tid 라는 필드를 사용하여 MDS에서 MDS가 잊어 버릴 수 있도록 클라이언트 요청이 완전히 완료된지 MDS에 알립니다. 응답하지 않는 클라이언트가 이 필드를 진행하지 못하면 MDS에서 클라이언트 요청에서 사용하는 리소스를 올바르게 정리하지 못할 수 있습니다. 이 메시지는 클라이언트가 MDS 측에서 완료되었지만 클라이언트의 가장 오래된 tid 값을 아직 고려하지 않은 max_completed_requests 옵션에 지정된 수보다 많은 요청이 있는 경우 표시됩니다.

"메타데이터 손상이 감지됨"

코드: MDS_HEALTH_DAMAGE

메타데이터 풀에서 읽을 때 손상되거나 누락된 메타데이터가 발생했습니다. 이 메시지는 손상된 하위 트리에 대한 클라이언트 액세스에서 I/O 오류를 반환하더라도 MDS가 계속 작동하도록 손상이 충분히 격리되었음을 나타냅니다. damage ls administration socket 명령을 사용하여 손상에 대한 세부 정보를 확인합니다. 이 메시지는 손상이 발생하는 즉시 표시됩니다.

"MDS in read-only mode"

코드: MDS_HEALTH_READ_ONLY

MDS가 읽기 전용 모드로 입력되었으며 모든 메타데이터를 수정하려는 클라이언트 작업으로 EROFS 오류 코드를 반환합니다. MDS는 읽기 전용 모드로 전환됩니다.

  • 메타데이터 풀에 쓰는 동안 쓰기 오류가 발생하면 다음을 수행합니다.
  • 관리자가 force_readonly 관리 소켓 명령을 사용하여 MDS가 읽기 전용 모드로 전환하도록 강제 적용하는 경우.
"<N> 느린 요청이 차단되었습니다.

코드: MDS_HEALTH_SLOW_REQUEST

MDS가 매우 느리게 실행 중이거나 버그가 있음을 나타내는 하나 이상의 클라이언트 요청이 즉시 완료되지 않았습니다. ops 관리 소켓 명령을 사용하여 미해결 메타데이터 작업을 나열합니다. 이 메시지는 클라이언트 요청이 mds_op_complaint_time 옵션에서 지정한 값보다 더 많은 시간을 소요한 경우 표시됩니다(기본값은 30초).

" cache에 너무 많은 inode가 있음"
코드: MDS_HEALTH_CACHE_OVERSIZED

MDS에서 관리자가 설정한 제한을 준수하기 위해 캐시를 트리밍하지 못했습니다. MDS 캐시가 너무 크면 데몬에서 사용 가능한 메모리가 소진되어 예기치 않게 종료될 수 있습니다. 기본적으로 MDS 캐시 크기가 제한보다 50% 큰 경우 이 메시지가 표시됩니다.

추가 리소스

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat