검색

2.5. Ceph 입력/출력 작업

download PDF

Ceph 클라이언트는 Ceph 모니터에서 '클러스터 맵'을 검색하고 풀에 바인딩하고 풀에 있는 배치 그룹 내의 오브젝트에 I/O(입력/출력)를 수행합니다. 풀의 CRUSH 규칙 세트와 배치 그룹 수는 Ceph에서 데이터를 배치하는 주요 요인입니다. 최신 버전의 클러스터 맵을 통해 클라이언트는 클러스터의 모든 모니터와 OSD와 현재 상태를 알고 있습니다. 그러나 클라이언트는 개체 위치에 대해 아무것도 알 수 없습니다.

클라이언트에 필요한 유일한 입력은 오브젝트 ID와 풀 이름입니다. Ceph는 단순합니다. 즉, Ceph는 이름이 지정된 풀에 데이터를 저장합니다. 클라이언트가 풀에 이름이 지정된 개체를 저장하려는 경우 개체 이름, 해시 코드, 풀의 PG 수 및 풀 이름을 입력으로 사용하고 CRUSH(Controlled Replication Under Scalable Hashing)는 배치 그룹의 ID와 배치 그룹의 기본 OSD를 계산합니다.

Ceph 클라이언트는 다음 단계를 사용하여 PG ID를 계산합니다.

  1. 클라이언트는 풀 ID와 오브젝트 ID를 입력합니다. 예를 들어 pool = Bondpoolobject-id = john.
  2. CRUSH는 오브젝트 ID를 가져와서 해시를 수행합니다.
  3. CRUSH는 PG ID를 얻기 위해 PG 수의 해시 모드를 계산합니다. 예를 들면 58 입니다.
  4. CRUSH는 PG ID에 해당하는 기본 OSD를 계산합니다.
  5. 클라이언트는 풀 이름을 지정한 풀 ID를 가져옵니다. 예를 들어, 나침반 풀은 풀 번호 4 입니다.
  6. 클라이언트는 풀 ID를 PG ID 앞에 추가합니다. 예를 들면 4.58 입니다.
  7. 클라이언트는 Acting Set의 Primary OSD와 직접 통신하여 쓰기, 읽기 또는 삭제와 같은 오브젝트 작업을 수행합니다.

Ceph 스토리지 클러스터의 토폴로지 및 상태는 세션 중에 상대적으로 안정적입니다. librados 를 통해 개체 위치를 계산하도록 Ceph 클라이언트의 강화는 클라이언트가 각 읽기/쓰기 작업에 대한 채팅 세션을 통해 스토리지 클러스터에 쿼리해야 하는 것보다 훨씬 빠릅니다. CRUSH 알고리즘을 사용하면 클라이언트가 오브젝트를 저장해야 하는 위치를 계산하고 클라이언트가 동작 세트의 기본 OSD에 직접 연결하여 개체의 데이터를 직접 저장하거나 검색할 수 있습니다. 엑사바이트 규모의 클러스터에는 수천 개의 OSD가 있으므로 클라이언트와 Ceph OSD 간의 네트워크 초과 구독은 큰 문제가 아닙니다. 클러스터 상태가 변경되면 클라이언트는 Ceph 모니터에서 클러스터 맵 업데이트를 간단히 요청할 수 있습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.