We’re glad to announce the first release of the Pacific v16.2.0 stable series. There have been a lot of changes across components from the previous Ceph releases, and we advise everyone to go through the release and upgrade notes carefully.
Cephadm can automatically upgrade an Octopus cluster to Pacific with a single command to start the process.
Cephadm has improved significantly over the past year, with improved support for RGW (standalone and multisite), and new support for NFS and iSCSI. Most of these changes have already been backported to recent Octopus point releases, but with the Pacific release we will switch to backporting bug fixes only.
Packages are built for the following distributions:
With the exception of Debian Buster, packages and containers are built for both x86_64 and aarch64 (arm64) architectures.
Note that cephadm clusters may work on many other distributions, provided Python 3 and a recent version of Docker or Podman is available to manage containers.
The Dashboard brings improvements in the following management areas:
Orchestrator/Cephadm:
Official mgr ceph api
:
Accept
header (starting with v1.0).RGW:
Security (multiple enhancements and fixes resulting from a pen testing conducted by IBM):
Pools:
Alerts and notifications:
Other:
ceph -s
has been improved to show recovery progress in one progress bar. More detailed progress bars are visible via the ceph progress
command.raw
(rbd export v1
) or basic qcow
and qcow2
formats. Support for rbd export v2
format, advanced QCOW features and rbd export-diff
snapshot differentials is expected in future releases.librbd.dll
and rbd-wnbd
(Windows Network Block Device) daemon. It allows mapping, unmapping and manipulating images similar to rbd-nbd
.s3-select-feature-table
for supported queries.persistent
, where events are recorded in rados for reliable delivery.cls_fifo
to avoid large omap cluster warnings and make their trimming cheaper.enable_multiple
flag on the FS.mds_autoscaler
ceph-mgr
plugin is available for automatically deploying MDS daemons in response to changes to the max_mds
configuration. Expect further enhancements in the future to simplify and automate MDS scaling.cephfs-top
is a new utility for looking at performance metrics from CephFS clients. It is development preview quality and will have bugs.snap_schedule
ceph-mgr
plugin provides a command toolset for scheduling snapshots on a CephFS file system.max_mds
to 1 and wait for non-zero ranks to stop. Scrub commands can only be sent to rank 0: ceph tell mds.:0 scrub start /path ...
.mds_export_ephemeral_random
and mds_export_ephemeral_distributed
now default to true.cephfs-mirror
daemon is available to mirror CephFS file systems to a remote Ceph cluster.ceph-dokan
utility which operates via the Dokan userspace API, similar to FUSE.Before starting, make sure your cluster is stable and healthy (no down or recovering OSDs). (This is optional, but recommended.)
If your cluster is deployed with cephadm (first introduced in Octopus), then the upgrade process is entirely automated. To initiate the upgrade,
ceph orch upgrade start --ceph-version 16.2.0
The same process is used to upgrade to future minor releases.
Upgrade progress can be monitored with ceph -s
(which provides a simple
progress bar) or more verbosely with
ceph -W cephadm
The upgrade can be paused or resumed with
ceph orch upgrade pause # to pause
ceph orch upgrade resume # to resume
or canceled with
ceph orch upgrade stop
Note that canceling the upgrade simply stops the process; there is no ability to downgrade back to Octopus.
If you cluster is running Octopus (15.2.x), you might choose to first convert it to use cephadm so that the upgrade to Pacific is automated (see above).
ceph osd set noout
# systemctl restart ceph-mon.target
# ceph mon dump | grep min_mon_release
min_mon_release 16 (pacific)
ceph-mgr
daemons by installing the new packages and
restarting all manager daemons. For example, on each manager host,:
# systemctl restart ceph-mgr.target
ceph-mgr
daemons are running by checking ceph -s
# ceph -s
...
services:
mon: 3 daemons, quorum foo,bar,baz
mgr: foo(active), standbys: bar, baz
...
# systemctl restart ceph-osd.target
# ceph config set osd bluestore_fsck_quick_fix_on_mount false
ceph versions
or ceph osd versions
commands:
# ceph osd versions
{
"ceph version 14.2.5 (...) nautilus (stable)": 12,
"ceph version 16.2.0 (...) pacific (stable)": 22,
}
# ceph fs set allow_standby_replay false
# ceph status
# ceph fs set max_mds 1
# ceph status
# systemctl stop ceph-mds@
# ceph status
# systemctl restart ceph-mds.target
# systemctl start ceph-mds.target
# ceph fs set max_mds
# systemctl restart ceph-radosgw.target
# ceph osd require-osd-release pacific
noout
at the beginning, be sure to clear it with:
# ceph osd unset noout
ceph health
.
If your CRUSH tunables are older than Hammer, Ceph will now issue a
health warning. If you see a health alert to that effect, you can
revert this change with:
ceph config set mon mon_crush_min_required_version firefly
ceph osd getcrushmap -o backup-crushmap
ceph osd crush set-all-straw-buckets-to-straw2
ceph osd setcrushmap -i backup-crushmap
v2 network protocol
, issue the following command:
ceph mon enable-msgr2
ceph mon dump
telemetry module
to send anonymized usage statistics and crash information to the Ceph upstream developers. To see what would be reported (without actually sending any information to anyone),:
ceph mgr module enable telemetry
ceph telemetry show
ceph telemetry on
You must first upgrade to Nautilus (14.2.z) or Octopus (15.2.z) before upgrading to Pacific.
bluestore_rocksdb_options_annex
config parameter. Complements bluestore_rocksdb_options
and allows setting rocksdb options without repeating the existing defaults.admin_socket
will now properly expand to the daemon pid for commands like ceph-mds
or ceph-osd
. Previously only ceph-fuse
/rbd-nbd
expanded $pid
with the actual daemon pid.mdlog-list
, datalog-list
, sync-error-list
no longer accepts start and end dates, but does accept a single optional start marker.mdlog-trim
, datalog-trim
, sync-error-trim
only accept a single marker giving the end of the trimmed range.lvm batch
subcommand received a major rewrite. This closed a number of bugs and improves usability in terms of size specification and calculation, as well as idempotency behaviour and disk replacement process. Please refer to https://docs.ceph.com/en/latest/ceph-volume/lvm/batch/ for more detailed information.osd_scrub_begin_hour
and osd_scrub_end_hour
are 0 – 23. The use of 24 is now illegal. Specifying 0
for both values causes every hour to be allowed. The legal values for osd_scrub_begin_week_day
and osd_scrub_end_week_day
are 0 – 6. The use of 7 is now illegal. Specifying 0
for both values causes every day of the week to be allowed.mon_warn_older_version_delay
(set to 1 week by default) in order for the health condition to be triggered. This allows most upgrades to proceed without falsely seeing the warning. If upgrade is paused for an extended time period, health mute can be used like this ceph health mute DAEMON_OLD_VERSION --sticky
. In this case after upgrade has finished use ceph health unmute DAEMON_OLD_VERSION
.ceph progress on
and ceph progress off
.immutable_object_cache_watermark
now has been updated to property reflect the upper cache utilization before space is reclaimed. The default immutable_object_cache_watermark
now is 0.9
. If the capacity reaches 90% the daemon will delete cold cache.osd_fast_shutdown_notify_mon
has been introduced to allow the OSD to notify the monitor it is shutting down even if osd_fast_shutdown
is enabled. This helps with the monitor logs on larger clusters, that may get many ‘osd.X reported immediately failed by osd.Y’ messages, and confuse tools.osd_op_queue
to mclock_scheduler
. The high_client_ops
profile is enabled by default, and allocates more OSD bandwidth to external client operations than to internal client operations (such as background recovery and scrubs). Other built-in profiles include high_recovery_ops
and balanced
. These built-in profiles optimize the QoS provided to clients of mclock scheduler.require_min_compat_client luminous
, new clusters will only support luminous and newer clients by default. Existing clusters can enable upmap support by running ceph osd set-require-min-compat-client luminous
. It is still possible to turn the balancer off using the ceph balancer off
command. In earlier versions, the balancer was included in the always_on_modules
list, but needed to be turned on explicitly using the ceph balancer on
command.CEPHX_V2
feature bit) is now required by default. It was introduced in 2018, adding replay attack protection for authorizers and making msgr v1 message signatures stronger (CVE-2018-1128 and CVE-2018-1129). Support is present in Jewel 10.2.11, Luminous 12.2.6, Mimic 13.2.1, Nautilus 14.2.0 and later; upstream kernels 4.9.150, 4.14.86, 4.19 and later; various distribution kernels, in particular CentOS 7.6 and later. To enable older clients, set cephx_require_version
and cephx_service_require_version
config options to 1.blacklist
has been replaced with blocklist
throughout. The following commands have changed:ceph osd blacklist ...
are now ceph osd blocklist ...
ceph osd. dump_blacklist
is now ceph osd. dump_blocklist
mon osd blacklist default expire
is now mon osd blocklist default expire
mon mds blacklist interval
is now mon mds blocklist interval
mon mgr blacklist interval
is now mon mgr blocklist interval
rbd blacklist on break lock
is now rbd blocklist on break lock
rbd blacklist expire seconds
is now rbd blocklist expire seconds
mds session blacklist on timeout
is now mds session blocklist on timeout
mds session blacklist on evict
is now mds session blocklist on evict
rados_blacklist_add
is now rados_blocklist_add
; the former will issue a deprecation warning and be removed in a future release.rados.blacklist_add
is now rados.blocklist_add
in the C++ API.blocklist
instead of blacklist
:ceph osd dump
ceph osd. dump_blocklist
mon_allow_pool_size_one
, which is disabled by default. However, if enabled, user now have to pass the --yes-i-really-mean-it
flag to osd pool set size 1
, if they are really sure of configuring pool size 1.ceph pg #.# list_unfound
output has been enhanced to provide might_have_unfound information which indicates which OSDs may contain the unfound objects.osd_compact_on_start
has been added which triggers an OSD compaction on start. Setting this option to true
and restarting an OSD will result in an offline compaction of the OSD prior to booting.bdev_nvme_retry_count
has been removed. Because in SPDK v20.07, there is no easy access to bdev_nvme options, and this option is hardly used, so it was removed.Sage Weil, Adam C. Emerson, Jason Dillaman, Kefu Chai, Tiago Melo, Yingxin Cheng, Samuel Just, Venky Shankar, Patrick Donnelly, Mahati Chamarthy, Lucian Petrut, Or Ozeri, Yuval Lifshitz, My
kola Golub, Ronen Friedman, Daniel Gryniewicz, Yan, Zheng, Courtney Caldwell, Myoungwon Oh, Igor Fedotov, pcuzner, Xiubo Li, Kiefer Chang, Kotresh HR, Jan Fajerski, Greg Farnum, Rishabh Dav
e, Volker Theile, Alfonso Martínez, Varsha Rao, Casey Bodley, Adam Kupczyk, Anthony D Atri, Yuan Lu, Milind Changire, Simon Gao, Pritha Srivastava, Abhishek Lekshmanan, Zac Dover, Ramana Ra
ja, Michael Fritch, Matt Benjamin, Tatjana Dehler, Stephan Müller, Đặng Minh Dũng, João Eduardo Luís, Shyamsundar R, Marcus Watts, Aashish Sharma, Xiaoyan Li, Abutalib Aghayev, J. Eric Ivan
cich, Enno Gotthold, Robert Sander, Lenz Grimmer, Daniel-Pivonka, David Zafman, chunmei-liu, Xuehan Xu, Ishan Rai, Neha Ojha, David Galloway, Nathan Cutler, Adam King, Patrick Seidensal, Deepika Upadhyay,
Nizamudeen A, Sridhar Seshasayee, Matthew Oliver, Christopher Odom, Sebastian Krah, Juan Miguel Olmo Martínez, Ernesto Puerta, Brad Hubbard, Prateek Sachan, Kalpesh Pandya, Or Friedmann, Ka
moltat Sirivadhna, Shilpa Jagannath, Avan Thakkar, Sidharth Anupkrishnan, Yin Congmin, Jos Collin, Jeff Layton, gal salomon, Douglas Fuller, Prasad Krishnan, Josh Durgin, Ricardo Marques, T
om Schoonjans, Mark Kogan, Kyr Shatskyy, Yanhu Cao, Ma Jianpeng, Guillaume Abrioux, Xinying Song, Mark Nelson, Alin Gabriel Serdean, Fabrizio D Angelo, Mike Latimer, luo rixin, haoyixing, S
ong Weibin, shenhang, WangPengfei, zhengyin, Wencong Wan, Dan Mick, Tim Serong, Dan van der Ster, Abutalib Aghayev, Rodrigo Severo, Zhang Jiao, Amnon Hanuhov, Matthew Oliver, Hang Li, Mark
Houghton, nSedrickm, Satoru Takeuchi, Erqi Chen, zhangjiao, Yang Honggang, Sunny Kumar, Zhang Shaowen, Marc Schoechlin, dorindabassey, Alex Marangone, Georgios Kyratsas, Tarang Sharma, Ziye
Yang, Ulrich Weigand, Andrew Schoen, Alexandre Bruyelles, Avan Thakkar, Willem Jan Withagen, Zhi Zhang, Kinga Karczewska, Sean Fang, Shraddha Agrawal, Insu Jang, Luis Henriques, Marc Garie
py, Tyler, Boris Ranto, Chunsong Feng, Amrita, Ponnuvel Palaniyappan, Thomas Bechtold, fabrizio8, Wong Hoi Sing Edison, Vikhyat Umrao, Prashant D, Chencan, Ali Maredia, wangyunqing, mhacket
t, Yanhu Cao, jhonxue, Shengming Zhang, cao.leilc, Paul Emmerich, Jean henyxia Wasilewski, Yang Honggang, Kaleb S. Keithley, Jacek Suchenia, ghyer, Seena Fallah, Rachana Patel, Kristoffer G
rönlund, JiangYu, wanghongxu, Jianshen Liu, Yaarit Hatuka, Xie Xingguo, Ken Dreyer, Qiaowei Ren, Liu Lan, Michael Wodniok, Aditya Srivastava, Gerald Yang, Cory Snyder, Franck Bui, Duncan Be
llamy, Niels de Vos, Jonas Jelten, Hualong Feng, Andreas Unterkircher, Robin H. Johnson, Dimitri Savineau, Shon Paz, Nizamudeen A, Liao Pingfang, ianwatsonrh, Bryan Stillwell, Anthony D Atr
i, Melissa Li, Zengran Zhang, wanghongxu, hzwuhongsong, Haomai Wang, Dehao Shang, 胡玮文, xuxuehan xuxuehan, Soumya Koduri, Roman Penyaev, Rafał Wądołowski, David Disseldorp, caolei, weixin
wei, Oluf Lorenzen, Mauricio Faria de Oliveira, John Wyatt, John Fulton, Jasper Spaans, Jakub Wilk, Ilsoo Byun, Goutham Pacha Ravi, Zeng JH, Yehu, Wido den Hollander, Vladimir Bashkirtsev,
Tianshan Qu, Nick Janus, John Law, Neal Gompa, Liu Shi, Snow Si, Kinga Karczewska, Kevin Meijer, yuliyang_yewu, Vikhyat Umrao, Matthew Vernon, James Page, Gaurav Sitlani, YuanXin, sepia-liu
, rakeshgm, Josh, James Cheng, Harley Gorrell, Hans Bogert, clyso, Benoît Knecht, Xingyi Wu, Mike Christie, Jarett DeAngelis, Aleksei Gutikov, ZhenLiu94, Yuri Weinstein, Yunfei Guan, Shun S
ong, Paul Dee, Daniël Vos, Daniel Vos, Alexander Sushko, ahaase-c4u, Wei Qiaomiao, Robin Lee, diwilli, xenago, Taeuk Kim, Ruan Zitao, Manuel Lausch, Ludwig Nussel, lijiaxu, Kajetan Janiak,
jrshiqi, Janne Johansson, Ivan Jager, Fabian Bonk, Drunkard Zhang, David Turner, Andreas Haase, Yan Jun, SHU Zhenyi, Redick Wang, Luo Runbing, Jerry Pu, Danny Abukalam, Dan Hill, CodingSpid
erFox, Augustinas, zhuo li, ypdai, Yongseok Oh, ylifshit@redhat.com, ybwang0211, Yanfei Xu, Tuan Hoang, Tim, Thomas Serlin, Thomas Goirand, Robbie Williamson, nanquanyuahao, Mitsumasa KONDO
, Mike Perez, Michał Nasiadka, Matthias Bach, Matthew Cengia, Maran Hidskes, Lukas Stockner, Leo Zhang, Junyoung, Sung, jshen28, jinmyeonglee, Jerry Lee, Jeffrey Chu, Jan Fajerski, Iain Buc
law, gk, Florian Florensa, es-gyt, Erwan Velu, Daniel Bevenius, Corey Bryant, Alfredo Sola, Alexey Miasoedov, ahanukov, zhoufeng, peng jiaqi, Luis Henriques, Johannes M. Scheuermann, fanjun
wei, Yuri Weinstein, Yehuda Sadeh, XueYu Bai, Xuehan Xu, Sébastien Han, Sebastian Wagner, Radoslaw Zarzynski, Liu Changcheng, Joshua Schmid, Ilya Dryomov, Eric Jackson, Anurag Bandhu