9장. 관리
스토리지 관리자는 radosgw-admin
CLI(명령줄 인터페이스)를 사용하거나 Red Hat Ceph Storage 대시보드를 사용하여 Ceph Object Gateway를 관리할 수 있습니다.
Red Hat Ceph Storage 대시보드에서 Ceph Object Gateway 기능을 일부 사용할 수 있는 것은 아닙니다.
사전 요구 사항
- 정상 실행 Red Hat Ceph Storage 클러스터.
- Ceph Object Gateway 소프트웨어 설치.
9.1. 스토리지 정책 생성
Ceph 개체 게이트웨이는 배치 대상을 식별하고 배치 대상과 연결된 풀에 버킷과 오브젝트를 저장하여 클라이언트 버킷 및 개체 데이터를 저장합니다. 배치 대상을 구성하지 않고 인스턴스의 영역 구성의 풀에 매핑하지 않으면 Ceph Object Gateway는 기본 대상 및 풀(예: default_placement
)을 사용합니다.
스토리지 정책을 통해 Ceph Object Gateway 클라이언트에 스토리지 전략(예: 지속성, 복제 및 삭제 코딩)을 보장하는 방법으로 SSD, SAS 드라이브 및 SATA 드라이브와 같은 특정 유형의 스토리지를 대상으로 하는 기능을 제공합니다. 자세한 내용은 Red Hat Ceph Storage 8용 스토리지 전략 가이드를 참조하십시오.
스토리지 정책을 생성하려면 다음 절차를 따르십시오.
-
원하는 스토리지 전략을 사용하여 새 풀
.rgw.buckets.special
을 만듭니다. 예를 들어, erasure-coding, 특정 CRUSH 규칙 세트, 복제본 수,pg_num
및pgp_num
수로 사용자 지정된 풀입니다. 영역 그룹 구성을 가져와서 파일에 저장합니다.
구문
radosgw-admin zonegroup --rgw-zonegroup=ZONE_GROUP_NAME get > FILE_NAME.json
예
[root@host01 ~]# radosgw-admin zonegroup --rgw-zonegroup=default get > zonegroup.json
zonegroup.json
파일의placement_target
아래에특수
배치 항목을 추가합니다.예
{ "name": "default", "api_name": "", "is_master": "true", "endpoints": [], "hostnames": [], "master_zone": "", "zones": [{ "name": "default", "endpoints": [], "log_meta": "false", "log_data": "false", "bucket_index_max_shards": 5 }], "placement_targets": [{ "name": "default-placement", "tags": [] }, { "name": "special-placement", "tags": [] }], "default_placement": "default-placement" }
수정된
zonegroup.json
파일로 영역 그룹을 설정합니다.예
[root@host01 ~]# radosgw-admin zonegroup set < zonegroup.json
영역 구성을 가져와서 파일에 저장합니다(예:
zone.json
:):예
[root@host01 ~]# radosgw-admin zone get > zone.json
영역 파일을 편집하고
placement_pool
아래에 새 배치 정책 키를 추가합니다.예
{ "domain_root": ".rgw", "control_pool": ".rgw.control", "gc_pool": ".rgw.gc", "log_pool": ".log", "intent_log_pool": ".intent-log", "usage_log_pool": ".usage", "user_keys_pool": ".users", "user_email_pool": ".users.email", "user_swift_pool": ".users.swift", "user_uid_pool": ".users.uid", "system_key": { "access_key": "", "secret_key": "" }, "placement_pools": [{ "key": "default-placement", "val": { "index_pool": ".rgw.buckets.index", "data_pool": ".rgw.buckets", "data_extra_pool": ".rgw.buckets.extra" } }, { "key": "special-placement", "val": { "index_pool": ".rgw.buckets.index", "data_pool": ".rgw.buckets.special", "data_extra_pool": ".rgw.buckets.extra" } }] }
새 영역 구성을 설정합니다.
예
[root@host01 ~]# radosgw-admin zone set < zone.json
영역 그룹 맵을 업데이트합니다.
예
[root@host01 ~]# radosgw-admin period update --commit
특수 위치 항목은
으로 나열됩니다.placement
_target요청 시 스토리지 정책을 지정하려면 다음을 수행합니다.
예
$ curl -i http://10.0.0.1/swift/v1/TestContainer/file.txt -X PUT -H "X-Storage-Policy: special-placement" -H "X-Auth-Token: AUTH_rgwtxxxxxx"