mirror of
https://github.com/ceph/ceph
synced 2025-01-04 02:02:36 +00:00
Merge pull request #12338 from liewegas/wip-kraken-notes
doc/release-notes: kraken release notes (draft) Reviewed-by: Abhishek Lekshmanan <abhishek.lekshmanan@gmail.com>
This commit is contained in:
commit
b5458f7756
@ -1,114 +1,3 @@
|
||||
>= 11.0.0
|
||||
11.1.1
|
||||
------
|
||||
|
||||
* The list of monitor hosts/addresses for building the monmap can now be
|
||||
obtained from DNS SRV records. The service name used in when querying the DNS
|
||||
is defined in the "mon_dns_srv_name" config option, which defaults to
|
||||
"ceph-mon".
|
||||
|
||||
* The 'osd class load list' config option is a list of object class names that
|
||||
the OSD is permitted to load (or '*' for all classes). By default it
|
||||
contains all existing in-tree classes for backwards compatibility.
|
||||
|
||||
* The 'osd class default list' config option is a list of object class names
|
||||
(or '*' for all classes) that clients may invoke having only the '*', 'x',
|
||||
'class-read', or 'class-write' capabilities. By default it contains all
|
||||
existing in-tree classes for backwards compatibility. Invoking classes not
|
||||
listed in 'osd class default list' requires a capability naming the class
|
||||
(e.g. 'allow class foo').
|
||||
|
||||
* The 'rgw rest getusage op compat' config option allows you to dump the description of user stats
|
||||
or not in s3 GetUsage API. This config option is of bool type and defaults to false.
|
||||
If the value is true, the reponse data of s3 GetUsage like below:
|
||||
|
||||
"stats": {
|
||||
"TotalBytes": 516,
|
||||
"TotalBytesRounded": 1024,
|
||||
"TotalEntries": 1
|
||||
}
|
||||
|
||||
Or if the value is false, the reponse of s3 GetUsage like below and as it does before we add this config option:
|
||||
|
||||
{
|
||||
516,
|
||||
1024,
|
||||
1
|
||||
}.
|
||||
|
||||
* If your monitors are configured to use the experimental rocksdb
|
||||
backend, you may need to manually adjust the store before upgraded.
|
||||
Monitors now explicitly record what keyvalue backend type they use. If
|
||||
the kv_backend file is missing from the mon_data directory (normally
|
||||
/var/lib/ceph/mon/$cluster-$name/kv_backend) it is now assumed to be leveldb.
|
||||
If you had manually configured the mon to use rocksdb, this file should
|
||||
be created and filled with the string "rocksdb" (newline optional).
|
||||
|
||||
* The 'osd out ...' and 'osd in ...' commands now preserve the OSD
|
||||
weight. Previously the mons would only preserve the weight if the
|
||||
mon automatically marked and OSD out and then in, but not when an
|
||||
admin did so explicitly.
|
||||
|
||||
* The 'ceph osd perf' command will display 'commit_latency(ms)' and
|
||||
'apply_latency(ms)'. Previously, the names of these two columns are
|
||||
'fs_commit_latency(ms)' and 'fs_apply_latency(ms)'. We remove the prefix
|
||||
'fs_', because they are not filestore specific.
|
||||
|
||||
OSD: change the prefix from fs_* to os_*, because commit_latency and …
|
||||
…apply_latency will be used not only for filestore.
|
||||
|
||||
* Monitors will no longer allow pools to be removed by default.
|
||||
The setting mon_allow_pool_delete has to be set to true (defaults to false)
|
||||
before they allow pools to be removed.
|
||||
This is a additional safeguard against pools being removed by accident.
|
||||
|
||||
11.0.0
|
||||
------
|
||||
|
||||
* If you have manually specified the monitor user rocksdb via the
|
||||
``mon keyvaluedb = rocksdb`` option, you will need to manually add a file
|
||||
to the mon data directory to preserve this option::
|
||||
|
||||
echo rocksdb > /var/lib/ceph/mon/ceph-`hostname`/kv_backend
|
||||
|
||||
New monitors will now use rocksdb by default, but if that file is
|
||||
not present, existing monitors will use leveldb. The ``mon keyvaluedb`` option
|
||||
now only affects the backend chosen when a monitor is created.
|
||||
|
||||
* The 'osd crush initial weight' option allows you to specify a CRUSH
|
||||
weight for a newly added OSD. Previously a value of 0 (the default)
|
||||
meant that we should use the size of the OSD's store to weight the
|
||||
new OSD. Now, a value of 0 means it should have a weight of 0, and
|
||||
a negative value (the new default) means we should automatically
|
||||
weight the OSD based on its size. If your configuration file
|
||||
explicitly specifies a value of 0 for this option you will need to
|
||||
change it to a negative value (e.g., -1) to preserve the current
|
||||
behavior.
|
||||
|
||||
* The `osd crush location` config option is no longer supported. Please
|
||||
update your ceph.conf to use the `crush location` option instead.
|
||||
|
||||
* The static libraries are not included by the debian development packages
|
||||
(lib*-dev) any more. As it is not required per debian packaging policy.
|
||||
And their shared versions are packaged as before.
|
||||
|
||||
* The libtool pseudo-libraries (.la files) are not included by the debian
|
||||
development packages (lib*-dev) any more. As it is unneeded, and per
|
||||
https://wiki.debian.org/ReleaseGoals/LAFileRemoval and
|
||||
https://www.debian.org/doc/manuals/maint-guide/advanced.en.html,
|
||||
we should remove them.
|
||||
|
||||
* The jerasure and shec plugins can now detect SIMD instruction at runtime
|
||||
and no longer need to be built for different processors. The following
|
||||
plugins are now deprecated: jerasure_generic, jerasure_sse3, jerasure_sse4,
|
||||
jerasure_neon, shec_generic, shec_sse3, shec_sse4, and shec_neon. If you use any
|
||||
of these plugins directly you will see a warning in the mon log file.
|
||||
Please switch to using just 'jerasure' or 'shec'.
|
||||
|
||||
* The librados omap get_keys and get_vals operations include a start key and a
|
||||
limit on the number of keys to return. The OSD now imposes a configurable
|
||||
limit on the number of keys and number of total bytes it will respond with,
|
||||
which means that a librados user might get fewer keys than they asked for.
|
||||
This is necessary to prevent careless users from requesting an unreasonable
|
||||
amount of data from the cluster in a single operation. The new limits are
|
||||
configured with `osd_max_omap_entries_per_request`, defaulting to 131,072, and
|
||||
'osd_max_omap_bytes_per_request', defaulting to 4MB.
|
||||
|
@ -2,6 +2,217 @@
|
||||
Release Notes
|
||||
===============
|
||||
|
||||
|
||||
v11.1.0 Kraken (draft, release candidate)
|
||||
==============
|
||||
|
||||
This is a release candidate for Kraken, the next stable release series.
|
||||
|
||||
Major Changes from Jewel
|
||||
------------------------
|
||||
|
||||
- *RADOS*:
|
||||
|
||||
* The new *BlueStore* backend now has a stable disk format and is
|
||||
passing our failure and stress testing. Although the backend is
|
||||
still flagged as experimental, we encourage users to try it out
|
||||
for non-production clusters and non-critical data sets.
|
||||
* RADOS now has experimental support for *overwrites on
|
||||
erasure-coded* pools. Because the disk format and implementation
|
||||
are not yet finalized, there is a special pool option that must be
|
||||
enabled to test the new feature. Enabling this option on a cluster
|
||||
will permanently bar that cluster from being upgraded to future
|
||||
versions.
|
||||
* We now default to the AsyncMessenger (``ms type = async``) instead
|
||||
of the legacy SimpleMessenger. The most noticeable difference is
|
||||
that we now use a fixed sized thread pool for network connections
|
||||
(instead of two threads per socket with SimpleMessenger).
|
||||
* Some OSD failures are now detected almost immediately, whereas
|
||||
previously the heartbeat timeout (which defaults to 20 seconds)
|
||||
had to expire. This prevents IO from blocking for an extended
|
||||
period for failures where the host remains up but the ceph-osd
|
||||
process is no longer running.
|
||||
* There is a new ``ceph-mgr`` daemon. It is currently collocated with
|
||||
the monitors by default, and is not yet used for much, but the basic
|
||||
infrastructure is now in place.
|
||||
* The size of encoded OSDMaps has been reduced.
|
||||
* The OSDs now quiesce scrubbing when recovery or rebalancing is in progress.
|
||||
|
||||
- *RGW*:
|
||||
|
||||
* RGW now supports a new zone type that can be used for metadata indexing
|
||||
via Elasticseasrch.
|
||||
* RGW now supports the S3 multipart object copy-part API.
|
||||
* It is possible now to reshard an existing bucket. Note that bucket
|
||||
resharding currently requires that all IO (especially writes) to
|
||||
the specific bucket is quiesced.
|
||||
* RGW now supports data compression for objects.
|
||||
* Civetweb version has been upgraded to 1.8
|
||||
* The Swift static website API is now supported (S3 support has been added
|
||||
previously).
|
||||
* S3 bucket lifecycle API has been added. Note that currently it only supports
|
||||
object expiration.
|
||||
* Support for custom search filters has been added to the LDAP auth
|
||||
implementation.
|
||||
* Support for NFS version 3 has been added to the RGW NFS gateway.
|
||||
* A Python binding has been created for librgw.
|
||||
|
||||
- *RBD*:
|
||||
|
||||
* RBD now supports images stored in an *erasure-coded* RADOS pool
|
||||
using the new (experimental) overwrite support. Images must be
|
||||
created using the new rbd CLI "--data-pool <ec pool>" option to
|
||||
specify the EC pool where the backing data objects are
|
||||
stored. Attempting to create an image directly on an EC pool will
|
||||
not be successful since the image's backing metadata is only
|
||||
supported on a replicated pool.
|
||||
* The rbd-mirror daemon now supports replicating dynamic image
|
||||
feature updates and image metadata key/value pairs from the
|
||||
primary image to the non-primary image.
|
||||
* The number of image snapshots can be optionally restricted to a
|
||||
configurable maximum.
|
||||
* The rbd Python API now supports asynchronous IO operations.
|
||||
|
||||
- *CephFS*:
|
||||
|
||||
* libcephfs function definitions have been changed to enable proper
|
||||
uid/gid control. The library version has been increased to reflect the
|
||||
interface change.
|
||||
* Standby replay MDS daemons now consume less memory on workloads
|
||||
doing deletions.
|
||||
* Scrub now repairs backtrace, and populates `damage ls` with
|
||||
discovered errors.
|
||||
* A new `pg_files` subcommand to `cephfs-data-scan` can identify
|
||||
files affected by a damaged or lost RADOS PG.
|
||||
* The false-positive "failing to respond to cache pressure" warnings have
|
||||
been fixed.
|
||||
|
||||
|
||||
Upgrading from Jewel
|
||||
--------------------
|
||||
|
||||
* All clusters must first be upgraded to Jewel 10.2.z before upgrading
|
||||
to Kraken 11.2.z (or, eventually, Luminous 12.2.z).
|
||||
|
||||
* The ``sortbitwise`` flag must be set on the Jewel cluster before upgrading
|
||||
to Kraken. The latest Jewel (10.2.4+) releases issue a health warning if
|
||||
the flag is not set, so this is probably already set. If it is not, Kraken
|
||||
OSDs will refuse to start and will print and error message in their log.
|
||||
|
||||
|
||||
Upgrading
|
||||
---------
|
||||
|
||||
* The list of monitor hosts/addresses for building the monmap can now be
|
||||
obtained from DNS SRV records. The service name used in when querying the DNS
|
||||
is defined in the "mon_dns_srv_name" config option, which defaults to
|
||||
"ceph-mon".
|
||||
|
||||
* The 'osd class load list' config option is a list of object class names that
|
||||
the OSD is permitted to load (or '*' for all classes). By default it
|
||||
contains all existing in-tree classes for backwards compatibility.
|
||||
|
||||
* The 'osd class default list' config option is a list of object class
|
||||
names (or '*' for all classes) that clients may invoke having only
|
||||
the '*', 'x', 'class-read', or 'class-write' capabilities. By
|
||||
default it contains all existing in-tree classes for backwards
|
||||
compatibility. Invoking classes not listed in 'osd class default
|
||||
list' requires a capability naming the class (e.g. 'allow class
|
||||
foo').
|
||||
|
||||
* The 'rgw rest getusage op compat' config option allows you to dump
|
||||
(or not dump) the description of user stats in the S3 GetUsage
|
||||
API. This option defaults to false. If the value is true, the
|
||||
reponse data for GetUsage looks like::
|
||||
|
||||
"stats": {
|
||||
"TotalBytes": 516,
|
||||
"TotalBytesRounded": 1024,
|
||||
"TotalEntries": 1
|
||||
}
|
||||
|
||||
If the value is false, the reponse for GetUsage looks as it did before::
|
||||
|
||||
{
|
||||
516,
|
||||
1024,
|
||||
1
|
||||
}
|
||||
|
||||
* The 'osd out ...' and 'osd in ...' commands now preserve the OSD
|
||||
weight. That is, after marking an OSD out and then in, the weight
|
||||
will be the same as before (instead of being reset to 1.0).
|
||||
Previously the mons would only preserve the weight if the mon
|
||||
automatically marked and OSD out and then in, but not when an admin
|
||||
did so explicitly.
|
||||
|
||||
* The 'ceph osd perf' command will display 'commit_latency(ms)' and
|
||||
'apply_latency(ms)'. Previously, the names of these two columns are
|
||||
'fs_commit_latency(ms)' and 'fs_apply_latency(ms)'. We remove the
|
||||
prefix 'fs_', because they are not filestore specific.
|
||||
|
||||
* Monitors will no longer allow pools to be removed by default. The
|
||||
setting mon_allow_pool_delete has to be set to true (defaults to
|
||||
false) before they allow pools to be removed. This is a additional
|
||||
safeguard against pools being removed by accident.
|
||||
|
||||
* If you have manually specified the monitor user rocksdb via the
|
||||
``mon keyvaluedb = rocksdb`` option, you will need to manually add a
|
||||
file to the mon data directory to preserve this option::
|
||||
|
||||
echo rocksdb > /var/lib/ceph/mon/ceph-`hostname`/kv_backend
|
||||
|
||||
New monitors will now use rocksdb by default, but if that file is
|
||||
not present, existing monitors will use leveldb. The ``mon
|
||||
keyvaluedb`` option now only affects the backend chosen when a
|
||||
monitor is created.
|
||||
|
||||
* The 'osd crush initial weight' option allows you to specify a CRUSH
|
||||
weight for a newly added OSD. Previously a value of 0 (the default)
|
||||
meant that we should use the size of the OSD's store to weight the
|
||||
new OSD. Now, a value of 0 means it should have a weight of 0, and
|
||||
a negative value (the new default) means we should automatically
|
||||
weight the OSD based on its size. If your configuration file
|
||||
explicitly specifies a value of 0 for this option you will need to
|
||||
change it to a negative value (e.g., -1) to preserve the current
|
||||
behavior.
|
||||
|
||||
* The `osd crush location` config option is no longer supported. Please
|
||||
update your ceph.conf to use the `crush location` option instead.
|
||||
|
||||
* The static libraries are no longer included by the debian
|
||||
development packages (lib*-dev) as it is not required per debian
|
||||
packaging policy. The shared (.so) versions are packaged as before.
|
||||
|
||||
* The libtool pseudo-libraries (.la files) are no longer included by
|
||||
the debian development packages (lib*-dev) as they are not required
|
||||
per https://wiki.debian.org/ReleaseGoals/LAFileRemoval and
|
||||
https://www.debian.org/doc/manuals/maint-guide/advanced.en.html.
|
||||
|
||||
* The jerasure and shec plugins can now detect SIMD instruction at
|
||||
runtime and no longer need to be explicitly configured for different
|
||||
processors. The following plugins are now deprecated:
|
||||
jerasure_generic, jerasure_sse3, jerasure_sse4, jerasure_neon,
|
||||
shec_generic, shec_sse3, shec_sse4, and shec_neon. If you use any of
|
||||
these plugins directly you will see a warning in the mon log file.
|
||||
Please switch to using just 'jerasure' or 'shec'.
|
||||
|
||||
* The librados omap get_keys and get_vals operations include a start key and a
|
||||
limit on the number of keys to return. The OSD now imposes a configurable
|
||||
limit on the number of keys and number of total bytes it will respond with,
|
||||
which means that a librados user might get fewer keys than they asked for.
|
||||
This is necessary to prevent careless users from requesting an unreasonable
|
||||
amount of data from the cluster in a single operation. The new limits are
|
||||
configured with `osd_max_omap_entries_per_request`, defaulting to 131,072, and
|
||||
'osd_max_omap_bytes_per_request', defaulting to 4MB.
|
||||
|
||||
Notable Changes
|
||||
---------------
|
||||
|
||||
[fill me in]
|
||||
|
||||
|
||||
|
||||
v10.2.4 Jewel
|
||||
=============
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user