Chapter 3. New features
This section lists all major updates, enhancements, and new features introduced in this release of Red Hat Ceph Storage.
The main features added by this release are:
- Vault support
- Support for co-locating the Grafana container alongside the OSD container
- Ability to clone subvolumes from snapshots in CephFS
Vault support
With the Red Hat Ceph Storage 4.1 release, the Ceph object storage gateway (RGW) can now interoperate with the Hashicorp Vault secure key management service. As a storage administrator, you can securely store keys, passwords and certificates in the HashiCorp Vault for use with the Ceph Object Gateway. The HashiCorp Vault provides a secure key management service for server-side encryption used by the Ceph Object Gateway.
For more information, see the The HashiCorp Vault section in the Red Hat Ceph Storage Object Gateway Configuration and Administration Guide.
Support for co-locating the Grafana container
The Red Hat Ceph Storage 4.1 release supports the co-location of the Grafana container with Ceph OSD and an additional scale-out daemon, cardinality 2. Cardinality 2 was previously only supported with the Ceph Object Gateway in the Red Hat Ceph Storage 4.0 release.
For more information, see the Red Hat Ceph Supported Configurations article.
Cloning subvolumes from snapshots in CephFS
Subvolumes can be created by cloning subvolume snapshots. It is an asynchronous operation involving copying data from a snapshot to a subvolume.
For information about cloning subvolumes from snapshots in CephFS, see the Red Hat Ceph Storage File System Guide.
3.1. The Ceph Ansible utility
ceph-ansible
now supports multisite deployments with multiple realms
Previously, ceph-ansible
multisite deployments supported a single RGW realm. With this update, ceph-ansible
now supports multiple realms with their associated zones, zonegroups, and endpoints.
For more information, see Configuring multisite Ceph Object Gateways in the Red Hat Ceph Storage Installation Guide.
The dedicated journal devices retain their configuration when migrating from Filestore OSD to Bluestore
Previously, dedicated journal devices for Filestore OSD could not be reused when migrating to Bluestore OSD DB. An example of a dedicated device configuration is using a HDD for data and an SSD for journaling.
With this update, dedicated journal devices retain their configuration during the migration, so that they can be reused with the Bluestore OSD DB.
For more information, see How to Migrate the Object Store from FileStore to BlueStore in the Administration Guide.
purge-container-cluster.yml
playbook now supports clusters with three-digit IDs
Previously, purge-container-cluster
only supported Red Hat Ceph Storage clusters with up to 99 OSDs. This is because the playbook supported ceph-osd services with two-digit indices. With this update, you can properly purge clusters with three-digit IDs.
OpenStack users can deploy Ceph Dashboard with a default admin account with read-only privileges
Previously, changes made from Ceph Dashboard by OpenStack users with full admin privileges could override cluster settings or status. With this feature, Ceph Dashboard admin account can only monitor Ceph cluster status and retrieve information and settings.
Added support for logrotate
in containerized Red Hat Ceph Storage deployments
With this release, containerized Ceph logs are rotated using the logrotate
program. This can help prevent the file system from filling up with log data.
3.2. Ceph File System
Independent life-cycle operations for subvolumes and subvolume snapshots
Because the CSI protocol treats snapshots as first class objects, this requires source subvolumes and subvolume snapshots to operate independently of each other. Since the Kubernetes storage interface uses the CSI protocol, subvolume removal with a snapshot retention option (--retain-snapshots
) has been implemented. This allows other life-cycle operations on a retained snapshot to proceed appropriately.
3.3. The Ceph Volume utility
Ceph OSD encryption support when using ceph-volume
in raw mode
With this release, the ceph-volume
command can prepare Ceph OSDs for encryption using raw
mode.
3.4. Distribution
An S3 client is included in the Ceph tools repository
Starting with this release, an S3 command-line client, s3cmd
is included in the Red Hat Ceph Storage 4 Tools software repository. To install the S3 command-line client package, enable the rhceph-4-tools-for-rhel-8-x86_64-rpms
repository first.
3.5. Ceph Object Gateway
Support for Amazon S3 resources in Ceph Object Gateway
AWS provides the Secure Token Service (STS) to allow secure federation with existing OpenID Connect/ OAuth2.0 compliant identity services such as Keycloak. STS is a standalone REST service that provides temporary tokens for an application or user to access a Simple Storage Service (S3) endpoint after the user authenticates against an identity provider (IDP).
Previously, users without permanent Amazon Web Services (AWS) credentials could not access S3 resources through Ceph Object Gateway. With this update, Ceph Object Gateway supports STS AssumeRoleWithWebIdentity. This service allows web application users who have been authenticated with an OpenID Connect/OAuth 2.0 compliant IDP to access S3 resources through Ceph Object Gateway.
For more information, see Secure Token Service in the Developer Guide.
AWS S3 ListObjects v2 operation provides an improved mechanism to list the objects in the S3 bucket without additional configuration
Previously, S3 protocol clients, like S3A and the awscli command-line tool, had to be configured with the older ListObjects method. With this feature, AWS S3 ListObjects v2 operation is implemented, that provides an improved mechanism to list objects in an S3 bucket.
Ceph Object Gateway’s default bucket-index shards increased to 11
The default number of bucket-index shards for new buckets has been increased, from 1 to 11. This increases the amount of write throughput for small buckets and delays the onset of dynamic resharding. This change only affects new deployments and zones.
For existing deployments, you can change this default value using the radosgw-admin zonegroup modify --bucket-index-max-shards=11
command. If the zonegroup is part of a realm, the change must be committed with radosgw-admin period update --commit
command. If a commit is not done, then the change will take effect until after the Ceph Object Gateways are restarted.
After an upgrade, the new default value has to be increased manually, but on new Red Hat Ceph Storage 4.1 deployments the new default value is set automatically.
The Ceph Object Gateway log includes access log
for Beast
With this release, Beast, the front-end web server, now includes an Apache-style access log
line in the Ceph Object Gateway log. This update to the log helps diagnose connection and client network issues.
The minimum value of a session token’s expiration is configurable
The rgw_sts_min_session_duration
option can now have a value lower than the default value of 900 seconds.
Listing the contents of large buckets
With this release, the ordered listing when delimited, and possible prefix, are specified more efficiently by skipping over object in lower pseudo-directories. This allows fewer interactions between the Ceph client and the Ceph Object Gateway, and also between the Ceph Object Gateway and the Ceph OSDs. This enhancement, along with configuration changes to HA proxy allows the listing of contents in large buckets.
The Ceph Object Gateway log includes the access log for Beast
With this release, Beast, the front-end web server, now includes an Apache-style access log line in the Ceph Object Gateway log. This update to the log helps diagnose connection and client network issues.
3.6. RADOS
Update to use ping times to track network performance
Previously, when network problems occur, it was difficult to distinguish from other performance issues. With this release, a heath warning is generated if the average Red Hat Ceph Storage OSD heartbeat exceeds a configurable threshold for any computed intervals. The Red Hat Ceph Storage OSD computes 1 minute,5 minute and 15 minute intervals with the average, minimum and maximum values.
BlueStore compression stats added to the dashboard
With this release, compression related performance metrics for BlueStore OSDs will now be visible in the dashboard.
For more information about the dashboard, see the Dashboard Guide.
The storage cluster status changes when a Ceph OSD encounters an I/O error
With this release, the Ceph Monitor now has a mon_osd_warn_num_repaired
option, which is set to 10
by default. If any Ceph OSD has repaired more than this many I/O errors in stored data, a OSD_TOO_MANY_REPAIRS
health warning status is generated. To clear this warning, the new clear_shards_repaired
option has been added to the ceph tell
command. For example:
ceph tell osd.NUMBER clear_shards_repaired [COUNT]
By default, the clear_shards_repaired
option sets the repair count to 0
. To be warned again if additional Ceph OSD repairs are performed, you can specify the value of the mon_osd_warn_num_repaired
option.
Update to the heartbeat grace period
Previously, when there were no Ceph OSD failures for more than 48 hours, there was no mechanism to reset the grace timer back to the default value. With this release, the heartbeat grace timer is reset to the default value of 20 seconds, if there have been no failures on a Ceph OSD for 48 hours. When the failure interval between the last failure and the latest failure exceeds 48 hours, the grace timer is reset to the default value of 20 seconds.
The grace time is the interval in which a Ceph storage cluster considers a Ceph OSD as down by the absence of a heartbeat. The grace time is scaled based on lag estimations or on how frequently a Ceph ODS is experiencing failures.
The osd_client_message_cap
option has been added back
Previously, the osd_client_message_cap
option was removed, but with this release, the osd_client_message_cap
option has been re-introduced. This option helps control the maximum number of in-flight client requests by throttling those requests. Doing this can be helpful when a Ceph OSD flaps due to overwhelming amount of client-based traffic.