5.7. 동일한 스토리지 클러스터에서 여러 영역 구성
동일한 스토리지 클러스터에서 여러 영역을 구성할 수 있습니다. 이는 다중 사이트의 고급 사용 사례입니다. 동일한 스토리지 클러스터에 여러 영역을 구성하면 로컬 영역을 사용하여 로컬 Ceph Object Gateway 클라이언트 트래픽뿐만 아니라 보조 사이트에 복제될 데이터를 위한 복제 영역을 처리할 수 있습니다.
Red Hat은 각 영역에 고유한 Ceph Object Gateway를 사용하는 것이 좋습니다.
사전 요구 사항
- 스토리지 클러스터에서 두 개의 Red Hat Ceph Storage 데이터 센터가 실행 중입니다.
- 스토리지 클러스터의 각 데이터 센터의 액세스 키 및 시크릿 키입니다.
- 모든 Ceph Object Gateway 노드에 대한 루트 수준 액세스.
- 각 데이터 센터에는 자체 로컬 영역이 있습니다. 두 사이트에서 복제하는 영역을 공유합니다.
프로세스
스토리지 클러스터의 첫 번째 데이터 센터에 하나의 로컬 영역을 생성합니다.
구문
radosgw-admin realm create --rgw-realm=REALM_NAME --default
예
[ceph: root@host01 /]# radosgw-admin realm create --rgw-realm=ldc1 --default
첫 번째 데이터 센터에 하나의 로컬 마스터 영역 그룹을 생성합니다.
구문
radosgw-admin zonegroup create --rgw-zonegroup=ZONE_GROUP_NAME --endpoints=http://RGW_NODE_NAME:80 --rgw-realm=REALM_NAME --master --default
예
[ceph: root@host01 /]# radosgw-admin zonegroup create --rgw-zonegroup=ldc1zg --endpoints=http://rgw1:80 --rgw-realm=ldc1 --master --default
첫 번째 데이터 센터에서 하나의 로컬 영역을 생성합니다.
구문
radosgw-admin zone create --rgw-zonegroup=ZONE_GROUP_NAME --rgw-zone=ZONE_NAME --master --default --endpoints=HTTP_FQDN[,HTTP_FQDN]
예
[ceph: root@host01 /]# radosgw-admin zone create --rgw-zonegroup=ldc1zg --rgw-zone=ldc1z --master --default --endpoints=http://rgw.example.com
기간을 커밋합니다.
예
[ceph: root@host01 /]# radosgw-admin period update --commit
적절한 영역 및 영역을 사용하여 Ceph Object Gateway 데몬을 배포하거나 구성 데이터베이스를 업데이트할 수 있습니다.
배치 사양을 사용하여 Ceph Object Gateway를 배포합니다.
구문
ceph orch apply rgw SERVICE_NAME --realm=REALM_NAME --zone=ZONE_NAME --placement="NUMBER_OF_DAEMONS HOST_NAME_1 HOST_NAME_2"
예
[ceph: root@host01 /]# ceph orch apply rgw rgw --realm=ldc1 --zone=ldc1z --placement="1 host01"
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 ZONE_NAME
예
[ceph: root@host01 /]# ceph config set client.rgw.rgwsvcid.mons-1.jwgwwp rgw_realm ldc1 [ceph: root@host01 /]# ceph config set client.rgw.rgwsvcid.mons-1.jwgwwp rgw_zonegroup ldc1zg [ceph: root@host01 /]# ceph config set client.rgw.rgwsvcid.mons-1.jwgwwp rgw_zone ldc1z
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 create --rgw-realm=REALM_NAME --default
예
[ceph: root@host04 /]# radosgw-admin realm create --rgw-realm=ldc2 --default
두 번째 데이터 센터에 하나의 로컬 마스터 영역 그룹을 생성합니다.
구문
radosgw-admin zonegroup create --rgw-zonegroup=ZONE_GROUP_NAME --endpoints=http://RGW_NODE_NAME:80 --rgw-realm=REALM_NAME --master --default
예
[ceph: root@host04 /]# radosgw-admin zonegroup create --rgw-zonegroup=ldc2zg --endpoints=http://rgw2:80 --rgw-realm=ldc2 --master --default
두 번째 데이터 센터에서 하나의 로컬 영역을 생성합니다.
구문
radosgw-admin zone create --rgw-zonegroup=ZONE_GROUP_NAME --rgw-zone=ZONE_NAME --master --default --endpoints=HTTP_FQDN[, HTTP_FQDN]
예
[ceph: root@host04 /]# radosgw-admin zone create --rgw-zonegroup=ldc2zg --rgw-zone=ldc2z --master --default --endpoints=http://rgw.example.com
기간을 커밋합니다.
예
[ceph: root@host04 /]# radosgw-admin period update --commit
적절한 영역 및 영역을 사용하여 Ceph Object Gateway 데몬을 배포하거나 구성 데이터베이스를 업데이트할 수 있습니다.
배치 사양을 사용하여 Ceph Object Gateway를 배포합니다.
구문
ceph orch apply rgw SERVICE_NAME --realm=REALM_NAME --zone=ZONE_NAME --placement="NUMBER_OF_DAEMONS HOST_NAME_1 HOST_NAME_2"
예
[ceph: root@host01 /]# ceph orch apply rgw rgw --realm=ldc2 --zone=ldc2z --placement="1 host01"
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 ZONE_NAME
예
[ceph: root@host01 /]# ceph config set client.rgw.rgwsvcid.mons-1.jwgwwp rgw_realm ldc2 [ceph: root@host01 /]# ceph config set client.rgw.rgwsvcid.mons-1.jwgwwp rgw_zonegroup ldc2zg [ceph: root@host01 /]# ceph config set client.rgw.rgwsvcid.mons-1.jwgwwp rgw_zone ldc2z
Ceph Object Gateway를 다시 시작합니다.
참고NAME
열에 있는ceph orch ps
명령의 출력을 사용하여 SERVICE_TYPE.ID 정보를 가져옵니다.스토리지 클러스터의 개별 노드에서 Ceph Object Gateway를 다시 시작하려면 다음을 수행합니다.
구문
systemctl restart ceph-CLUSTER_ID@SERVICE_TYPE.ID.service
예
[root@host04 ~]# systemctl restart ceph-c4b34c6f-8365-11ba-dc31-529020a7702d@rgw.realm.zone.host01.gwasto.service
스토리지 클러스터의 모든 노드에서 Ceph Object Gateway를 다시 시작하려면 다음을 수행합니다.
구문
ceph orch restart SERVICE_TYPE
예
[ceph: root@host04 /]# ceph orch restart rgw
스토리지 클러스터의 첫 번째 데이터 센터에 복제 영역을 생성합니다.
구문
radosgw-admin realm create --rgw-realm=REPLICATED_REALM_1 --default
예
[ceph: root@host01 /]# radosgw-admin realm create --rgw-realm=rdc1 --default
--default
플래그를 사용하여 기본 사이트에서 복제된 영역을 기본값으로 설정합니다.첫 번째 데이터 센터의 마스터 영역 그룹을 생성합니다.
구문
radosgw-admin zonegroup create --rgw-zonegroup=RGW_ZONE_GROUP --endpoints=http://_RGW_NODE_NAME:80 --rgw-realm=_RGW_REALM_NAME --master --default
예
[ceph: root@host01 /]# radosgw-admin zonegroup create --rgw-zonegroup=rdc1zg --endpoints=http://rgw1:80 --rgw-realm=rdc1 --master --default
첫 번째 데이터 센터에 마스터 영역을 생성합니다.
구문
radosgw-admin zone create --rgw-zonegroup=RGW_ZONE_GROUP --rgw-zone=_MASTER_RGW_NODE_NAME --master --default --endpoints=HTTP_FQDN[,HTTP_FQDN]
예
[ceph: root@host01 /]# radosgw-admin zone create --rgw-zonegroup=rdc1zg --rgw-zone=rdc1z --master --default --endpoints=http://rgw.example.com
동기화 사용자를 생성하고 다중 사이트의 마스터 영역에 시스템 사용자를 추가합니다.
구문
radosgw-admin user create --uid="SYNCHRONIZATION_USER" --display-name="Synchronization User" --system radosgw-admin zone modify --rgw-zone=RGW_ZONE --access-key=ACCESS_KEY --secret=SECRET_KEY
예
radosgw-admin user create --uid="synchronization-user" --display-name="Synchronization User" --system [ceph: root@host01 /]# radosgw-admin zone modify --rgw-zone=rdc1zg --access-key=3QV0D6ZMMCJZMSCXJ2QJ --secret=VpvQWcsfI9OPzUCpR4kynDLAbqa1OIKqRB6WEnH8
기간을 커밋합니다.
예
[ceph: root@host01 /]# radosgw-admin period update --commit
적절한 영역 및 영역을 사용하여 Ceph Object Gateway 데몬을 배포하거나 구성 데이터베이스를 업데이트할 수 있습니다.
배치 사양을 사용하여 Ceph Object Gateway를 배포합니다.
구문
ceph orch apply rgw SERVICE_NAME --realm=REALM_NAME --zone=ZONE_NAME --placement="NUMBER_OF_DAEMONS HOST_NAME_1 HOST_NAME_2"
예
[ceph: root@host01 /]# ceph orch apply rgw rgw --realm=rdc1 --zone=rdc1z --placement="1 host01"
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 ZONE_NAME
예
[ceph: root@host01 /]# ceph config set client.rgw.rgwsvcid.mons-1.jwgwwp rgw_realm rdc1 [ceph: root@host01 /]# ceph config set client.rgw.rgwsvcid.mons-1.jwgwwp rgw_zonegroup rdc1zg [ceph: root@host01 /]# ceph config set client.rgw.rgwsvcid.mons-1.jwgwwp rgw_zone rdc1z
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=https://tower-osd1.cephtips.com --access-key=ACCESS_KEY --secret-key=SECRET_KEY
예
[ceph: root@host01 /]# radosgw-admin realm pull --url=https://tower-osd1.cephtips.com --access-key=3QV0D6ZMMCJZMSCXJ2QJ --secret-key=VpvQWcsfI9OPzUCpR4kynDLAbqa1OIKqRB6WEnH8
첫 번째 데이터 센터에서 기간을 가져옵니다.
구문
radosgw-admin period pull --url=https://tower-osd1.cephtips.com --access-key=ACCESS_KEY --secret-key=SECRET_KEY
예
[ceph: root@host01 /]# radosgw-admin period pull --url=https://tower-osd1.cephtips.com --access-key=3QV0D6ZMMCJZMSCXJ2QJ --secret-key=VpvQWcsfI9OPzUCpR4kynDLAbqa1OIKqRB6WEnH8
두 번째 데이터 센터에 보조 영역을 생성합니다.
구문
radosgw-admin zone create --rgw-zone=RGW_ZONE --rgw-zonegroup=RGW_ZONE_GROUP --endpoints=https://tower-osd4.cephtips.com --access-key=_ACCESS_KEY --secret-key=SECRET_KEY
예
[ceph: root@host04 /]# radosgw-admin zone create --rgw-zone=rdc2z --rgw-zonegroup=rdc1zg --endpoints=https://tower-osd4.cephtips.com --access-key=3QV0D6ZMMCJZMSCXJ2QJ --secret-key=VpvQWcsfI9OPzUCpR4kynDLAbqa1OIKqRB6WEnH8
기간을 커밋합니다.
예
[ceph: root@host04 /]# radosgw-admin period update --commit
적절한 영역 및 영역을 사용하여 Ceph Object Gateway 데몬을 배포하거나 구성 데이터베이스를 업데이트할 수 있습니다.
배치 사양을 사용하여 Ceph Object Gateway를 배포합니다.
구문
ceph orch apply rgw SERVICE_NAME --realm=REALM_NAME --zone=ZONE_NAME --placement="NUMBER_OF_DAEMONS HOST_NAME_1 HOST_NAME_2"
예
[ceph: root@host04 /]# ceph orch apply rgw rgw --realm=rdc1 --zone=rdc2z --placement="1 host04"
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 ZONE_NAME
예
[ceph: root@host04 /]# ceph config set client.rgw.rgwsvcid.mons-1.jwgwwp rgw_realm rdc1 [ceph: root@host04 /]# ceph config set client.rgw.rgwsvcid.mons-1.jwgwwp rgw_zonegroup rdc1zg [ceph: root@host04 /]# ceph config set client.rgw.rgwsvcid.mons-1.jwgwwp rgw_zone rdc2z
Ceph Object Gateway를 다시 시작합니다.
참고NAME
열에 있는ceph orch ps
명령의 출력을 사용하여 SERVICE_TYPE.ID 정보를 가져옵니다.스토리지 클러스터의 개별 노드에서 Ceph Object Gateway를 다시 시작하려면 다음을 수행합니다.
구문
systemctl restart ceph-CLUSTER_ID@SERVICE_TYPE.ID.service
예
[root@host02 ~]# systemctl restart ceph-c4b34c6f-8365-11ba-dc31-529020a7702d@rgw.realm.zone.host01.gwasto.service
스토리지 클러스터의 모든 노드에서 Ceph Object Gateway를 다시 시작하려면 다음을 수행합니다.
구문
ceph orch restart SERVICE_TYPE
예
[ceph: root@host04 /]# ceph orch restart rgw
-
두 번째 데이터 센터의 엔드포인트에
root
로 로그인합니다. 마스터 영역에서 동기화 상태를 확인합니다.
구문
radosgw-admin sync status
예
[ceph: root@host04 /]# radosgw-admin sync status realm 59762f08-470c-46de-b2b1-d92c50986e67 (ldc2) zonegroup 7cf8daf8-d279-4d5c-b73e-c7fd2af65197 (ldc2zg) zone 034ae8d3-ae0c-4e35-8760-134782cb4196 (ldc2z) metadata sync no sync (zone is master)
-
첫 번째 데이터 센터의 엔드포인트에
root
로 로그인합니다. replication-synchronization 영역의 동기화 상태를 확인합니다.
구문
radosgw-admin sync status --rgw-realm RGW_REALM_NAME
예
[ceph: root@host01 /]# radosgw-admin sync status --rgw-realm rdc1 realm 73c7b801-3736-4a89-aaf8-e23c96e6e29d (rdc1) zonegroup d67cc9c9-690a-4076-89b8-e8127d868398 (rdc1zg) zone 67584789-375b-4d61-8f12-d1cf71998b38 (rdc2z) metadata sync syncing full sync: 0/64 shards incremental sync: 64/64 shards metadata is caught up with master data sync source: 705ff9b0-68d5-4475-9017-452107cec9a0 (rdc1z) syncing full sync: 0/128 shards incremental sync: 128/128 shards data is caught up with source realm 73c7b801-3736-4a89-aaf8-e23c96e6e29d (rdc1) zonegroup d67cc9c9-690a-4076-89b8-e8127d868398 (rdc1zg) zone 67584789-375b-4d61-8f12-d1cf71998b38 (rdc2z) metadata sync syncing full sync: 0/64 shards incremental sync: 64/64 shards metadata is caught up with master data sync source: 705ff9b0-68d5-4475-9017-452107cec9a0 (rdc1z) syncing full sync: 0/128 shards incremental sync: 128/128 shards data is caught up with source
로컬 사이트에 데이터를 저장하고 액세스하려면 로컬 영역에 대한 사용자를 생성합니다.
구문
radosgw-admin user create --uid="LOCAL_USER" --display-name="Local user" --rgw-realm=_REALM_NAME --rgw-zonegroup=ZONE_GROUP_NAME --rgw-zone=ZONE_NAME
예
[ceph: root@host04 /]# radosgw-admin user create --uid="local-user" --display-name="Local user" --rgw-realm=ldc1 --rgw-zonegroup=ldc1zg --rgw-zone=ldc1z
중요기본적으로 사용자는 기본 영역에 생성됩니다. 사용자가 로컬 영역의 데이터에 액세스하려면
radosgw-admin
명령에--rgw-realm
인수가 필요합니다.