5.5. 아카이브 영역 구성
영역을 아카이브로 구성하기 전에 영역이 있는지 확인합니다. 영역이 없으면 기본 영역/zonegroups의 아카이브 영역을 통해 데이터를 저장할 수 없습니다.
Red Hat Ceph Storage 7.0의 오브젝트 스토리지 아카이브 영역은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있으며 Red Hat은 해당 기능을 프로덕션용으로 사용하지 않는 것이 좋습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Object Storage 아카이브 영역 기능을 사용하여 Red Hat Ceph Storage에 상주하는 아카이브 오브젝트 데이터.
아카이브 영역은 Ceph Object Gateway의 다중 사이트 복제 및 S3 오브젝트 버전 관리 기능을 사용합니다. 아카이브 영역은 production 파일에서 삭제된 경우에도 사용 가능한 모든 오브젝트의 모든 버전을 유지합니다.
아카이브 영역에는 아카이브 영역과 연결된 게이트웨이를 통해서만 제거할 수 있는 S3 오브젝트 버전의 기록이 있습니다. 모든 데이터 업데이트 및 메타데이터를 캡처하여 S3 오브젝트 버전으로 통합합니다.
아카이브 영역에 대한 버킷 세분화된 복제는 아카이브 영역을 생성한 후 사용할 수 있습니다.
버킷 라이프사이클 정책을 통해 아카이브 영역의 스토리지 공간 사용량을 제어할 수 있습니다. 여기서 오브젝트에서 유지하려는 버전 수를 정의할 수 있습니다.
아카이브 영역은 논리 또는 물리적 오류로부터 데이터를 보호하는 데 도움이 됩니다. 프로덕션 영역에서 버킷을 실수로 삭제하는 등 논리적 오류에서 사용자를 저장할 수 있습니다. 또한 완전한 프로덕션 사이트 장애와 같이 대규모 하드웨어 오류에서 데이터를 저장할 수 있습니다. 또한, 이 복사본은 immutable copy를 제공하는데 도움이 될 수 있으며, 이 복사본은 Cryostat 보호 전략을 구축하는 데 도움이 될 수 있습니다.
버킷 세분화된 복제를 구현하려면 동기화 정책 명령을 사용하여 정책을 활성화 및 비활성화합니다. 자세한 내용은 동기화 정책 그룹 생성 및 동기화 정책 그룹 수정 을 참조하십시오.
동기화 정책 그룹 프로시저를 사용하는 것은 선택 사항이며 버킷 세분화된 복제에서 활성화 및 비활성화만 사용해야 합니다. 버킷 세분화된 복제 없이 아카이브 영역을 사용하려면 동기화 정책 절차를 사용할 필요가 없습니다.
단일 사이트에서 스토리지 클러스터를 마이그레이션하려면 단일 사이트 시스템을 다중 사이트로 마이그레이션 을 참조하십시오.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- Ceph Monitor 노드에 대한 루트 수준 액세스.
- Ceph Object Gateway 소프트웨어 설치.
프로세스
새 영역을 생성하는 동안
아카이브
계층을 사용하여 아카이브 영역을 구성합니다.구문
$ radosgw-admin zone create --rgw-zonegroup={ZONE_GROUP_NAME} --rgw-zone={ZONE_NAME} --endpoints={http://FQDN:PORT},{http://FQDN:PORT} --tier-type=archive
예제
[ceph: root@host01 /]# radosgw-admin zone create --rgw-zonegroup=us --rgw-zone=us-east --endpoints={http://example.com:8080} --tier-type=archive
아카이브 영역에서는 기본 영역에서만 동기화하고 기간 업데이트 커밋을 수행하도록 아카이브 영역을 수정합니다.
구문
$ radosgw-admin zone modify --rgw-zone archive --sync_from primary --sync_from_all false --sync-from-rm secondary $ radosgw-admin period update --commit
아카이브 영역의 omap olh 항목을 고려하여 max_objs_per_shard
를 50K로 줄이는 것이 좋습니다. 이렇게 하면 큰 omap 경고를 방지하기 위해 버킷 인덱스 shard 오브젝트당 omap 항목 수를 확인하는 데 도움이 됩니다.
예를 들면 다음과 같습니다.
$ ceph config set client.rgw rgw_max_objs_per_shard 50000
추가 리소스
- 자세한 내용은 Red Hat Ceph Storage Object Gateway 가이드의 Ceph Orchestrator를 사용하여 다중 사이트 Ceph Object Gateway배포 섹션을 참조하십시오.
5.5.1. 아카이브 영역에서 오브젝트 삭제
S3 라이프사이클 정책 확장을 사용하여 < ArchiveZone
> 요소 내의 오브젝트를 삭제할 수 있습니다.
아카이브 영역 오브젝트는 expiration
라이프사이클 정책 규칙을 사용하여만 삭제할 수 있습니다.
-
<
;Rule
> 섹션에 <ArchiveZone
> 요소가 포함된 경우 해당 규칙은 아카이브 영역에서 실행되며 아카이브 영역에서 실행되는 유일한 규칙입니다. -
<
ArchiveZone>
;으로 표시된 규칙은 아카이브가 아닌 영역에서 실행되지 않습니다.
라이프사이클 정책 내의 규칙에 따라 삭제할 오브젝트와 시기가 결정됩니다. 라이프사이클 생성 및 관리에 대한 자세한 내용은 Bucket 라이프사이클을 참조하십시오.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- Ceph Monitor 노드에 대한 루트 수준 액세스.
- Ceph Object Gateway 소프트웨어 설치.
프로세스
<
ArchiveZone>
라이프사이클 정책 규칙을 설정합니다. 라이프사이클 정책 생성에 대한 자세한 내용은 Red Hat Ceph Storage Object Gateway 가이드 의 라이프사이클 관리 정책 생성 섹션을 참조하십시오.예제
<?xml version="1.0" ?> <LifecycleConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Rule> <ID>delete-1-days-az</ID> <Filter> <Prefix></Prefix> <ArchiveZone /> 1 </Filter> <Status>Enabled</Status> <Expiration> <Days>1</Days> </Expiration> </Rule> </LifecycleConfiguration>
선택 사항: 특정 라이프사이클 정책에 아카이브 영역 규칙이 포함되어 있는지 확인합니다.
구문
radosgw-admin lc get --bucket BUCKET_NAME
예제
[ceph: root@host01 /]# radosgw-admin lc get --bucket test-bkt { "prefix_map": { "": { "status": true, "dm_expiration": true, "expiration": 0, "noncur_expiration": 2, "mp_expiration": 0, "transitions": {}, "noncur_transitions": {} } }, "rule_map": [ { "id": "Rule 1", "rule": { "id": "Rule 1", "prefix": "", "status": "Enabled", "expiration": { "days": "", "date": "" }, "noncur_expiration": { "days": "2", "date": "" }, "mp_expiration": { "days": "", "date": "" }, "filter": { "prefix": "", "obj_tags": { "tagset": {} }, "archivezone": "" 1 }, "transitions": {}, "noncur_transitions": {}, "dm_expiration": true } } ] }
Ceph Object Gateway 사용자가 삭제되면 해당 사용자가 소유한 아카이브 사이트의 버킷에 액세스할 수 없습니다. 해당 버킷을 다른 Ceph Object Gateway 사용자에게 연결하여 데이터에 액세스합니다.
구문
radosgw-admin bucket link --uid NEW_USER_ID --bucket BUCKET_NAME --yes-i-really-mean-it
예제
[ceph: root@host01 /]# radosgw-admin bucket link --uid arcuser1 --bucket arc1-deleted-da473fbbaded232dc5d1e434675c1068 --yes-i-really-mean-it
추가 리소스
- 자세한 내용은 Red Hat Ceph Storage Object Gateway 가이드 의 버킷 라이프사이클 섹션을 참조하십시오.
- 자세한 내용은 Red Hat Ceph Storage 개발자 가이드 의 S3 버킷 라이프사이클 섹션을 참조하십시오.
5.5.2. 페일오버 및 재해 복구
다양한 페일오버 및 재해 시나리오에서 데이터를 복구합니다. 요구 사항에 따라 다음 절차를 사용하십시오.
- 재해 복구를 위해 보조 영역에 장애 조치(failover)가 있는 기본 영역 실패
- 진행 중인 I/O를 사용하여 아카이브 영역 동기화를 기본 영역에서 보조 영역으로 전환
- 아카이브 영역 동기화는 기본 영역 실패와 기본 영역 장애와 함께 기본 영역에서만 동기화됩니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- Ceph Monitor 노드에 대한 루트 수준 액세스.
- Ceph Object Gateway 소프트웨어 설치.
5.5.2.1. 재해 복구를 위해 보조 영역에 장애 조치(failover)가 있는 기본 영역 실패
프로세스
보조 영역을 기본 및 기본 영역으로 설정합니다. 예를 들면 다음과 같습니다.
구문
radosgw-admin zone modify --rgw-zone=ZONE_NAME --master --default
기본적으로 Ceph Object Gateway는 활성-활성 구성으로 실행됩니다. 클러스터가 활성-패시브 구성에서 실행되도록 구성된 경우 보조 영역은 읽기 전용 영역입니다. 영역이 쓰기 작업을 수신할 수 있도록
--read-only
상태를 제거합니다. 예를 들면 다음과 같습니다.구문
radosgw-admin zone modify --rgw-zone=ZONE_NAME --master --default --read-only=false
변경 사항을 적용하려면 기간을 업데이트합니다.
예제
[ceph: root@host01 /]# radosgw-admin period update --commit
Ceph Object Gateway를 다시 시작합니다.
참고NAME
열에 있는ceph orch ps
명령의 출력을 사용하여 SERVICE_TYPE.ID 정보를 가져옵니다.스토리지 클러스터의 개별 노드에서 Ceph Object Gateway를 다시 시작합니다.
구문
systemctl restart ceph-CLUSTER_ID@SERVICE_TYPE.ID.service
예제
[root@host01 ~]# systemctl restart ceph-c4b34c6f-8365-11ba-dc31-529020a7702d@rgw.realm.zone.host01.gwasto.service
스토리지 클러스터의 모든 노드에서 Ceph Object Gateway를 다시 시작합니다.
구문
ceph orch restart SERVICE_TYPE
예제
[ceph: root@host01 /]# ceph orch restart rgw
이전 기본 영역이 복구되면 작업을 되돌립니다.
복구된 영역에서 현재 기본 영역에서 영역을 가져옵니다.
구문
radosgw-admin realm pull --url=URL_TO_PRIMARY_ZONE_GATEWAY \ --access-key=ACCESS_KEY --secret=SECRET_KEY
복구 영역을 기본 및 기본 영역으로 설정합니다.
구문
radosgw-admin zone modify --rgw-zone=ZONE_NAME --master --default
변경 사항을 적용하려면 기간을 업데이트합니다.
예제
[ceph: root@host01 /]# radosgw-admin period update --commit
복구된 영역에서 Ceph Object Gateway를 다시 시작합니다.
구문
ceph orch restart SERVICE_TYPE
예제
[ceph: root@host01 /]# ceph orch restart rgw
보조 영역이 읽기 전용 구성이어야 하는 경우 보조 영역을 업데이트합니다.
구문
radosgw-admin zone modify --rgw-zone=ZONE_NAME --read-only radosgw-admin zone modify --rgw-zone=ZONE_NAME --read-only
변경 사항을 적용하려면 기간을 업데이트합니다.
예제
[ceph: root@host01 /]# radosgw-admin period update --commit
보조 영역에서 Ceph Object Gateway를 다시 시작합니다.
구문
ceph orch restart SERVICE_TYPE
예제
[ceph: root@host01 /]# ceph orch restart rgw
5.5.2.2. I/O를 사용하여 기본에서 보조로 아카이브 영역 동기화 전환
프로세스
동기화 소스를 보조 영역으로 전환합니다.
구문
radosgw-admin zone modify --rgw-zone archive --sync_from secondary --sync_from_all false --sync-from-rm primary radosgw-admin period update --commit
- 아카이브 영역에서 동기화 상태 및 데이터 일관성을 확인합니다.
동기화 소스를 다시 기본 영역으로 전환합니다.
구문
radosgw-admin zone modify --rgw-zone archive --sync_from primary --sync_from_all false --sync-from-rm secondary radosgw-admin period update --commit
전환 후 아카이브 영역에서 동기화 상태 및 데이터 일관성을 확인합니다. 결과는 다음과 같습니다.
- 아카이브 영역은 첫 번째 수정 후 보조 영역에서 동기화되기 시작합니다.
- 데이터 일관성은 전환 전체에서 유지됩니다.
- 기본 영역으로 다시 전환하면 아카이브 영역이 데이터 손실 또는 손상 없이 기본 영역에서 동기화됩니다.
- 동기화는 모든 영역에서 일관되게 유지됩니다.
5.5.2.3. 아카이브 영역은 기본 영역 실패가 있는 기본 영역에서만 동기화
프로세스
- 아카이브 영역이 기본 영역에서만 동기화되도록 설정되어 있는지 확인합니다.
- 기본 영역 게이트웨이를 중지하여 기본 영역 실패를 시뮬레이션합니다.
- 보조 영역에 대한 장애 조치(failover)를 수행하고 기간 업데이트 커밋을 수행합니다.
- 아카이브 영역의 동기화 상태를 확인합니다.
- 약 30분 정도의 시간 간격을 게시하고 기본 영역 게이트웨이를 다시 시작합니다.
아카이브 영역이 기본 영역의 동기화를 다시 시작하는지 확인합니다. 결과는 다음과 같습니다.
- 아카이브 영역은 기본 영역이 실패할 때 동기화를 중지합니다.
- 기본 영역을 복원하면 아카이브 영역이 기본 영역의 동기화를 자동으로 다시 시작합니다.
- 데이터 무결성 및 동기화 상태는 프로세스 전체에서 유지됩니다.