doc/radosgw/zone-features.rst
.. _radosgw-zone-features:
Some features require support from all cooperating radosgws before they can be enabled. Each zone lists its supported_features, and each zonegroup lists its enabled_features. Before a feature can be enabled in the zonegroup, it must be supported by all of its zones.
On creation of new zones and zonegroups, all known features are supported and some features (see table below) are enabled by default. After upgrading an existing zone, however, new features must be enabled manually.
+-----------------------------------+---------+----------+
| Feature | Release | Default |
+===================================+=========+==========+
| :ref:feature_resharding | Reef | Enabled |
+-----------------------------------+---------+----------+
| :ref:feature_compress_encrypted | Reef | Disabled |
+-----------------------------------+---------+----------+
| :ref:feature_notification_v2 | Squid | Enabled |
+-----------------------------------+---------+----------+
.. _feature_resharding:
resharding
This feature allows buckets to be resharded in a multisite configuration
without interrupting the replication of their objects. When
``rgw_dynamic_resharding`` is enabled, it runs on each zone independently, and
zones may choose different shard counts for the same bucket. When buckets are
resharded manually with ``radosgw-admin bucket reshard``, only that zone's
bucket is modified. A zone feature should only be marked as supported after all
of its RGWs and OSDs have upgraded.
.. note:: Dynamic resharding is not supported in multisite deployments prior to
the Reef release.
.. _feature_compress_encrypted:
compress-encrypted
This feature enables support for combining :ref:Server-Side Encryption <radosgw-encryption> and
:ref:radosgw-compression on the same object. Object data gets compressed before encryption.
Prior to Reef, multisite would not replicate such objects correctly, so all zones
must upgrade to Reef or later before enabling.
.. warning:: The compression ratio may leak information about the encrypted data, and allow attackers to distinguish whether two same-sized objects might contain the same data. Due to these security considerations, this feature is disabled by default.
.. _feature_notification_v2:
notification_v2
This feature opts in to a new "v2" metadata format for bucket notifications and
topics. Unlike "v1", this format is supported by multisite replication and can
scale to many topics.
Once this feature is enabled on all zonegroups in the realm, a background process
will convert existing v1 topics and bucket notifications into their v2 format.
Commands
--------
Add support for a zone feature
On the cluster that contains the given zone:
.. prompt:: bash $
radosgw-admin zone modify --rgw-zone={zone-name} --enable-feature={feature-name} radosgw-admin period update --commit
.. note:: The period update command only works if the zone belongs to a realm.
Otherwise, all radosgws will need to restart before they notice the change.
Remove support for a zone feature
On the cluster that contains the given zone:
.. prompt:: bash $
radosgw-admin zone modify --rgw-zone={zone-name} --disable-feature={feature-name}
radosgw-admin period update --commit
Enable a zonegroup feature
~~~~~~~~~~~~~~~~~~~~~~~~~~
On any cluster in the realm:
.. prompt:: bash $
radosgw-admin zonegroup modify --rgw-zonegroup={zonegroup-name} --enable-feature={feature-name}
radosgw-admin period update --commit
Disable a zonegroup feature
~~~~~~~~~~~~~~~~~~~~~~~~~~~
On any cluster in the realm:
.. prompt:: bash $
radosgw-admin zonegroup modify --rgw-zonegroup={zonegroup-name} --disable-feature={feature-name}
radosgw-admin period update --commit