3.10. 버킷 라이프사이클
스토리지 관리자는 버킷 라이프사이클 구성을 사용하여 오브젝트를 관리하여 수명 동안 효과적으로 저장할 수 있습니다. 예를 들어 사용 사례에 따라 오브젝트를 저렴한 스토리지 클래스, 아카이브 또는 삭제할 수 있습니다.
radosgw-admin lc rec rec rec는 Red Hat Ceph Storage 3.3에서 더 이상 사용되지 않으며 Red Hat Ceph Storage 4 이상 릴리스에서 지원되지 않습니다.
3.10.1. 라이프사이클 관리 정책 생성 링크 복사링크가 클립보드에 복사되었습니다!
radosgw-admin 명령을 사용하는 대신 표준 S3 작업을 사용하여 버킷 라이프사이클 정책 구성을 관리할 수 있습니다. RADOS 게이트웨이는 버킷에 적용된 Amazon S3 API 정책 언어의 하위 집합만 지원합니다. 라이프사이클 구성에는 버킷 오브젝트 집합에 대해 정의된 하나 이상의 규칙이 포함됩니다.
사전 요구 사항
- 실행 중인 Red Hat Storage 클러스터.
- Ceph 개체 게이트웨이 설치.
- Ceph Object Gateway 노드에 대한 루트 수준 액세스.
- S3 버킷이 생성되었습니다.
- 사용자 액세스 권한으로 생성된 S3 사용자.
-
AWS CLI패키지가 설치된 Ceph Object Gateway 클라이언트에 액세스합니다.
절차
라이프사이클 구성에 사용할 JSON 파일을 생성합니다.
예제
[user@client ~]$ vi lifecycle.json파일에 특정 라이프사이클 구성 규칙을 추가합니다.
예제
{ "Rules": [ { "Filter": { "Prefix": "images/" }, "Status": "Enabled", "Expiration": { "Days": 1 }, "ID": "ImageExpiration" } ] }라이프사이클 구성 예에서는 images 디렉터리에서 1일이 지난 오브젝트를 만료합니다.
버킷에서 라이프사이클 구성을 설정합니다.
구문
aws --endpoint-url=RADOSGW_ENDPOINT_URL:PORT s3api put-bucket-lifecycle-configuration --bucket BUCKET_NAME --lifecycle-configuration file://PATH_TO_LIFECYCLE_CONFIGURATION_FILE/LIFECYCLE_CONFIGURATION_FILE.json예제
[user@client ~]$ aws --endpoint-url=http://host01:80 s3api put-bucket-lifecycle-configuration --bucket testbucket --lifecycle-configuration file://lifecycle.json이 예에서는 현재 디렉터리에
lifecycle.json파일이 있습니다.
검증
버킷의 라이프사이클 구성을 검색합니다.
구문
aws --endpoint-url=RADOSGW_ENDPOINT_URL:PORT s3api get-bucket-lifecycle-configuration --bucket BUCKET_NAME예제
[user@client ~]$ aws --endpoint-url=http://host01:80 s3api get-bucket-lifecycle-configuration --bucket testbucket { "Rules": [ { "Expiration": { "Days": 1 }, "ID": "ImageExpiration", "Filter": { "Prefix": "images/" }, "Status": "Enabled" } ] }선택 사항: Ceph Object Gateway 노드에서 Cephadm 쉘에 로그인하고 버킷 라이프사이클 구성을 검색합니다.
구문
radosgw-admin lc get --bucket=BUCKET_NAME예제
[root@rgw ~]# radosgw-admin lc get --bucket=testbucket { "prefix_map": { "images/": { "status": true, "dm_expiration": false, "expiration": 1, "noncur_expiration": 0, "mp_expiration": 0, "transitions": {}, "noncur_transitions": {} } }, "rule_map": [ { "id": "ImageExpiration", "rule": { "id": "ImageExpiration", "prefix": "", "status": "Enabled", "expiration": { "days": "1", "date": "" }, "mp_expiration": { "days": "", "date": "" }, "filter": { "prefix": "images/", "obj_tags": { "tagset": {} } }, "transitions": {}, "noncur_transitions": {}, "dm_expiration": false } } ] }