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


클러스터 상태 점검

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

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

데몬 보고 상태 점검

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

"Thimming…​에 유의하십시오.

코드: MDS_HEALTH_TRIM

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

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

Code: MDS_HEALTH_CLIENT_LATE_RELEASE, MDS_HEALTH_CLIENT_LATE_RELEASE_MANY

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

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

Code: MDS_HEALTH_CLIENT_RECALL, MDS_HEALTH_CLIENT_RECALL_MANY

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

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

Code: MDS_HEALTH_CLIENT_OLDEST_TID, MDS_HEALTH_CLIENT_OLDEST_TID_MANY

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

"metadata damage detected"

코드: MDS_HEALTH_DAMAGE

메타데이터 풀에서 읽을 때 손상되거나 누락된 메타데이터가 발생했습니다. 이 메시지는 MDS가 계속 작동할 수 있도록 손상이 충분히 분리되었음을 나타냅니다. 클라이언트가 손상된 하위 트리 반환 I/O 오류에 액세스하더라도 해당 손상이 계속 작동됨을 나타냅니다. 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가 매우 느리게 실행 중이거나 버그가 있음을 나타내는 하나 이상의 클라이언트 요청이 즉시 완료되지 않았습니다. controlPlane 관리 소켓 명령을 사용하여 미해결 메타데이터 작업을 나열합니다. 이 메시지는 모든 클라이언트 요청이 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은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.