注意
本文档适用于 Ceph 的开发版本。
区域功能
某些功能需要在启用之前得到所有协作 radosgw 的支持。每个区域列出其 supported_features,每个区域组列出其 enabled_features。在区域组中启用功能之前,它必须得到其所有区域的支持。
在创建新区域和区域组时,所有已知功能都受支持,并且某些功能(见下表)默认启用。但是,在升级现有区域后,必须手动启用新功能。
支持的功能
功能 |
版本 |
默认 |
|---|---|---|
Reef |
启用 |
|
Reef |
禁用 |
|
Squid |
启用 |
重新分片 (resharding)
此功能允许在多站点配置中重新分片存储桶,而不会中断其对象的复制。当 rgw_dynamic_resharding 启用时,它在每个区域上独立运行,并且区域可以选择同一存储桶的不同分片计数。当使用 radosgw-admin bucket reshard 手动重新分片存储桶时,只会修改该区域的存储桶。只有在该区域的所有 RGW 和 OSD 都已升级后,才应将区域功能标记为受支持。
注意
在 Reef 版本之前,多站点部署不支持动态重新分片。
压缩加密 (compress-encrypted)
此功能支持将服务器端加密和压缩结合应用于同一对象。对象数据在加密之前进行压缩。在 Reef 之前,多站点无法正确复制此类对象,因此所有区域必须升级到 Reef 或更高版本才能启用。
警告
压缩比可能会泄漏有关加密数据的信息,并允许攻击者区分两个大小相同的对象是否包含相同的数据。由于这些安全考虑,此功能默认禁用。
通知 v2 (notification_v2)
此功能选择加入用于存储桶通知和主题的新“v2”元数据格式。与“v1”不同,此格式支持多站点复制,并且可以扩展到许多主题。
一旦此功能在领域中的所有区域组上启用,后台进程将把现有的 v1 主题和存储桶通知转换为其 v2 格式。
命令
添加对区域功能的支持
在包含给定区域的集群上
radosgw-admin zone modify --rgw-zone={zone-name} --enable-feature={feature-name}
radosgw-admin period update --commit
注意
period update 命令仅在区域属于某个领域时才有效。否则,所有 radosgw 都需要重启才能注意到更改。
移除对区域功能的支持
在包含给定区域的集群上
radosgw-admin zone modify --rgw-zone={zone-name} --disable-feature={feature-name}
radosgw-admin period update --commit
启用区域组功能
在领域中的任何集群上
radosgw-admin zonegroup modify --rgw-zonegroup={zonegroup-name} --enable-feature={feature-name}
radosgw-admin period update --commit
禁用区域组功能
在领域中的任何集群上
radosgw-admin zonegroup modify --rgw-zonegroup={zonegroup-name} --disable-feature={feature-name}
radosgw-admin period update --commit