5.4. 보조 영역 설정
영역 그룹 내의 영역은 모든 데이터를 복제하여 각 영역에 동일한 데이터가 있는지 확인합니다. 보조 영역을 생성할 때 보조 영역을 제공하도록 식별된 호스트에서 모든 radosgw-admin 영역
작업을 실행합니다.
추가 영역을 추가하려면 보조 영역을 추가하는 것과 동일한 절차를 따릅니다. 다른 영역 이름을 사용합니다.
-
마스터 영역 그룹의 마스터 영역에 있는 호스트에서 사용자 생성 및 할당량과 같은 메타데이터 작업을 실행합니다. 마스터 영역과 보조 영역은 RESTful API에서 버킷 작업을 수신할 수 있지만 보조 영역은 버킷 작업을 마스터 영역으로 리디렉션합니다. 마스터 영역이 다운되면 버킷 작업이 실패합니다.
radosgw-admin
CLI를 사용하여 버킷을 생성하는 경우 버킷이 다른 영역 그룹 및 영역과 동기화되도록 마스터 영역 그룹의 마스터 영역 내의 호스트에서 버킷을 실행해야 합니다. -
--yes-i-really-mean-it
을 사용하여 보조 영역에 사용자를 생성하는 경우에도 특정 사용자에 대한 버킷 생성은 지원되지 않습니다.
사전 요구 사항
- 두 개 이상의 실행 중인 Red Hat Ceph Storage 클러스터
- 각 Red Hat Ceph Storage 클러스터에 하나씩 두 개 이상의 Ceph Object Gateway 인스턴스.
- 모든 노드에 대한 루트 수준 액세스.
- 노드 또는 컨테이너가 스토리지 클러스터에 추가됩니다.
- 모든 Ceph Manager, Monitor 및 OSD 데몬이 배포됩니다.
프로세스
cephadm
쉘에 로그인합니다.예
cephadm shell
[root@host04 ~]# cephadm shell
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 호스트에서 기본 영역 구성을 가져옵니다.
구문
radosgw-admin realm pull --url=URL_TO_PRIMARY_ZONE_GATEWAY --access-key=ACCESS_KEY --secret-key=SECRET_KEY
radosgw-admin realm pull --url=URL_TO_PRIMARY_ZONE_GATEWAY --access-key=ACCESS_KEY --secret-key=SECRET_KEY
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host04 /]# radosgw-admin realm pull --url=http://10.74.249.26:80 --access-key=LIPEYZJLTWXRKXS9LPJC --secret-key=IsAje0AVDNXNw48LjMAimpCpI7VaxJYSnfD0FFKQ
[ceph: root@host04 /]# radosgw-admin realm pull --url=http://10.74.249.26:80 --access-key=LIPEYZJLTWXRKXS9LPJC --secret-key=IsAje0AVDNXNw48LjMAimpCpI7VaxJYSnfD0FFKQ
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 호스트에서 기본 기간 구성을 가져옵니다.
구문
radosgw-admin period pull --url=URL_TO_PRIMARY_ZONE_GATEWAY --access-key=ACCESS_KEY --secret-key=SECRET_KEY
radosgw-admin period pull --url=URL_TO_PRIMARY_ZONE_GATEWAY --access-key=ACCESS_KEY --secret-key=SECRET_KEY
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host04 /]# radosgw-admin period pull --url=http://10.74.249.26:80 --access-key=LIPEYZJLTWXRKXS9LPJC --secret-key=IsAje0AVDNXNw48LjMAimpCpI7VaxJYSnfD0FFKQ
[ceph: root@host04 /]# radosgw-admin period pull --url=http://10.74.249.26:80 --access-key=LIPEYZJLTWXRKXS9LPJC --secret-key=IsAje0AVDNXNw48LjMAimpCpI7VaxJYSnfD0FFKQ
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 보조 영역을 구성합니다.
참고모든 영역은 기본적으로 활성-활성 구성으로 실행됩니다. 즉, 게이트웨이 클라이언트는 모든 영역에 데이터를 쓸 수 있으며 영역은 영역 그룹 내의 다른 모든 영역에 데이터를 복제합니다. 보조 영역이 쓰기 작업을 수락하지 않아야 하는 경우
'--read-only
플래그를 지정하여 마스터 영역과 보조 영역 간에 활성-수동 구성을 만듭니다. 또한 마스터 영역 그룹의 마스터 영역에 저장된 생성된 시스템 사용자의access_key
및secret_key
를 제공합니다.구문
radosgw-admin zone create --rgw-zonegroup=_ZONE_GROUP_NAME_ \ --rgw-zone=_SECONDARY_ZONE_NAME_ --endpoints=http://_RGW_SECONDARY_HOSTNAME_:_RGW_PRIMARY_PORT_NUMBER_1_ \ --access-key=_SYSTEM_ACCESS_KEY_ --secret=_SYSTEM_SECRET_KEY_ \ [--read-only]
radosgw-admin zone create --rgw-zonegroup=_ZONE_GROUP_NAME_ \ --rgw-zone=_SECONDARY_ZONE_NAME_ --endpoints=http://_RGW_SECONDARY_HOSTNAME_:_RGW_PRIMARY_PORT_NUMBER_1_ \ --access-key=_SYSTEM_ACCESS_KEY_ --secret=_SYSTEM_SECRET_KEY_ \ [--read-only]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host04 /]# radosgw-admin zone create --rgw-zonegroup=us --rgw-zone=us-east-2 --endpoints=http://rgw2:80 --access-key=LIPEYZJLTWXRKXS9LPJC --secret-key=IsAje0AVDNXNw48LjMAimpCpI7VaxJYSnfD0FFKQ
[ceph: root@host04 /]# radosgw-admin zone create --rgw-zonegroup=us --rgw-zone=us-east-2 --endpoints=http://rgw2:80 --access-key=LIPEYZJLTWXRKXS9LPJC --secret-key=IsAje0AVDNXNw48LjMAimpCpI7VaxJYSnfD0FFKQ
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 기본 영역을 삭제합니다.
중요데이터를 저장하기 위해 기본 영역 및 영역 그룹을 사용하는 경우 기본 영역 및 해당 풀을 삭제하지 마십시오.
예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph 구성 데이터베이스를 업데이트합니다.
구문
ceph config set client.rgw.SERVICE_NAME rgw_realm REALM_NAME ceph config set client.rgw.SERVICE_NAME rgw_zonegroup ZONE_GROUP_NAME ceph config set client.rgw.SERVICE_NAME rgw_zone SECONDARY_ZONE_NAME
ceph config set client.rgw.SERVICE_NAME rgw_realm REALM_NAME ceph config set client.rgw.SERVICE_NAME rgw_zonegroup ZONE_GROUP_NAME ceph config set client.rgw.SERVICE_NAME rgw_zone SECONDARY_ZONE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host04 /]# ceph config set client.rgw.rgwsvcid.mons-1.jwgwwp rgw_realm test_realm [ceph: root@host04 /]# ceph config set client.rgw.rgwsvcid.mons-1.jwgwwp rgw_zonegroup us [ceph: root@host04 /]# ceph config set client.rgw.rgwsvcid.mons-1.jwgwwp rgw_zone us-east-2
[ceph: root@host04 /]# ceph config set client.rgw.rgwsvcid.mons-1.jwgwwp rgw_realm test_realm [ceph: root@host04 /]# ceph config set client.rgw.rgwsvcid.mons-1.jwgwwp rgw_zonegroup us [ceph: root@host04 /]# ceph config set client.rgw.rgwsvcid.mons-1.jwgwwp rgw_zone us-east-2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 변경 사항을 커밋합니다.
구문
radosgw-admin period update --commit
radosgw-admin period update --commit
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host04 /]# radosgw-admin period update --commit
[ceph: root@host04 /]# radosgw-admin period update --commit
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cephadm
쉘 외부에서 스토리지 클러스터 및 프로세스의 FSID를 가져옵니다.예
systemctl list-units | grep ceph
[root@host04 ~]# systemctl list-units | grep ceph
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph Object Gateway 데몬을 시작합니다.
구문
systemctl start ceph-FSID@DAEMON_NAME systemctl enable ceph-FSID@DAEMON_NAME
systemctl start ceph-FSID@DAEMON_NAME systemctl enable ceph-FSID@DAEMON_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예
systemctl start ceph-62a081a6-88aa-11eb-a367-001a4a000672@rgw.test_realm.us-east-2.host04.ahdtsw.service systemctl enable ceph-62a081a6-88aa-11eb-a367-001a4a000672@rgw.test_realm.us-east-2.host04.ahdtsw.service
[root@host04 ~]# systemctl start ceph-62a081a6-88aa-11eb-a367-001a4a000672@rgw.test_realm.us-east-2.host04.ahdtsw.service [root@host04 ~]# systemctl enable ceph-62a081a6-88aa-11eb-a367-001a4a000672@rgw.test_realm.us-east-2.host04.ahdtsw.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4.1. 아카이브 영역 구성 링크 복사링크가 클립보드에 복사되었습니다!
영역을 아카이브로 구성하기 전에 영역이 있는지 확인합니다. 영역이 없으면 기본 영역/zonegroups의 아카이브 영역을 통해 데이터를 저장할 수 없습니다.
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
$ radosgw-admin zone create --rgw-zonegroup={ZONE_GROUP_NAME} --rgw-zone={ZONE_NAME} --endpoints={http://FQDN:PORT},{http://FQDN:PORT} --tier-type=archive
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# radosgw-admin zone create --rgw-zonegroup=us --rgw-zone=us-east --endpoints={http://example.com:8080} --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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 아카이브 영역에서는 기본 영역에서만 동기화하고 기간 업데이트 커밋을 수행하도록 아카이브 영역을 수정합니다.
구문
radosgw-admin zone modify --rgw-zone archive --sync_from primary --sync_from_all false --sync-from-rm secondary 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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
아카이브 영역의 omap olh 항목을 고려하여 max_objs_per_shard
를 50K로 줄이는 것이 좋습니다. 이렇게 하면 큰 omap 경고를 방지하기 위해 버킷 인덱스 shard 오브젝트당 omap 항목 수를 확인하는 데 도움이 됩니다.
예를 들면 다음과 같습니다.
ceph config set client.rgw rgw_max_objs_per_shard 50000
$ ceph config set client.rgw rgw_max_objs_per_shard 50000
5.4.1.1. 아카이브 영역에서 오브젝트 삭제 링크 복사링크가 클립보드에 복사되었습니다!
S3 라이프사이클 정책 확장을 사용하여 < ArchiveZone
> 요소 내의 오브젝트를 삭제할 수 있습니다.
아카이브 영역 오브젝트는 expiration
라이프사이클 정책 규칙을 사용하여만 삭제할 수 있습니다.
-
<
;Rule
> 섹션에 <ArchiveZone
> 요소가 포함된 경우 해당 규칙은 아카이브 영역에서 실행되며 아카이브 영역에서 실행되는 유일한 규칙입니다. -
<
ArchiveZone>
;으로 표시된 규칙은 아카이브가 아닌 영역에서 실행되지 않습니다.
라이프사이클 정책 내의 규칙에 따라 삭제할 오브젝트와 시기가 결정됩니다. 라이프사이클 생성 및 관리에 대한 자세한 내용은 Bucket 라이프사이클을 참조하십시오.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- Ceph Monitor 노드에 대한 루트 수준 액세스.
- Ceph Object Gateway 소프트웨어 설치.
프로세스
<
ArchiveZone>
라이프사이클 정책 규칙을 설정합니다. 라이프사이클 정책 생성에 대한 자세한 내용은 Red Hat Ceph Storage Object Gateway 가이드 의 라이프사이클 관리 정책 생성 섹션을 참조하십시오.예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 특정 라이프사이클 정책에 아카이브 영역 규칙이 포함되어 있는지 확인합니다.
구문
radosgw-admin lc get --bucket BUCKET_NAME
radosgw-admin lc get --bucket BUCKET_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph Object Gateway 사용자가 삭제되면 해당 사용자가 소유한 아카이브 사이트의 버킷에 액세스할 수 없습니다. 해당 버킷을 다른 Ceph Object Gateway 사용자에게 연결하여 데이터에 액세스합니다.
구문
radosgw-admin bucket link --uid NEW_USER_ID --bucket BUCKET_NAME --yes-i-really-mean-it
radosgw-admin bucket link --uid NEW_USER_ID --bucket BUCKET_NAME --yes-i-really-mean-it
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# radosgw-admin bucket link --uid arcuser1 --bucket arc1-deleted-da473fbbaded232dc5d1e434675c1068 --yes-i-really-mean-it
[ceph: root@host01 /]# radosgw-admin bucket link --uid arcuser1 --bucket arc1-deleted-da473fbbaded232dc5d1e434675c1068 --yes-i-really-mean-it
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4.2. 페일오버 및 재해 복구 링크 복사링크가 클립보드에 복사되었습니다!
기본 영역이 실패하면 재해 복구를 위해 보조 영역으로 장애 조치(failover)합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- Ceph Monitor 노드에 대한 루트 수준 액세스.
- Ceph Object Gateway 소프트웨어 설치.
프로세스
보조 영역을 기본 및 기본 영역으로 설정합니다. 예를 들면 다음과 같습니다.
구문
radosgw-admin zone modify --rgw-zone=ZONE_NAME --master --default
radosgw-admin zone modify --rgw-zone=ZONE_NAME --master --default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 기본적으로 Ceph Object Gateway는 활성-활성 구성으로 실행됩니다. 클러스터가 활성-패시브 구성에서 실행되도록 구성된 경우 보조 영역은 읽기 전용 영역입니다. 영역이 쓰기 작업을 수신할 수 있도록
--read-only
상태를 제거합니다. 예를 들면 다음과 같습니다.구문
radosgw-admin zone modify --rgw-zone=ZONE_NAME --master --default --read-only=false
radosgw-admin zone modify --rgw-zone=ZONE_NAME --master --default --read-only=false
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 변경 사항을 적용하려면 기간을 업데이트합니다.
예
[ceph: root@host01 /]# radosgw-admin period update --commit
[ceph: root@host01 /]# radosgw-admin period update --commit
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph Object Gateway를 다시 시작합니다.
참고NAME
열에 있는ceph orch ps
명령의 출력을 사용하여 SERVICE_TYPE.ID 정보를 가져옵니다.스토리지 클러스터의 개별 노드에서 Ceph Object Gateway를 다시 시작하려면 다음을 수행합니다.
구문
systemctl restart ceph-CLUSTER_ID@SERVICE_TYPE.ID.service
systemctl restart ceph-CLUSTER_ID@SERVICE_TYPE.ID.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예
systemctl restart ceph-c4b34c6f-8365-11ba-dc31-529020a7702d@rgw.realm.zone.host01.gwasto.service
[root@host01 ~]# systemctl restart ceph-c4b34c6f-8365-11ba-dc31-529020a7702d@rgw.realm.zone.host01.gwasto.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 스토리지 클러스터의 모든 노드에서 Ceph Object Gateway를 다시 시작하려면 다음을 수행합니다.
구문
ceph orch restart SERVICE_TYPE
ceph orch restart SERVICE_TYPE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# ceph orch restart rgw
[ceph: root@host01 /]# ceph orch restart rgw
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
이전 기본 영역이 복구되면 작업을 되돌립니다.
복구된 영역에서 현재 기본 영역에서 영역을 가져옵니다.
구문
radosgw-admin realm pull --url=URL_TO_PRIMARY_ZONE_GATEWAY \ --access-key=ACCESS_KEY --secret=SECRET_KEY
radosgw-admin realm pull --url=URL_TO_PRIMARY_ZONE_GATEWAY \ --access-key=ACCESS_KEY --secret=SECRET_KEY
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 복구 영역을 기본 및 기본 영역으로 설정합니다.
구문
radosgw-admin zone modify --rgw-zone=ZONE_NAME --master --default
radosgw-admin zone modify --rgw-zone=ZONE_NAME --master --default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 변경 사항을 적용하려면 기간을 업데이트합니다.
예
[ceph: root@host01 /]# radosgw-admin period update --commit
[ceph: root@host01 /]# radosgw-admin period update --commit
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 복구된 영역에서 Ceph Object Gateway를 다시 시작합니다.
구문
ceph orch restart SERVICE_TYPE
ceph orch restart SERVICE_TYPE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# ceph orch restart rgw
[ceph: root@host01 /]# ceph orch restart rgw
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 보조 영역이 읽기 전용 구성이어야 하는 경우 보조 영역을 업데이트합니다.
구문
radosgw-admin zone modify --rgw-zone=ZONE_NAME --read-only radosgw-admin zone modify --rgw-zone=ZONE_NAME --read-only
radosgw-admin zone modify --rgw-zone=ZONE_NAME --read-only radosgw-admin zone modify --rgw-zone=ZONE_NAME --read-only
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 변경 사항을 적용하려면 기간을 업데이트합니다.
예
[ceph: root@host01 /]# radosgw-admin period update --commit
[ceph: root@host01 /]# radosgw-admin period update --commit
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 보조 영역에서 Ceph Object Gateway를 다시 시작합니다.
구문
ceph orch restart SERVICE_TYPE
ceph orch restart SERVICE_TYPE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# ceph orch restart rgw
[ceph: root@host01 /]# ceph orch restart rgw
Copy to Clipboard Copied! Toggle word wrap Toggle overflow