4.4. Ceph 파일 시스템


스냅샷이 생성될 때 스냅샷 디렉토리에 대해 mtimechange_attr 이 업데이트됨

이전에는 libcephfs 클라이언트가 mtime 을 업데이트하지 않았으며 snaps를 생성하거나 삭제할 때 속성을 변경했습니다. 이로 인해 NFS 클라이언트에서 CephFS NFS-Ganesha 내보내기 내에 CephFS 스냅샷을 올바르게 나열할 수 없었습니다.

이번 수정을 통해 스냅샷이 생성, 삭제, 이름이 지정될 때 스냅샷 디렉터리 .snap 에 대해 mtimechange_attr 이 업데이트됩니다. 올바른 mtimechange_attr 을 사용하면 스냅샷 목록이 오래된 스냅샷 항목을 반환하지 않습니다.

Bugzilla:1975689

CephFS-top -d [-delay] 옵션은 1에서 25 사이의 정수 값만 허용합니다.

이전에는 몇 가지 새로운 curses 방법을 추가하여 cephfs-top -d [--delay] 옵션이 제대로 작동하지 않았습니다. 새로운 curses 메서드는 도우미 함수에서 Single 값을 얻는 데 예외가 발생했기 때문에 정수 값만 허용합니다.

이번 수정으로 cephfs-top -d [--delay] 옵션은 1에서 25 사이의 정수 값만 허용하며 cephfs-top 유틸리티는 예상대로 작동합니다.

Bugzilla:2136031

연결 해제가 완료된 후에도 동일한 dentries를 생성해도 MDS 데몬이 충돌하지 않습니다.

이전에는 unlink와 작업 생성 사이에 racy 조건이 있었습니다. 이로 인해 이전 unlink 요청이 어떤 이유로 인해 지연되고 이 기간 동안 동일한 dentries를 생성하는 경우 MDS 데몬 또는 새 생성을 중단하면 실패하지만 기록된 콘텐츠가 손실됩니다.

이번 수정을 통해 사용자는 연결 해제가 완료될 때까지 기다린 후 동일한 dentries를 생성할 때 충돌이 발생하지 않도록 해야 합니다.

Bugzilla:2140784

ceph nfs 클러스터 info CLUSTER_ID명령을 실행할 때 기존 클러스터 가 더 이상 표시되지 않습니다.

이전 버전에서는 각각 virtual _ipbackend, null 및 empty와 같은 기존 클러스터의 정보가 표시된 ceph nfs 클러스터 info CLUSTER_ID 명령을 실행할 때 클러스터의 존재를 확인하지 않았습니다.

이번 수정을 통해 'ceph nfs cluster info CLUSTER_ID' 명령은 클러스터 존재를 확인하고 기존 클러스터가 쿼리되지 않는 경우 Error ENOENT: 클러스터가 존재하지 않습니다.

Bugzilla:2149415

snap-schedule 모듈이 더 이상 volumes 모듈을 잘못 참조하지 않음

이전 버전에서는 snap-schedule 모듈에서 하위 경로 가져오기를 시도할 때 volumes 모듈을 잘못 참조했습니다. volumes 모듈의 잘못된 이름과 원격 메서드 이름을 사용하므로 ImportError 역추적이 표시됩니다.

이번 수정을 통해 테스트되지 않은 잘못된 코드가 수정되었으며, snap-schedule CLI 인터페이스 메서드에서 메서드가 구현되고 올바르게 호출됩니다. 이제 snap-schedule 모듈에서 하위 볼륨 수준 일정을 추가하려고 할 때 하위 볼륨 경로를 올바르게 확인합니다.

Bugzilla:2153196

정수 오버플로 및 ops_in_flight 값 오버플로가 더 이상 발생하지 않음

이전 버전에서는 _calculate_ops 가 구성 옵션 filer_max_purge_ops 를 사용하고 있었기도 할 수 있었습니다. 이로 인해 ops_in_flight 의 값이 uint64이상의 기능으로 설정된 경우 정수 오버플로가 있으며 ops_in_flightmax_purge_ops 보다 훨씬 크며 합리적인 값으로 돌아갈 수 없게 됩니다.

이번 수정을 통해 ops_in_flight 에서 filer_max_purge_ops 의 사용은 무시됩니다. Filer::_do_purge_range() 에서 이미 사용되므로 무시됩니다. 정수 오버플로 및 ops_in_flight 값 오버플로는 더 이상 발생하지 않습니다.

Bugzilla:2159307

잘못된 OSD 요청은 더 이상 RADOS에 제출되지 않음

이전 버전에서는 첫 번째 dentry에 충분한 메타데이터가 있고 크기가 max_write_size 보다 크면 잘못된 OSD 요청이 RADOS에 제출되었습니다. 이로 인해 RADOS가 잘못된 요청에 실패하여 CephFS가 읽기 전용입니다.

