5.13. 동일한 스토리지 클러스터에서 여러 영역 구성
이 섹션에서는 동일한 스토리지 클러스터에서 여러 영역을 구성하는 방법에 대해 설명합니다. 이는 다중 사이트에 대한 고급 사용 사례입니다. 동일한 스토리지 클러스터에서 여러 영역을 구성하면 로컬 영역을 사용하여 로컬 영역과 보조 사이트에 복제되는 데이터에 대한 복제된 영역을 처리할 수 있습니다.
Red Hat은 각 영역에 고유한 Ceph Object Gateway를 보유하는 것이 좋습니다.
사전 요구 사항
- 스토리지 클러스터의 각 데이터 센터에 대한 액세스 키 및 시크릿 키입니다.
- 스토리지 클러스터에서 Red Hat Ceph Storage 데이터 센터를 실행하는 두 가지.
- 모든 노드에 대한 루트 수준 또는 sudo 액세스.
- 각 데이터 센터에는 고유의 로컬 영역이 있습니다. 두 사이트에서 복제되는 영역을 공유합니다.
- Ceph Object Gateway 노드에서 Red Hat Ceph Storage 설치 가이드에 있는 Red Hat Ceph Storage 설치 요구 사항에 나열된 작업을 수행합니다.
- 각 Ceph Object Gateway 노드에 대해 Red Hat Ceph Storage 설치 가이드의 Ceph Object Gateway 설치 섹션에서 1~7단계를 수행합니다.
절차
스토리지 클러스터의 첫 번째 데이터 센터에 하나의 로컬 영역을 생성합니다.
구문
radosgw-admin realm create --rgw-realm=REALM_NAME --default
예제
[root@rgw1 ~]# 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
예제
[root@rgw1 ~]# 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]
예제
[root@rgw1 ~]# radosgw-admin zone create --rgw-zonegroup=ldc1zg --rgw-zone=ldc1z --master --default --endpoints=http://rgw.example.com
기간을 커밋합니다.
예제
[root@rgw1 ~]# radosgw-admin period update --commit
rgw_realm, rgw_
zonegroup 및
이름으로rgw_zone
ceph.conf
를 업데이트합니다.구문
rgw_realm = REALM_NAME rgw_zonegroup = ZONE_GROUP_NAME rgw_zone = ZONE_NAME
예제
rgw_realm = ldc1 rgw_zonegroup = ldc1zg rgw_zone = ldc1z
RGW 데몬을 다시 시작하십시오.
구문
systemctl restart ceph-radosgw@rgw.$(hostname -s).rgw0.service
스토리지 클러스터의 두 번째 데이터 센터에 하나의 로컬 영역을 생성합니다.
구문
radosgw-admin realm create --rgw-realm=REALM_NAME --default
예제
[root@rgw2 ~]# 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
예제
[root@rgw2 ~]# 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]
예제
[root@rgw2 ~]# radosgw-admin zone create --rgw-zonegroup=ldc2zg --rgw-zone=ldc2z --master --default --endpoints=http://rgw.example.com
기간을 커밋합니다.
예제
[root@rgw2 ~]# radosgw-admin period update --commit
rgw_realm, rgw_
zonegroup 및
이름으로rgw_zone
ceph.conf
를 업데이트합니다.구문
rgw_realm = REALM_NAME rgw_zonegroup = ZONE_GROUP_NAME rgw_zone = ZONE_NAME
예제
rgw_realm = ldc2 rgw_zonegroup = ldc2zg rgw_zone = ldc2z
RGW 데몬을 다시 시작하십시오.
구문
systemctl restart ceph-radosgw@rgw.$(hostname -s).rgw0.service
스토리지 클러스터의 첫 번째 데이터 센터에 복제된 영역을 생성합니다.
구문
radosgw-admin realm create --rgw-realm=REPLICATED_REALM_1 --default
예제
[user@rgw1 ~] 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
예제
[root@rgw1 ~]# 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]
예제
[root@rgw1 ~]# radosgw-admin zone create --rgw-zonegroup=rdc1zg --rgw-zone=rdc1z --master --default --endpoints=http://rgw.example.com
복제/동기화 사용자를 생성하고 시스템 사용자를 다중 사이트의 마스터 영역에 추가합니다.
구문
radosgw-admin user create --uid="r_REPLICATION_SYNCHRONIZATION_USER_" --display-name="Replication-Synchronization User" --system radosgw-admin zone modify --rgw-zone=RGW_ZONE --access-key=ACCESS_KEY --secret=SECRET_KEY
예제
[root@rgw1 ~]# radosgw-admin zone modify --rgw-zone=rdc1zg --access-key=3QV0D6ZMMCJZMSCXJ2QJ --secret=VpvQWcsfI9OPzUCpR4kynDLAbqa1OIKqRB6WEnH8
기간을 커밋합니다.
구문
radosgw-admin period update --commit
첫 번째 데이터 센터에 대해
rgw_realm
,rgw_zonegroup
및rgw_zone
이름으로ceph.conf
를 업데이트합니다.구문
rgw_realm = REALM_NAME rgw_zonegroup = ZONE_GROUP_NAME rgw_zone = ZONE_NAME
예제
rgw_realm = rdc1 rgw_zonegroup = rdc1zg rgw_zone = rdc1z
RGW 데몬을 다시 시작하십시오.
구문
systemctl restart ceph-radosgw@rgw.$(hostname -s).rgw0.service
두 번째 데이터 센터에서 복제 영역을 가져옵니다.
구문
radosgw-admin realm pull --url=https://tower-osd1.cephtips.com --access-key=ACCESS_KEY --secret-key=SECRET_KEY
예제
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
예제
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
예제
[root@rgw2 ~]# radosgw-admin zone create --rgw-zone=rdc2z --rgw-zonegroup=rdc1zg --endpoints=https://tower-osd4.cephtips.com --access-key=3QV0D6ZMMCJZMSCXJ2QJ --secret-key=VpvQWcsfI9OPzUCpR4kynDLAbqa1OIKqRB6WEnH8
기간을 커밋합니다.
구문
radosgw-admin period update --commit
두 번째 데이터 센터의
rgw_realm
,rgw_zonegroup
및rgw_zone
이름으로ceph.conf
를 업데이트합니다.구문
rgw_realm = REALM_NAME rgw_zonegroup = ZONE_GROUP_NAME rgw_zone = ZONE_NAME
예제
rgw realm = rdc1 rgw zonegroup = rdc1zg rgw zone = rdc2z
Ceph Object Gateway 데몬을 다시 시작합니다.
구문
systemctl restart ceph-radosgw@rgw.$(hostname -s).rgw0.service
두 번째 데이터 센터에 로그인하고 마스터 영역에서 동기화 상태를 확인합니다.
구문
radosgw-admin sync status
예제
[root@rgw2 ~]# 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)
첫 번째 데이터 센터에 로그인하고 replication-synchronization 영역의 동기화 상태를 확인합니다.
구문
radosgw-admin sync status --rgw-realm RGW_REALM_NAME
예제
[root@rgw1 ~]# 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
예제
[root@rgw2 ~]# radosgw-admin user create --uid="local-user" --display-name="Local user" --rgw-realm=ldc1 --rgw-zonegroup=ldc1zg --rgw-zone=ldc1z
기본적으로 사용자는 기본 영역에 생성됩니다. 사용자가 로컬 영역의 데이터에 액세스하려면 radosgw-admin
명령에 --rgw-realm
인수가 필요합니다.