9.6. 할당량 관리
Ceph 개체 게이트웨이를 사용하면 사용자가 소유한 사용자와 버킷에 할당량을 설정할 수 있습니다. 쿼터에는 버킷의 최대 오브젝트 수와 최대 스토리지 크기(MB)가 포함됩니다.
-
bucket:
--bucket
옵션을 사용하면 사용자가 소유한 버킷에 대한 할당량을 지정할 수 있습니다. -
최대 오브젝트:
--max-objects
설정을 사용하면 최대 오브젝트 수를 지정할 수 있습니다. 음수 값은 이 설정을 비활성화합니다. -
최대 크기:
--max-size
옵션을 사용하면 최대 바이트 수에 대한 할당량을 지정할 수 있습니다. 음수 값은 이 설정을 비활성화합니다. -
할당량 범위:
--quota-scope
옵션은 할당량 범위를 설정합니다. 옵션은버킷
및사용자
입니다. 버킷 할당량은 사용자가 소유한 버킷에 적용됩니다. 사용자 할당량은 사용자에게 적용됩니다.
오브젝트 수가 많은 버킷으로 인해 심각한 성능 문제가 발생할 수 있습니다. 하나의 버킷에서 권장되는 최대 오브젝트 수는 100,000개입니다. 이 수를 늘리려면 버킷 인덱스 분할을 구성합니다. 자세한 내용은 Configuring bucket index resharding을 참조하십시오.
9.6.1. 사용자 할당량 설정
할당량을 활성화하기 전에 먼저 할당량 매개 변수를 설정해야 합니다.
구문
radosgw-admin quota set --quota-scope=user --uid=USER_ID [--max-objects=NUMBER_OF_OBJECTS] [--max-size=MAXIMUM_SIZE_IN_BYTES]
예제
[root@host01 ~]# radosgw-admin quota set --quota-scope=user --uid=johndoe --max-objects=1024 --max-size=1024
num 오브젝트 및/또는 max 크기에 대한 음수 값은 특정 할당량 특성 검사가 비활성화되어 있음을 의미합니다.
9.6.2. 사용자 할당량 활성화 및 비활성화
사용자 할당량을 설정하면 활성화할 수 있습니다.
구문
radosgw-admin quota enable --quota-scope=user --uid=USER_ID
활성화된 사용자 할당량을 비활성화할 수 있습니다.
구문
radosgw-admin quota disable --quota-scope=user --uid=USER_ID
9.6.3. 버킷 할당량 설정
버킷 할당량은 지정된 uid
가 소유한 버킷에 적용됩니다. 사용자와 독립적입니다.
구문
radosgw-admin quota set --uid=USER_ID --quota-scope=bucket --bucket=BUCKET_NAME [--max-objects=NUMBER_OF_OBJECTS] [--max-size=MAXIMUM_SIZE_IN_BYTES]
NUMBER_OF_OBJECTS,MAXIMUM_SIZE_IN_BYTES 의 음수 값은 특정 할당량 특성 검사가 비활성화됨을 의미합니다.
9.6.4. 버킷 할당량 활성화 및 비활성화
버킷 할당량을 설정하고 나면 활성화할 수 있습니다.
구문
radosgw-admin quota enable --quota-scope=bucket --uid=USER_ID
활성화된 버킷 할당량을 비활성화할 수 있습니다.
구문
radosgw-admin quota disable --quota-scope=bucket --uid=USER_ID
9.6.5. 할당량 설정 가져오기
사용자 정보 API를 통해 각 사용자의 할당량 설정에 액세스할 수 있습니다. CLI 인터페이스를 사용하여 사용자 할당량 설정 정보를 읽으려면 다음 명령을 실행합니다.
구문
radosgw-admin user info --uid=USER_ID
테넌트된 사용자의 할당량 설정을 가져오려면 사용자 ID와 테넌트 이름을 지정합니다.
구문
radosgw-admin user info --uid=USER_ID --tenant=TENANT
9.6.6. 할당량 통계 업데이트
할당량 통계가 비동기적으로 업데이트됩니다. 모든 사용자와 모든 버킷에 대한 할당량 통계를 수동으로 업데이트하여 최신 할당량 통계를 검색할 수 있습니다.
구문
radosgw-admin user stats --uid=USER_ID --sync-stats
9.6.7. 사용자 할당량 사용량 통계 가져오기
사용자가 사용한 할당량의 양을 보려면 다음 명령을 실행합니다.
구문
radosgw-admin user stats --uid=USER_ID
최신 데이터를 받으려면 --sync-stats
옵션과 함께 radosgw-admin user stats
명령을 실행해야 합니다.
9.6.8. 할당량 캐시
할당량 통계는 각 Ceph Gateway 인스턴스에 대해 캐시됩니다. 여러 인스턴스가 있는 경우 각 인스턴스에 할당량에 대한 다른 보기가 있으므로 캐시에서 할당량이 완전히 적용되지 않도록 유지할 수 있습니다. 이를 제어하는 옵션은 rgw 버킷 할당량 ttl
,rgw 사용자 할당량 버킷 동기화 간격
, rgw 사용자 할당량 동기화 간격입니다
. 이러한 값이 클수록 할당량 작업이 더 효율적이지만 동기화되지 않은 여러 인스턴스는 다음과 같습니다. 이러한 값이 작을수록 완벽한 시행에 더 근접하게 여러 인스턴스를 얻을 수 있습니다. 이 세 개가 모두 0이면 할당량 캐싱이 효과적으로 비활성화되고 여러 인스턴스가 할당량을 완벽하게 시행합니다.
9.6.9. 글로벌 할당량 읽기 및 쓰기
영역 그룹 맵에서 할당량 설정을 읽고 쓸 수 있습니다. 영역 그룹 맵을 가져오려면 다음을 수행합니다.
[root@host01 ~]# radosgw-admin global quota get
글로벌 할당량 설정은 할당량 세트의
명령을 사용하여 조작할 수 있습니다. 예를 들면 다음과 같습니다.
글로벌 할당량 카운터, 할당량
활성화 ,
비활성화할당량
[root@host01 ~]# radosgw-admin global quota set --quota-scope bucket --max-objects 1024 [root@host01 ~]# radosgw-admin global quota enable --quota-scope bucket
영역과 기간이 있는 다중 사이트 구성에서 글로벌 할당량에 대한 변경 사항을 period update --commit
를 사용하여 커밋해야 합니다. 기간이 없는 경우 변경 사항을 적용하려면 Ceph Object Gateway를 다시 시작해야 합니다.