검색

3.11. Ceph Object Gateway 데이터 레이아웃

download PDF

RADOS는 확장 속성(xattrs) 및 개체 맵(OMAP)을 사용하는 풀 및 개체에 대해서만 알고 있지만 개념적으로 Ceph Object Gateway는 데이터를 세 가지 다른 종류로 구성합니다.

  • metadata
  • 버킷 인덱스
  • data

메타데이터

메타데이터의 세 가지 섹션이 있습니다.

  • 사용자: 사용자 정보를 보유하고 있습니다.
  • bucket: 버킷 이름과 버킷 인스턴스 ID 간의 매핑이 있습니다.
  • bucket.instance: 버킷 인스턴스 정보가 있습니다.

다음 명령을 사용하여 메타데이터 항목을 볼 수 있습니다.

구문

radosgw-admin metadata get bucket:BUCKET_NAME
radosgw-admin metadata get bucket.instance:BUCKET:BUCKET_ID
radosgw-admin metadata get user:USER
radosgw-admin metadata set user:USER

예제

[root@host01 ~]# radosgw-admin metadata list
[root@host01 ~]# radosgw-admin metadata list bucket
[root@host01 ~]# radosgw-admin metadata list bucket.instance
[root@host01 ~]# radosgw-admin metadata list user

모든 메타데이터 항목은 단일 RADOS 오브젝트에 유지됩니다.

참고

Ceph Object Gateway 오브젝트는 여러 RADOS 오브젝트로 구성될 수 있습니다. 첫 번째는 매니페스트, ACL(액세스 제어 목록), 콘텐츠 유형, ETag 및 사용자 정의 메타데이터와 같은 메타데이터를 포함하는 헤드입니다. 메타데이터는 xattrs 에 저장됩니다. 헤드에는 효율성 및 원자성을 위해 최대 512KB의 개체 데이터를 포함할 수도 있습니다. 매니페스트는 RADOS 오브젝트에서 각 오브젝트가 어떻게 구성되는지를 설명합니다.

버킷 인덱스

이는 다른 종류의 메타데이터이며 별도로 유지됩니다. 버킷 인덱스에는 RADOS 오브젝트에 키-값 맵이 있습니다. 기본적으로 버킷당 단일 RADOS 오브젝트이지만 여러 RADOS 오브젝트에서 맵을 분할할 수 있습니다.

맵 자체는 각 RADOS 오브젝트와 관련된 OMAP에 보관됩니다. 각 OMAP의 키는 오브젝트의 이름이고, 값은 버킷을 나열할 때 표시되는 메타데이터인 해당 오브젝트의 몇 가지 기본 메타데이터를 보유합니다. 각 OMAP에는 헤더가 있으며, 오브젝트 수, 총 크기 등과 같은 일부 버킷 계정 메타데이터를 해당 헤더에 보관합니다.

참고

OMAP는 확장 속성이 POSIX 파일과 연결된 방식과 유사한 방식으로 오브젝트와 관련된 키-값 저장소입니다. 오브젝트의 OMAP는 물리적으로 오브젝트의 스토리지에 위치하지 않지만, 정확한 구현에서는 Ceph Object Gateway에 표시되지 않고 비합리적입니다.

data

오브젝트 데이터는 각 Ceph Object Gateway 오브젝트마다 하나 이상의 RADOS 오브젝트에 보관됩니다.

3.11.1. 오브젝트 조회 경로

오브젝트에 액세스할 때 REST API는 다음 세 가지 매개변수를 사용하여 Ceph Object Gateway로 이동합니다.

  • Swift에서 S3 또는 계정 이름에 액세스 키가 있는 계정 정보
  • 버킷 또는 컨테이너 이름
  • 오브젝트 이름 또는 키

현재 Ceph Object Gateway는 계정 정보만 사용하여 사용자 ID와 액세스 제어를 찾습니다. 버킷 이름과 오브젝트 키만 사용하여 풀의 오브젝트를 처리합니다.

계정 정보

Ceph Object Gateway의 사용자 ID는 문자열이며, 일반적으로 사용자 자격 증명의 실제 사용자 이름은 해시 또는 매핑된 식별자가 아닙니다.

사용자 데이터에 액세스할 때 사용자 레코드는 default.rgw.meta 풀의 USER_ID 오브젝트에서 users.uid 네임스페이스를 사용하여 로드됩니다.

버킷 이름

이는 root 네임스페이스가 있는 default.rgw.meta 풀에 표시됩니다. 버킷 ID 역할을 하는 마커를 가져오기 위해 버킷 레코드가 로드됩니다.

오브젝트 이름

오브젝트는 default.rgw.buckets.data 풀에 있습니다. 오브젝트 이름은 MARKER_KEY (예: default.7593.4_image.png )입니다. 여기서 마커는 default.7593.4 이고 키는 image.png 입니다. 이러한 연결된 이름은 구문 분석되지 않으며 RADOS로만 전달됩니다. 따라서 구분자 선택이 중요하지 않으며 모호함을 유발하지 않습니다. 동일한 이유로 키와 같은 오브젝트 이름에서 슬래시가 허용됩니다.

3.11.1.1. 다중 데이터 풀

기본적으로 다른 사용자의 버킷이 다른 RADOS 풀에서 생성되도록 여러 데이터 풀을 생성할 수 있으므로 필요한 스케일링을 제공할 수 있습니다. 이러한 풀의 레이아웃 및 이름 지정은 정책 설정으로 제어합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.