3.2. 创建存储策略
Ceph 对象网关通过标识放置目标并在与放置目标关联的池中存储 bucket 和对象来存储客户端存储桶和对象。如果您不配置放置目标,并将它们映射到实例区域配置中的池,Ceph 对象网关将使用默认目标和池,如 default_placement。
存储策略为 Ceph 对象网关客户端提供了一种访问存储策略的方式,即能够将特定类型的存储作为目标,如 SSD、SAS 驱动器、SATA 驱动器。确保持久性、复制、纠删代码等特殊方法。详情请参阅 Red Hat Ceph Storage 3 的存储策略 指南。
要创建存储策略,请使用以下步骤:
-
使用所需的存储策略,创建一个新的 pool
.rgw.buckets.special。例如,使用纠删代码、特定 CRUSH 规则集、副本数和 apg_num 和计数自定义的池。pgp_num 获取 zone group 配置并将其存储在文件中,如
zonegroup.json:语法
radosgw-admin zonegroup --rgw-zonegroup=<zonegroup_name> get > zonegroup.json
[root@master-zone]# radosgw-admin zonegroup --rgw-zonegroup=<zonegroup_name> get > zonegroup.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
radosgw-admin zonegroup --rgw-zonegroup=default get > zonegroup.json
[root@master-zone]# radosgw-admin zonegroup --rgw-zonegroup=default get > zonegroup.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在
zonegroup.json文件中,在placement_target下添加一个特殊placement条目。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用修改的 zone
group.json 文件设置 zone group:radosgw-admin zonegroup set < zonegroup.json
[root@master-zone]# radosgw-admin zonegroup set < zonegroup.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 获取区配置并将其存储在文件中,如
zone.json:radosgw-admin zone get > zone.json
[root@master-zone]# radosgw-admin zone get > zone.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑区文件并在
placement_pool下添加新放置策略键:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 设置新区域配置。
radosgw-admin zone set < zone.json
[root@master-zone]# radosgw-admin zone set < zone.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 更新 zone group map。
radosgw-admin period update --commit
[root@master-zone]# radosgw-admin period update --commitCopy to Clipboard Copied! Toggle word wrap Toggle overflow special-placement条目列为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"
$ 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"