검색

1.4. Ceph File System의 제한 사항 및 POSIX 표준

download PDF

하나의 Red Hat Ceph Storage 클러스터에 여러 Ceph File Systems 생성은 기본적으로 비활성화되어 있습니다. 다음 오류 메시지와 함께 추가 Ceph File System을 생성하려고 하면 실패합니다.

Error EINVAL: Creation of multiple filesystems is disabled.
중요

기술적으로 가능하지만 Red Hat은 하나의 Red Hat Ceph Storage 클러스터에서 여러 Ceph 파일 시스템을 보유하는 것을 지원하지 않습니다. 이렇게 하면 MDS 또는 CephFS 클라이언트 노드가 예기치 않게 종료될 수 있습니다.

Ceph 파일 시스템은 다음과 같은 방법으로 엄격한 POSIX 의미와 차별화됩니다.

  • 클라이언트의 파일 쓰기 시도가 실패하면 쓰기 작업이 반드시 원자성이 아닙니다. 즉 클라이언트는 8MB 버퍼와 함께 O_SYNC 플래그를 사용하여 열린 파일에서 write() 시스템 호출을 호출할 수 있으며 예기치 않게 종료되고 쓰기 작업이 부분적으로만 적용될 수 있습니다. 거의 모든 파일 시스템, 심지어 로컬 파일 시스템도 이러한 동작을 갖습니다.
  • 쓰기 작업이 동시에 발생하는 경우 개체 경계를 초과하는 쓰기 작업이 반드시 atomic이 아닙니다. 예를 들어 작성자 A"aa|a" 와 writer B"bb|bb" 를 동시에 씁니다. 여기서 "| " 는 적절한 "aa| a" 또는 "bb|bb" 가 아닌 개체 경계입니다.
  • POSIX는 현재 디렉터리 오프셋을 가져와 다시 찾을 수 있는 telldir() 및 searchdir() 시스템 호출을 포함합니다. CephFS는 언제든지 디렉터리를 조각화할 수 있으므로 디렉터리의 안정적인 정수 오프셋을 반환하기 어렵습니다. 따라서 0이 아닌 오프셋에 대한 seekingdir() 시스템 호출을 호출하면 종종 작동할 수 있지만 그렇게 하는 것은 보장되지 않습니다. 0 을 오프셋하기 위해 seekingdir() 을 호출하면 항상 작동합니다. 이는 rewinddir() 시스템 호출과 동일합니다.
  • 스파스 파일은 stat() 시스템 호출의 st_blocks 필드에 잘못 전파됩니다. CephFS는 st_blocks 필드가 항상 블록 크기로 구분되어 있는 파일 크기의 몫으로 인해 할당되거나 작성된 파일의 일부를 명시적으로 추적하지 않습니다. 이 동작은 du 와 같은 유틸리티가 사용된 공간을 초과하게 합니다.
  • mmap() 시스템 호출이 여러 호스트의 메모리에 파일을 매핑하면 쓰기 작업이 다른 호스트의 캐시에 일관되게 전파되지 않습니다. 즉, 페이지가 호스트 A에 캐시된 다음 호스트 B에서 업데이트된 경우 호스트 A 페이지가 일관되게 무효화되지 않습니다.
  • CephFS 클라이언트에는 스냅샷 액세스, 생성, 삭제, 이름 변경에 사용되는 숨겨진 .snap 디렉터리가 있습니다. 이 디렉터리는 readdir() 시스템 호출에서 제외되지만, 동일한 이름의 파일 또는 디렉터리를 만들려고 하는 모든 프로세스는 오류를 반환합니다. 이 숨겨진 디렉터리의 이름은 마운트 시 -o snapdirname=.<new_name > 옵션을 사용하거나 client_snapdir 구성 옵션을 사용하여 변경할 수 있습니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.