이번 수정을 통해 RADOS로 보내기 전에 모든 OSD 요청이 검증된 정보로 채워지고 유효하지 않은 OSD 요청으로 인해 CephFS가 읽기 전용입니다.

Bugzilla:2160598

MDS는 이제 모든 stray 디렉토리 항목을 처리합니다.

이전에는 MDS 스레이 디렉터리 처리 논리의 버그로 인해 MDS가 몇 개의 스트레이 디렉터리 항목을 처리하는 것을 건너뛰었습니다. 이로 인해 MDS에서 모든 stray 디렉터리 항목을 처리하지 않아 삭제된 파일이 공간을 확보하지 못했습니다.

이번 수정으로 스트레이 인덱스 포인터가 수정되어 MDS가 모든 스트레이 디렉터리를 처리하도록 합니다.

Bugzilla:2161479

Ceph 파일 시스템에 연결된 풀의 풀 수준 스냅이 비활성화됨

이전 버전에서는 풀 수준 스냅 샷 및 mon-managed snaps에 자체 snap ID 네임스페이스가 있었기 때문에 ID 간에 충돌이 발생하여 Ceph 모니터에서 풀 수준 스냅인지 또는 풀 관리 스냅인지 여부에 대한 스냅 샷을 고유하게 식별할 수 없었습니다. 이로 인해 풀 수준 스냅 세트 및 풀 관리 스냅 세트에 존재하는 ID를 참조할 때 잘못된 스냅이 삭제될 가능성이 있었습니다.

이번 수정을 통해 Ceph 파일 시스템에 연결된 풀의 풀 수준 스냅이 비활성화되어 풀 ID가 충돌하지 않습니다. 따라서 CephFS 스냅이 제거되면 의도하지 않은 데이터 손실이 발생하지 않습니다.

Bugzilla:2168541

MDS와 클라이언트 간에 클라이언트 요청이 더 이상 무기한 반송되지 않음

이전에는 CephFS 클라이언트와 MDS 간의 클라이언트 요청에 대한 Ceph 프로토콜이 일치하지 않았습니다. 이로 인해 CephFS 클라이언트와 MDS 간에 통신할 때 해당 정보가 잘리거나 손실되고 클라이언트 요청이 MDS와 클라이언트 간에 무기한 반송되었습니다.

이번 수정을 통해 클라이언트 요청에 대한 프로토콜의 해당 멤버 유형이 동일하게 설정되고 새 코드가 이전 Ceph와 호환되도록 되어 있습니다. 클라이언트 요청은 MDS와 클라이언트 간에 무기한 반환되지 않으며 제대로 다시 시도한 후 중지됩니다.

Bugzilla:2172791

메타데이터 손상을 감지하기 위해 Ceph Manager 데몬 서비스에 코드 어설션이 추가되었습니다.

이전에는 Postgres를 실행하는 워크로드 및 기타 관리자 데몬 서비스에 의해 스냅샷 관련 메타데이터 손상 유형이 도입되었습니다.

이번 수정을 통해 새 손상이 감지되면 트리거되는 관리자 데몬 서비스에 코드 어설션이 추가됩니다. 이렇게 하면 손상의 확산이 줄어들고 로그 수집을 통해 원인을 확인할 수 있습니다.

참고

클러스터가 Red Hat Ceph Storage 6.1으로 업그레이드된 후 데몬이 충돌하는 경우 분석 및 수정 조치를 위해 Red Hat 지원팀에 문의하십시오.

Bugzilla:2175307

sessionmap 버전 불일치 문제로 인해 MDS 데몬이 더 이상 충돌하지 않음

이전에는 MDS 페일오버가 발생했을 때 MDS sessionmap 저널 로그가 올바르게 유지되지 않았습니다. 이로 인해 새 MDS가 저널 로그를 재생하려고 하면 sessionmap 저널 로그가 MDCache의 정보 또는 다른 저널 로그의 정보와 일치하지 않아 MDS 데몬이 어설션을 트리거합니다.

이번 수정을 통해 MDS 데몬을 중단하지 않고 sessionmap 버전을 강제로 재생하면 sessionmap 버전 불일치 문제로 인해 MDS 데몬이 충돌하지 않습니다.

Bugzilla:2182564

cap revocation acknowledgement를 기다리는 동안 MDS가 더 이상 무기한 고정되지 않음

이전 버전에서는 __setattrx() 가 실패한 경우 _write()CEPH_CAP_FILE_WR caps 참조를 유지하며 MDS는 제한 취소를 기다리는 동안 무기한 중단되었습니다. 이로 인해 다른 고객의 요청이 무기한 중단될 수 있습니다.

이번 수정으로 __setattrx() 가 실패하고 MDS의 취소 요청이 중단되지 않으면 CEPH_CAP_FILE_WR caps 참조가 릴리스됩니다.

Bugzilla:2182613

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.