3.10.7. 将对象从一个存储类转换到另一个存储类
对象生命周期转换规则允许您将对象从一个存储类转换为另一个类。
先决条件
- 安装 Ceph 对象网关软件.
- Ceph 对象网关节点的根级别访问权限.
- 创建的用户具有访问权限的 S3 用户。
流程
创建新数据池:
语法
ceph osd pool create POOL_NAME
ceph osd pool create POOL_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
ceph osd pool create test.hot.data
[root@rgw ~]# ceph osd pool create test.hot.data
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 添加新存储类:
语法
radosgw-admin zonegroup placement add --rgw-zonegroup default --placement-id PLACEMENT_TARGET --storage-class STORAGE_CLASS
radosgw-admin zonegroup placement add --rgw-zonegroup default --placement-id PLACEMENT_TARGET --storage-class STORAGE_CLASS
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为新存储类提供区放置信息:
语法
radosgw-admin zone placement add --rgw-zone default --placement-id PLACEMENT_TARGET --storage-class STORAGE_CLASS --data-pool DATA_POOL
radosgw-admin zone placement add --rgw-zone default --placement-id PLACEMENT_TARGET --storage-class STORAGE_CLASS --data-pool DATA_POOL
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意在创建具有写入一次的冷或归档数据存储池时,请考虑设置
compression_type
。在数据池中启用
rgw
应用程序:语法
ceph osd pool application enable POOL_NAME rgw
ceph osd pool application enable POOL_NAME rgw
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[root@rgw ~] ceph osd pool application enable test.hot.data rgw enabled application 'rgw' on pool 'test.hot.data'
[root@rgw ~] ceph osd pool application enable test.hot.data rgw enabled application 'rgw' on pool 'test.hot.data'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
重新启动所有
rgw
守护进程。 创建存储桶:
示例
aws s3api create-bucket --bucket testbucket10 --create-bucket-configuration LocationConstraint=default:default-placement --endpoint-url http://1x.7x.2xx.1xx:80
[root@rgw ~]# aws s3api create-bucket --bucket testbucket10 --create-bucket-configuration LocationConstraint=default:default-placement --endpoint-url http://1x.7x.2xx.1xx:80
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 添加对象:
示例
aws --endpoint=http://1x.7x.2xx.1xx:80 s3api put-object --bucket testbucket10 --key compliance-upload --body /root/test2.txt
[root@rgw ~]# aws --endpoint=http://1x.7x.2xx.1xx:80 s3api put-object --bucket testbucket10 --key compliance-upload --body /root/test2.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建第二个数据池:
语法
ceph osd pool create POOL_NAME
ceph osd pool create POOL_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
ceph osd pool create test.cold.data
[root@rgw ~]# ceph osd pool create test.cold.data
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 添加新存储类:
语法
radosgw-admin zonegroup placement add --rgw-zonegroup default --placement-id PLACEMENT_TARGET --storage-class STORAGE_CLASS
radosgw-admin zonegroup placement add --rgw-zonegroup default --placement-id PLACEMENT_TARGET --storage-class STORAGE_CLASS
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为新存储类提供区放置信息:
语法
radosgw-admin zone placement add --rgw-zone default --placement-id PLACEMENT_TARGET --storage-class STORAGE_CLASS --data-pool DATA_POOL
radosgw-admin zone placement add --rgw-zone default --placement-id PLACEMENT_TARGET --storage-class STORAGE_CLASS --data-pool DATA_POOL
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
radosgw-admin zone placement add --rgw-zone default --placement-id default-placement --storage-class cold.test --data-pool test.cold.data
[root@rgw ~]# radosgw-admin zone placement add --rgw-zone default --placement-id default-placement --storage-class cold.test --data-pool test.cold.data
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在数据池中启用
rgw
应用程序:语法
ceph osd pool application enable POOL_NAME rgw
ceph osd pool application enable POOL_NAME rgw
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[root@rgw ~] ceph osd pool application enable test.cold.data rgw enabled application 'rgw' on pool 'test.cold.data'
[root@rgw ~] ceph osd pool application enable test.cold.data rgw enabled application 'rgw' on pool 'test.cold.data'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
重新启动所有
rgw
守护进程。 要查看区组群配置,请执行:
语法
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要查看区配置,请执行:
语法
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建存储桶:
示例
aws s3api create-bucket --bucket testbucket10 --create-bucket-configuration LocationConstraint=default:default-placement --endpoint-url http://1x.7x.2xx.1xx:80
[root@rgw ~]# aws s3api create-bucket --bucket testbucket10 --create-bucket-configuration LocationConstraint=default:default-placement --endpoint-url http://1x.7x.2xx.1xx:80
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为生命周期配置创建 JSON 文件:
示例
vi lifecycle.json
[root@rgw ~]# vi lifecycle.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在文件中添加特定的生命周期配置规则:
示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 生命周期配置示例显示一个对象,它将在 5 天后从默认
STANDARD
存储类过渡到hot.test
存储类,在 20 天后过渡到cold.test
存储类,并在冷.test 存储类中最终 365
天后过期。在存储桶上设置生命周期配置:
示例
[root@rgw ~] aws s3api put-bucket-lifecycle-configuration --bucket testbucket20 --lifecycle-configuration file://lifecycle.json
[root@rgw ~] aws s3api put-bucket-lifecycle-configuration --bucket testbucket20 --lifecycle-configuration file://lifecycle.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检索存储桶上的生命周期配置:
示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow