3.2. 创建存储策略
Ceph 对象网关通过标识放置目标并在与放置目标关联的池中存储 bucket 和对象来存储客户端存储桶和对象。如果您不配置放置目标,并将它们映射到实例区域配置中的池,Ceph 对象网关将使用默认目标和池,如 default_placement
。
存储策略为 Ceph 对象网关客户端提供了一种访问存储策略的方式,即能够将特定类型的存储作为目标,如 SSD、SAS 驱动器、SATA 驱动器。确保持久性、复制、纠删代码等特殊方法。详情请参阅 Red Hat Ceph Storage 4 的存储策略 指南。
要创建存储策略,请使用以下步骤:
-
使用所需的存储策略,创建一个新的 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.json
Copy 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.json
Copy 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.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 获取区配置并将其存储在文件中,如
zone.json
:radosgw-admin zone get > zone.json
[root@master-zone]# radosgw-admin zone get > zone.json
Copy 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.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新 zone group map。
radosgw-admin period update --commit
[root@master-zone]# radosgw-admin period update --commit
Copy 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"