]> git.proxmox.com Git - ceph.git/blame - ceph/PendingReleaseNotes
import ceph 16.2.6
[ceph.git] / ceph / PendingReleaseNotes
CommitLineData
f67539c2
TL
1>=17.0.0
2
522d829b
TL
3* `ceph-mgr-modules-core` debian package does not recommend `ceph-mgr-rook`
4 anymore. As the latter depends on `python3-numpy` which cannot be imported in
5 different Python sub-interpreters multi-times if the version of
6 `python3-numpy` is older than 1.19. Since `apt-get` installs the `Recommends`
7 packages by default, `ceph-mgr-rook` was always installed along with
8 `ceph-mgr` debian package as an indirect dependency. If your workflow depends
9 on this behavior, you might want to install `ceph-mgr-rook` separately.
10
f67539c2
TL
11* A new library is available, libcephsqlite. It provides a SQLite Virtual File
12 System (VFS) on top of RADOS. The database and journals are striped over
13 RADOS across multiple objects for virtually unlimited scaling and throughput
14 only limited by the SQLite client. Applications using SQLite may change to
15 the Ceph VFS with minimal changes, usually just by specifying the alternate
16 VFS. We expect the library to be most impactful and useful for applications
17 that were storing state in RADOS omap, especially without striping which
18 limits scalability.
19
522d829b
TL
20* MDS upgrades no longer require stopping all standby MDS daemons before
21 upgrading the sole active MDS for a file system.
22
23* RGW: It is possible to specify ssl options and ciphers for beast frontend now.
24 The default ssl options setting is "no_sslv2:no_sslv3:no_tlsv1:no_tlsv1_1".
25 If you want to return back the old behavior add 'ssl_options=' (empty) to
26 ``rgw frontends`` configuration.
27
28* fs: A file system can be created with a specific ID ("fscid"). This is useful
29 in certain recovery scenarios, e.g., monitor database lost and rebuilt, and
30 the restored file system is expected to have the same ID as before.
31
32>=16.2.6
33--------
34
35* MGR: The pg_autoscaler has a new default 'scale-down' profile which provides more
36 performance from the start for new pools (for newly created clusters).
37 Existing clusters will retain the old behavior, now called the 'scale-up' profile.
38 For more details, see:
39
40 https://docs.ceph.com/en/latest/rados/operations/placement-groups/
41
f67539c2
TL
42>=16.0.0
43--------
b3b6e05e
TL
44
45* `ceph-mgr-modules-core` debian package does not recommend `ceph-mgr-rook`
46 anymore. As the latter depends on `python3-numpy` which cannot be imported in
47 different Python sub-interpreters multi-times if the version of
48 `python3-numpy` is older than 1.19. Since `apt-get` installs the `Recommends`
49 packages by default, `ceph-mgr-rook` was always installed along with
50 `ceph-mgr` debian package as an indirect dependency. If your workflow depends
51 on this behavior, you might want to install `ceph-mgr-rook` separately.
52
53* mgr/nfs: ``nfs`` module is moved out of volumes plugin. Prior using the
54 ``ceph nfs`` commands, ``nfs`` mgr module must be enabled.
55
56* volumes/nfs: The ``cephfs`` cluster type has been removed from the
57 ``nfs cluster create`` subcommand. Clusters deployed by cephadm can
58 support an NFS export of both ``rgw`` and ``cephfs`` from a single
59 NFS cluster instance.
60
61* The ``nfs cluster update`` command has been removed. You can modify
62 the placement of an existing NFS service (and/or its associated
63 ingress service) using ``orch ls --export`` and ``orch apply -i
64 ...``.
65
66* The ``orch apply nfs`` command no longer requires a pool or
67 namespace argument. We strongly encourage users to use the defaults
68 so that the ``nfs cluster ls`` and related commands will work
69 properly.
70
71* The ``nfs cluster delete`` and ``nfs export delete`` commands are
72 deprecated and will be removed in a future release. Please use
73 ``nfs cluster rm`` and ``nfs export rm`` instead.
74
f67539c2
TL
75* CephFS: Disabling allow_standby_replay on a file system will also stop all
76 standby-replay daemons for that file system.
adb31ebb 77
cd265ab1
TL
78* New bluestore_rocksdb_options_annex config parameter. Complements
79 bluestore_rocksdb_options and allows setting rocksdb options without repeating
80 the existing defaults.
f67539c2
TL
81* The cephfs addes two new CDentry tags, 'I' --> 'i' and 'L' --> 'l', and
82 on-RADOS metadata is no longer backwards compatible after upgraded to Pacific
83 or a later release.
cd265ab1 84
adb31ebb
TL
85* $pid expansion in config paths like `admin_socket` will now properly expand
86 to the daemon pid for commands like `ceph-mds` or `ceph-osd`. Previously only
87 `ceph-fuse`/`rbd-nbd` expanded `$pid` with the actual daemon pid.
eafe8130 88
f67539c2
TL
89* The allowable options for some "radosgw-admin" commands have been changed.
90
91 * "mdlog-list", "datalog-list", "sync-error-list" no longer accepts
92 start and end dates, but does accept a single optional start marker.
93 * "mdlog-trim", "datalog-trim", "sync-error-trim" only accept a
94 single marker giving the end of the trimmed range.
95 * Similarly the date ranges and marker ranges have been removed on
96 the RESTful DATALog and MDLog list and trim operations.
97
f91f0fd5
TL
98* ceph-volume: The ``lvm batch` subcommand received a major rewrite. This closed
99 a number of bugs and improves usability in terms of size specification and
100 calculation, as well as idempotency behaviour and disk replacement process.
101 Please refer to https://docs.ceph.com/en/latest/ceph-volume/lvm/batch/ for
102 more detailed information.
e306af50 103
f67539c2
TL
104* Configuration variables for permitted scrub times have changed. The legal
105 values for ``osd_scrub_begin_hour`` and ``osd_scrub_end_hour`` are 0 - 23.
106 The use of 24 is now illegal. Specifying ``0`` for both values causes every
107 hour to be allowed. The legal vaues for ``osd_scrub_begin_week_day`` and
108 ``osd_scrub_end_week_day`` are 0 - 6. The use of 7 is now illegal.
109 Specifying ``0`` for both values causes every day of the week to be allowed.
110
111* Multiple file systems in a single Ceph cluster is now stable. New Ceph clusters
112 enable support for multiple file systems by default. Existing clusters
113 must still set the "enable_multiple" flag on the fs. Please see the CephFS
114 documentation for more information.
115
116* volume/nfs: Recently "ganesha-" prefix from cluster id and nfs-ganesha common
117 config object was removed, to ensure consistent namespace across different
118 orchestrator backends. Please delete any existing nfs-ganesha clusters prior
119 to upgrading and redeploy new clusters after upgrading to Pacific.
120
121* A new health check, DAEMON_OLD_VERSION, will warn if different versions of Ceph are running
122 on daemons. It will generate a health error if multiple versions are detected.
123 This condition must exist for over mon_warn_older_version_delay (set to 1 week by default) in order for the
124 health condition to be triggered. This allows most upgrades to proceed
125 without falsely seeing the warning. If upgrade is paused for an extended
126 time period, health mute can be used like this
127 "ceph health mute DAEMON_OLD_VERSION --sticky". In this case after
128 upgrade has finished use "ceph health unmute DAEMON_OLD_VERSION".
129
130* MGR: progress module can now be turned on/off, using the commands:
131 ``ceph progress on`` and ``ceph progress off``.
132* An AWS-compliant API: "GetTopicAttributes" was added to replace the existing "GetTopic" API. The new API
133 should be used to fetch information about topics used for bucket notifications.
134
135* librbd: The shared, read-only parent cache's config option ``immutable_object_cache_watermark`` now has been updated
136 to property reflect the upper cache utilization before space is reclaimed. The default ``immutable_object_cache_watermark``
137 now is ``0.9``. If the capacity reaches 90% the daemon will delete cold cache.
138* The ceph_volume_client.py library used for manipulating legacy "volumes" in
139 CephFS is removed. All remaining users should use the "fs volume" interface
140 exposed by the ceph-mgr:
141 https://docs.ceph.com/en/latest/cephfs/fs-volumes/
142
143* An AWS-compliant API: "GetTopicAttributes" was added to replace the existing
144 "GetTopic" API. The new API should be used to fetch information about topics
145 used for bucket notifications.
146
147* librbd: The shared, read-only parent cache's config option
148 ``immutable_object_cache_watermark`` has now been updated to properly reflect
149 the upper cache utilization before space is reclaimed. The default
150 ``immutable_object_cache_watermark`` is now ``0.9``. If the capacity reaches
151 90% the daemon will delete cold cache.
152
153* OSD: the option ``osd_fast_shutdown_notify_mon`` has been introduced to allow
154 the OSD to notify the monitor it is shutting down even if ``osd_fast_shutdown``
155 is enabled. This helps with the monitor logs on larger clusters, that may get
156 many 'osd.X reported immediately failed by osd.Y' messages, and confuse tools.
157* rgw/kms/vault: the transit logic has been revamped to better use
158 the transit engine in vault. To take advantage of this new
159 functionality configuration changes are required. See the current
160 documentation (radosgw/vault) for more details.
161
162* Scubs are more aggressive in trying to find more simultaneous possible PGs within osd_max_scrubs limitation.
163 It is possible that increasing osd_scrub_sleep may be necessary to maintain client responsiveness.
164* OSD: the option ``osd_fast_shutdown_notify_mon`` has been introduced to allow
165 the OSD to notify the monitor it is shutting down even if ``osd_fast_shutdown``
166 is enabled. This helps with the monitor logs on larger clusters, that may get
167 many 'osd.X reported immediately failed by osd.Y' messages, and confuse tools.
168
169* The mclock scheduler has been refined. A set of built-in profiles are now available that
170 provide QoS between the internal and external clients of Ceph. To enable the mclock
171 scheduler, set the config option "osd_op_queue" to "mclock_scheduler". The
172 "high_client_ops" profile is enabled by default, and allocates more OSD bandwidth to
173 external client operations than to internal client operations (such as background recovery
174 and scrubs). Other built-in profiles include "high_recovery_ops" and "balanced". These
175 built-in profiles optimize the QoS provided to clients of mclock scheduler.
176
177* Version 2 of the cephx authentication protocol (``CEPHX_V2`` feature bit) is
178 now required by default. It was introduced in 2018, adding replay attack
179 protection for authorizers and making msgr v1 message signatures stronger
180 (CVE-2018-1128 and CVE-2018-1129). Support is present in Jewel 10.2.11,
181 Luminous 12.2.6, Mimic 13.2.1, Nautilus 14.2.0 and later; upstream kernels
182 4.9.150, 4.14.86, 4.19 and later; various distribution kernels, in particular
183 CentOS 7.6 and later. To enable older clients, set ``cephx_require_version``
184 and ``cephx_service_require_version`` config options to 1.
185
522d829b
TL
186* rgw: The Civetweb frontend is now deprecated and will be removed in Quincy.
187
f67539c2
TL
188>=15.0.0
189--------
190
f91f0fd5
TL
191* MON: The cluster log now logs health detail every ``mon_health_to_clog_interval``,
192 which has been changed from 1hr to 10min. Logging of health detail will be
193 skipped if there is no change in health summary since last known.
e306af50 194
f91f0fd5
TL
195* The ``ceph df`` command now lists the number of pgs in each pool.
196
f67539c2
TL
197* Monitors now have config option ``mon_allow_pool_size_one``, which is disabled
198 by default. However, if enabled, user now have to pass the
199 ``--yes-i-really-mean-it`` flag to ``osd pool set size 1``, if they are really
200 sure of configuring pool size 1.
201
202* librbd now inherits the stripe unit and count from its parent image upon creation.
203 This can be overridden by specifying different stripe settings during clone creation.
204
205* The balancer is now on by default in upmap mode. Since upmap mode requires
206 ``require_min_compat_client`` luminous, new clusters will only support luminous
207 and newer clients by default. Existing clusters can enable upmap support by running
208 ``ceph osd set-require-min-compat-client luminous``. It is still possible to turn
209 the balancer off using the ``ceph balancer off`` command. In earlier versions,
210 the balancer was included in the ``always_on_modules`` list, but needed to be
211 turned on explicitly using the ``ceph balancer on`` command.
212
213* MGR: the "cloud" mode of the diskprediction module is not supported anymore
214 and the ``ceph-mgr-diskprediction-cloud`` manager module has been removed. This
215 is because the external cloud service run by ProphetStor is no longer accessible
216 and there is no immediate replacement for it at this time. The "local" prediction
217 mode will continue to be supported.
218
219* Cephadm: There were a lot of small usability improvements and bug fixes:
220
221 * Grafana when deployed by Cephadm now binds to all network interfaces.
222 * ``cephadm check-host`` now prints all detected problems at once.
223 * Cephadm now calls ``ceph dashboard set-grafana-api-ssl-verify false``
224 when generating an SSL certificate for Grafana.
225 * The Alertmanager is now correctly pointed to the Ceph Dashboard
226 * ``cephadm adopt`` now supports adopting an Alertmanager
227 * ``ceph orch ps`` now supports filtering by service name
228 * ``ceph orch host ls`` now marks hosts as offline, if they are not
229 accessible.
230
231* Cephadm can now deploy NFS Ganesha services. For example, to deploy NFS with
232 a service id of mynfs, that will use the RADOS pool nfs-ganesha and namespace
233 nfs-ns::
234
235 ceph orch apply nfs mynfs nfs-ganesha nfs-ns
236
237* Cephadm: ``ceph orch ls --export`` now returns all service specifications in
238 yaml representation that is consumable by ``ceph orch apply``. In addition,
239 the commands ``orch ps`` and ``orch ls`` now support ``--format yaml`` and
240 ``--format json-pretty``.
241
242* CephFS: Automatic static subtree partitioning policies may now be configured
243 using the new distributed and random ephemeral pinning extended attributes on
244 directories. See the documentation for more information:
245 https://docs.ceph.com/docs/master/cephfs/multimds/
246
247* Cephadm: ``ceph orch apply osd`` supports a ``--preview`` flag that prints a preview of
248 the OSD specification before deploying OSDs. This makes it possible to
249 verify that the specification is correct, before applying it.
250
251* RGW: The ``radosgw-admin`` sub-commands dealing with orphans --
252 ``radosgw-admin orphans find``, ``radosgw-admin orphans finish``, and
253 ``radosgw-admin orphans list-jobs`` -- have been deprecated. They have
254 not been actively maintained and they store intermediate results on
255 the cluster, which could fill a nearly-full cluster. They have been
256 replaced by a tool, currently considered experimental,
257 ``rgw-orphan-list``.
258
259* RBD: The name of the rbd pool object that is used to store
260 rbd trash purge schedule is changed from "rbd_trash_trash_purge_schedule"
261 to "rbd_trash_purge_schedule". Users that have already started using
262 ``rbd trash purge schedule`` functionality and have per pool or namespace
263 schedules configured should copy "rbd_trash_trash_purge_schedule"
264 object to "rbd_trash_purge_schedule" before the upgrade and remove
265 "rbd_trash_purge_schedule" using the following commands in every RBD
266 pool and namespace where a trash purge schedule was previously
267 configured::
268
269 rados -p <pool-name> [-N namespace] cp rbd_trash_trash_purge_schedule rbd_trash_purge_schedule
270 rados -p <pool-name> [-N namespace] rm rbd_trash_trash_purge_schedule
271
272 or use any other convenient way to restore the schedule after the
273 upgrade.
274
275* librbd: The shared, read-only parent cache has been moved to a separate librbd
276 plugin. If the parent cache was previously in-use, you must also instruct
277 librbd to load the plugin by adding the following to your configuration::
278
279 rbd_plugins = parent_cache
280
281* Monitors now have a config option ``mon_osd_warn_num_repaired``, 10 by default.
282 If any OSD has repaired more than this many I/O errors in stored data a
283 ``OSD_TOO_MANY_REPAIRS`` health warning is generated.
284
285* Introduce commands that manipulate required client features of a file system::
286
287 ceph fs required_client_features <fs name> add <feature>
288 ceph fs required_client_features <fs name> rm <feature>
289 ceph fs feature ls
290
291* OSD: A new configuration option ``osd_compact_on_start`` has been added which triggers
292 an OSD compaction on start. Setting this option to ``true`` and restarting an OSD
293 will result in an offline compaction of the OSD prior to booting.
294
295* OSD: the option named ``bdev_nvme_retry_count`` has been removed. Because
296 in SPDK v20.07, there is no easy access to bdev_nvme options, and this
297 option is hardly used, so it was removed.
298
299* Now when noscrub and/or nodeep-scrub flags are set globally or per pool,
300 scheduled scrubs of the type disabled will be aborted. All user initiated
301 scrubs are NOT interrupted.
302
303* Alpine build related script, documentation and test have been removed since
304 the most updated APKBUILD script of Ceph is already included by Alpine Linux's
305 aports repository.
306
307* fs: Names of new FSs, volumes, subvolumes and subvolume groups can only
308 contain alphanumeric and ``-``, ``_`` and ``.`` characters. Some commands
309 or CephX credentials may not work with old FSs with non-conformant names.
f91f0fd5
TL
310
311* It is now possible to specify the initial monitor to contact for Ceph tools
312 and daemons using the ``mon_host_override`` config option or
313 ``--mon-host-override <ip>`` command-line switch. This generally should only
314 be used for debugging and only affects initial communication with Ceph's
315 monitor cluster.
f67539c2
TL
316
317* `blacklist` has been replaced with `blocklist` throughout. The following commands have changed:
318
319 - ``ceph osd blacklist ...`` are now ``ceph osd blocklist ...``
320 - ``ceph <tell|daemon> osd.<NNN> dump_blacklist`` is now ``ceph <tell|daemon> osd.<NNN> dump_blocklist``
321
322* The following config options have changed:
323
324 - ``mon osd blacklist default expire`` is now ``mon osd blocklist default expire``
325 - ``mon mds blacklist interval`` is now ``mon mds blocklist interval``
326 - ``mon mgr blacklist interval`` is now ''mon mgr blocklist interval``
327 - ``rbd blacklist on break lock`` is now ``rbd blocklist on break lock``
328 - ``rbd blacklist expire seconds`` is now ``rbd blocklist expire seconds``
329 - ``mds session blacklist on timeout`` is now ``mds session blocklist on timeout``
330 - ``mds session blacklist on evict`` is now ``mds session blocklist on evict``
331
332* CephFS: Compatibility code for old on-disk format of snapshot has been removed.
333 Current on-disk format of snapshot was introduced by Mimic release. If there
334 are any snapshots created by Ceph release older than Mimic. Before upgrading,
335 either delete them all or scrub the whole filesystem:
336
337 ceph daemon <mds of rank 0> scrub_path / force recursive repair
338 ceph daemon <mds of rank 0> scrub_path '~mdsdir' force recursive repair
339
340* CephFS: Scrub is supported in multiple active mds setup. MDS rank 0 handles
341 scrub commands, and forward scrub to other mds if necessary.
342
343* The following librados API calls have changed:
344
345 - ``rados_blacklist_add`` is now ``rados_blocklist_add``; the former will issue a deprecation warning and be removed in a future release.
346 - ``rados.blacklist_add`` is now ``rados.blocklist_add`` in the C++ API.
347
348* The JSON output for the following commands now shows ``blocklist`` instead of ``blacklist``:
349
350 - ``ceph osd dump``
351 - ``ceph <tell|daemon> osd.<N> dump_blocklist``
352
353* caps: MON and MDS caps can now be used to restrict client's ability to view
354 and operate on specific Ceph file systems. The FS can be specificed using
355 ``fsname`` in caps. This also affects subcommand ``fs authorize``, the caps
356 produce by it will be specific to the FS name passed in its arguments.
357
358* fs: root_squash flag can be set in MDS caps. It disallows file system
359 operations that need write access for clients with uid=0 or gid=0. This
360 feature should prevent accidents such as an inadvertent `sudo rm -rf /<path>`.
361
362* fs: "fs authorize" now sets MON cap to "allow <perm> fsname=<fsname>"
363 instead of setting it to "allow r" all the time.
364
365* ``ceph pg #.# list_unfound`` output has been enhanced to provide
366 might_have_unfound information which indicates which OSDs may
367 contain the unfound objects.
368
369* The ``ceph orch apply rgw`` syntax and behavior have changed. RGW
370 services can now be arbitrarily named (it is no longer forced to be
371 `realm.zone`). The ``--rgw-realm=...`` and ``--rgw-zone=...``
372 arguments are now optional, which means that if they are omitted, a
373 vanilla single-cluster RGW will be deployed. When the realm and
374 zone are provided, the user is now responsible for setting up the
375 multisite configuration beforehand--cephadm no longer attempts to
376 create missing realms or zones.