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
쉘에 로그인합니다.예
[root@host04 ~]# cephadm shell
호스트에서 기본 영역 구성을 가져옵니다.
구문
radosgw-admin realm pull --url=URL_TO_PRIMARY_ZONE_GATEWAY --access-key=ACCESS_KEY --secret-key=SECRET_KEY
예
[ceph: root@host04 /]# radosgw-admin realm pull --url=http://10.74.249.26:80 --access-key=LIPEYZJLTWXRKXS9LPJC --secret-key=IsAje0AVDNXNw48LjMAimpCpI7VaxJYSnfD0FFKQ
호스트에서 기본 기간 구성을 가져옵니다.
구문
radosgw-admin period pull --url=URL_TO_PRIMARY_ZONE_GATEWAY --access-key=ACCESS_KEY --secret-key=SECRET_KEY
예
[ceph: root@host04 /]# radosgw-admin period pull --url=http://10.74.249.26:80 --access-key=LIPEYZJLTWXRKXS9LPJC --secret-key=IsAje0AVDNXNw48LjMAimpCpI7VaxJYSnfD0FFKQ
보조 영역을 구성합니다.
참고모든 영역은 기본적으로 활성-활성 구성으로 실행됩니다. 즉, 게이트웨이 클라이언트는 모든 영역에 데이터를 쓸 수 있으며 영역은 영역 그룹 내의 다른 모든 영역에 데이터를 복제합니다. 보조 영역이 쓰기 작업을 수락하지 않아야 하는 경우
'--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]
예
[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 rm --rgw-zone=default [ceph: root@host04 /]# ceph osd pool rm default.rgw.log default.rgw.log --yes-i-really-really-mean-it [ceph: root@host04 /]# ceph osd pool rm default.rgw.meta default.rgw.meta --yes-i-really-really-mean-it [ceph: root@host04 /]# ceph osd pool rm default.rgw.control default.rgw.control --yes-i-really-really-mean-it [ceph: root@host04 /]# ceph osd pool rm default.rgw.data.root default.rgw.data.root --yes-i-really-really-mean-it [ceph: root@host04 /]# ceph osd pool rm default.rgw.gc default.rgw.gc --yes-i-really-really-mean-it
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: 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
변경 사항을 커밋합니다.
구문
radosgw-admin period update --commit
예
[ceph: root@host04 /]# radosgw-admin period update --commit
cephadm
쉘 외부에서 스토리지 클러스터 및 프로세스의 FSID를 가져옵니다.예
[root@host04 ~]# systemctl list-units | grep ceph
Ceph Object Gateway 데몬을 시작합니다.
구문
systemctl start ceph-FSID@DAEMON_NAME systemctl enable ceph-FSID@DAEMON_NAME
예
[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