검색

4.3. Ceph 파일 시스템

download PDF

사용자 공간 Ceph 파일 시스템(CephFS)은 업그레이드 후 예상대로 작동합니다.

이전에는 클러스터 업그레이드 중에 사용자 공간 CephFS 클라이언트가 충돌하는 경우가 있었습니다. 이는 사용자 공간 측에 보관된 MDS 측의 오래된 기능 비트로 인해 발생했습니다.

이번 수정을 통해 사용자 공간 CephFS 클라이언트에 클러스터 업그레이드 후 클라이언트가 예상대로 작동할 수 있는 MDS 기능 비트가 업데이트되었는지 확인합니다.

Bugzilla:2247174

큰 세션 메타데이터에 대한 블록 목록 및 클라이언트 제거

이전에는 MDS의 대규모 클라이언트 메타데이터 빌드로 인해 MDS가 읽기 전용 모드로 전환되는 경우가 있었습니다.

이번 수정을 통해 buildup을 유발하는 클라이언트가 차단되고 제거되어 MDS가 예상대로 작동할 수 있습니다.

Bugzilla:2238663

연결 해제 및 재통합 요청 간에 교착 상태가 발생하지 않음

이전 버전에서는 async dirop 버그를 수정할 때 이전 커밋에 의해 회귀 문제가 발생하여 unlink 및 reintegration 요청 간의 교착 상태가 발생했습니다.

이번 수정을 통해 이전 커밋이 복원되고 unlink 및 reintegration 요청 사이에 교착 상태가 없습니다.

Bugzilla:2228635

클라이언트는 항상 caps revocation acknowledgement를 MDS 데몬에 전송합니다.

이전 버전에서는 MDS 데몬이 CAPs revocation 요청을 클라이언트에 전송하고 이 시간 동안 클라이언트가 inode를 해제하고 inode를 제거한 경우 클라이언트에서 요청을 직접 삭제했지만 MDS 데몬은 클라이언트에서 caps revoking 승인을 기다려야 했습니다. 이로 인해 caps 취소가 필요하지 않은 경우에도 MDS 데몬이 클라이언트의 승인을 계속 대기하여 MDS Daemon 상태에 경고가 발생합니다.

이번 수정을 통해 클라이언트는 inode가 없고 MDS Daemon이 더 이상 유지되지 않는 경우에도 클라이언트는 항상 caps revocation acknowledgement를 MDS Daemon에 전송합니다.

Bugzilla:2228000

MDS 잠금은 올바른 순서로 가져옵니다.

이전에는 MDS에서 메타데이터 트리 잠금을 잘못된 순서로 취득하여 생성getattr RPC 요청 교착 상태에 도달했습니다.

이번 수정을 통해 MDS의 올바른 순서로 잠금을 얻을 수 있으며 요청이 더 이상 교착 상태가 되지 않습니다.

Bugzilla:2235338

CephFS MDS에서 split_realms 정보 전송 건너뛰기

이전에는 split_realms 정보가 CephFS MDS에서 잘못 전송되어 kclient 에서 올바르게 디코딩할 수 없었습니다. 이로 인해 클라이언트는 split_realms 에 대해 중요하지 않고 손상된 snaptrace로 처리합니다.

이번 수정으로 split_realmskclient 로 전송되지 않으며 충돌이 발생하지 않습니다.

Bugzilla:2228003

플래그 쓰기를 설정한 후 스냅샷 데이터가 더 이상 손실되지 않음

이전 버전에서는 클라이언트에서 Fb caps를 사용할 때 쓰기 플래그가 '1'로 설정된 경우 더티 용량의 경우 건너뛰고 기존 capsnap을 재사용했습니다. 이로 인해 연속 스냅샷을 덮어쓰고 데이터가 손실됩니다.

이번 수정으로 쓰기 플래그가 올바르게 설정되어 스냅샷 데이터가 손실되지 않습니다.

Bugzilla:2224241

스레드 이름 변경이 더 이상 실패하지 않음

이전에는 이름을 바꾸는 동안 몇 가지 드문 경우에서 다른 스레드가 dst dentry를 조회하려고 하면 일관되지 않은 결과를 얻을 수 있었습니다. 여기서 src dentry 및 dst dentry가 동일한 inode에 동시에 연결됩니다. 이로 인해 두 개의 다른 dentries가 동일한 inode에 연결되어 있기 때문에 이름 변경 요청이 실패합니다.

이번 수정으로 스레드는 이름 변경 작업이 완료될 때까지 대기하고 모든 것이 예상대로 작동합니다.

Bugzilla:2227987

취소 요청이 더 이상 중단되지 않음

이전 버전에서는 취소 요청이 전송되기 전에 'seq'를 늘리기 전에 클라이언트가 해당 제한을 해제하고 이전 seq 를 사용하여 cap update 요청을 보낸 경우 MDS에서 seq (s) 및 cap calculation을 확인하는 것을 누락했습니다. 이로 인해 취소 요청이 무한하게 중단되고 클라이언트에서 응답하지 않는 취소 요청에 대한 경고가 발생합니다.

이번 수정을 통해 취소 요청을 위해 승인이 항상 전송되고 더 이상 중단되지 않습니다.

Bugzilla:2227992

MDLog::_recovery_thread에서 오류가 정상적으로 처리됨

이전에는 Cryostat 테스트에서 발행하지 못하여 MDS가 이미 차단 목록에 있는 경우 쓰기가 실패했습니다. 예를 들어 Cryostat test_rebuild_moved_file (tasks/data-scan)은 이러한 이유로 실패합니다.

이번 수정을 통해 MDLog::_recovery_thread 에서 쓰기 오류가 정상적으로 처리됩니다.

Bugzilla:2228358

Ceph 클라이언트에서 알람을 보내기 전에 지연 발생 원인을 확인합니다.

이전에는 Ceph에서 지연 OSD에 대한 잘못된 경고 경고를 보내는 경우가 있었습니다. 예를 들어 지연 OSD로 인한 X 클라이언트 지연이 발생합니다. 이러한 경고는 지연이 실제로 OSD로 인해 발생했는지 확인하지 않고 다른 원인으로 인해 발생하지 않았습니다.

이번 수정을 통해 지연 OSD 메시지로 인한 X 클라이언트 지연은 일부 클라이언트와 OSD가 지연되는 경우에만 전송됩니다.

Bugzilla:2247187

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.