注意
本文档适用于 Ceph 开发版本。
太平洋
v16.2.15 太平洋
这是太平洋系列的第十五个,预计是最后一个回滚发布。
值得注意的变化
ceph config dump --format <json|xml>输出将显示本地化的选项名称,而不是它们的标准化版本。例如,“mgr/prometheus/x/server_port” 将被显示,而不是 “mgr/prometheus/server_port”。这匹配了非美化格式化版本的命令的输出。
CephFS:MDS 将驱逐那些没有推进其请求 tids 的客户端,这导致会话元数据大量积累,从而导致由于 RADOS 操作超过大小阈值,MDS 进入只读状态。配置控制(encoded)会话元数据可以增长的最大大小。mds_session_metadata_thresholdRADOS:由于易受假阴性结果的影响,C++ API 已被弃用。它的更安全的替代方案是
RADOS: The get_pool_is_selfmanaged_snaps_mode C++ API has been deprecated due to its susceptibility to false negative results. Its safer replacement is pool_is_in_selfmanaged_snaps_mode.
RBD: When diffing against the beginning of time (fromsnapname == NULL) in fast-diff mode (whole_object == true with 快速差异 image feature enabled and valid), diff-iterate is now guaranteed to execute locally if exclusive lock is available. This brings a dramatic performance improvement for QEMU live disk synchronization and backup use cases.
更改日志
[CVE-2023-43040] rgw: Fix bucket validation against POST policies (pr#53758, Joshua Baergen)
admin/doc-requirements: bump Sphinx to 5.0.2 (pr#55258, Nizamudeen A)
blk/kernel: Add O_EXCL for block devices (pr#53567, Adam Kupczyk)
Bluestore: fix bluestore collection_list latency perf counter (pr#52949, Wangwenjuan)
bluestore: 修复卷选择器问题 (pr#53587, Adam Kupczyk)
ceph-volume,python-common: 数据分配分数 (pr#53581, Jonas Pfefferle)
ceph-volume: add --osd-id option to raw prepare (pr#52928, Guillaume Abrioux)
ceph-volume: fix a bug in _check_generic_reject_reasons (pr#54707, Kim Minjong, Guillaume Abrioux, Michael English)
ceph-volume: fix raw list for lvm devices (pr#52981, Guillaume Abrioux)
ceph-volume: fix zap_partitions() in devices.lvm.zap (pr#55658, Guillaume Abrioux)
ceph-volume: fix zap_partitions() in devices.lvm.zap (pr#55481, Guillaume Abrioux)
ceph-volume: fixes fallback to stat in is_device and is_partition (pr#54709, Guillaume Abrioux, Teoman ONAY)
ceph: allow xlock state to be LOCK_PREXLOCK when putting it (pr#53662, Xiubo Li)
cephadm: add tcmu-runner to logrotate config (pr#53975, Adam King)
cephadm: Adding support to configure public_network cfg section (pr#52411, Redouane Kachach)
cephadm: allow ports to be opened in firewall during adoption, reconfig, redeploy (pr#52083, Adam King)
cephadm: make custom_configs work for tcmu-runner container (pr#53469, Adam King)
cephadm: run tcmu-runner through script to do restart on failure (pr#53977, Adam King, Raimund Sacherer)
cephfs-journal-tool: disambiguate usage of all keyword (in tool help) (pr#53645, Manish M Yathnalli)
cephfs-mirror: do not run concurrent C_RestartMirroring context (issue#62072, pr#53640, Venky Shankar)
cephfs-top: include the missing fields in --dump output (pr#53453, Jos Collin)
cephfs: upgrade cephfs-shell’s path wherever necessary (pr#54144, Rishabh Dave)
cephfs_mirror: correctly set top level dir permissions (pr#53270, Milind Changire)
client: always refresh mds feature bits on session open (issue#63188, pr#54245, Venky Shankar)
客户端:修复同步文件系统以强制刷新所有会话的 mdlog (pr#53981, Xiubo Li)
client: issue a cap release immediately if no cap exists (pr#52852, Xiubo Li)
client: queue a delay cap flushing if there are ditry caps/snapcaps (pr#54472, Xiubo Li)
cmake/modules/BuildRocksDB.cmake: inherit parent’s CMAKE_CXX_FLAGS (pr#55500, Kefu Chai)
common/weighted_shuffle: don’t feed std::discrete_distribution with all-zero weights (pr#55155, Radosław Zarzyński)
common: intrusive_lru destructor add (pr#54558, Ali Maredia)
doc/cephfs: note regarding start time time zone (pr#53576, Milind Changire)
doc/cephfs: write cephfs commands fully in docs (pr#53403, Rishabh Dave)
doc/rados/configuration/bluestore-config-ref: Fix lowcase typo (pr#54696, Adam Kupczyk)
doc/rados: update config for autoscaler (pr#55440, Zac Dover)
文档:阐明 rados rm 的使用rados rm command (pr#51260, J. Eric Ivancich)
doc: discuss the standard multi-tenant CephFS security model (pr#53560, Greg Farnum)
修复 BlueStore 跨分片示例 (pr#54474, Adam Kupczyk)
isa-l: 包含 aarch64 文本重定位的修复 (pr#51314, luo rixin)
libcephsqlite: fill 0s in unread portion of buffer (pr#53103, Patrick Donnelly)
librados: make querying pools for selfmanaged snaps reliable (pr#55024, Ilya Dryomov)
librbd: Append one journal event per image request (pr#54820, Joshua Baergen)
librbd: don’t report HOLE_UPDATED when diffing against a hole (pr#54949, Ilya Dryomov)
librbd: fix regressions in ObjectListSnapsRequest (pr#54860, Ilya Dryomov)
librbd: improve rbd_diff_iterate2() performance in fast-diff mode (pr#55256, Ilya Dryomov)
librbd: kick ExclusiveLock state machine on client being blocklisted when waiting for lock (pr#53295, Ramana Raja)
librbd: make CreatePrimaryRequest remove any unlinked mirror snapshots (pr#53274, Ilya Dryomov)
日志:在转储线程 ID 时修复格式化 (pr#53465, Radoslaw Zarzynski)
log: Make log_max_recent have an effect again (pr#48311, Joshua Baergen)
make-dist: don’t use --continue option for wget (pr#55090, Casey Bodley)
make-dist: 从 kernel.io 下载 liburing 而不是 github (pr#53197, Laura Flores)
MClientRequest: properly handle ceph_mds_request_head_legacy for ext_num_retry, ext_num_fwd, owner_uid, owner_gid (pr#54410, Alexander Mikhalitsyn)
mds,qa: some balancer debug messages (<=5) not printed when debug_mds is >=5 (pr#53552, Patrick Donnelly)
mds/Server: mark a cap acquisition throttle event in the request (pr#53169, Leonid Usov)
mds: acquire inode snaplock in open (pr#53185, Patrick Donnelly)
mds: add event for batching getattr/lookup (pr#53556, Patrick Donnelly)
mds: adjust pre_segments_size for MDLog when trimming segments for st… (issue#59833, pr#54033, Venky Shankar)
mds: blocklist clients with “bloated” session metadata (issue#61947, issue#62873, pr#53634, Venky Shankar)
mds: drop locks and retry when lock set changes (pr#53243, Patrick Donnelly)
mds: ensure next replay is queued on req drop (pr#54314, Patrick Donnelly)
mds: 修复 unlinking 和 linkmerge 之间的死锁 (pr#53495, Xiubo Li)
mds: 修复发出冗余 reintegrate/migrate_stray 请求 (pr#54517, Xiubo Li)
mds: log message when exiting due to asok command (pr#53550, Patrick Donnelly)
mds: replacing bootstrap session only if handle client session message (pr#53362, Mer Xuanyi)
mds: report clients laggy due laggy OSDs only after checking any OSD is laggy (pr#54120, Dhairya Parmar)
mds: set the loner to true for LOCK_EXCL_XSYN (pr#54912, Xiubo Li)
mds: use variable g_ceph_context directly in MDSAuthCaps (pr#52821, Rishabh Dave)
mgr/BaseMgrModule: Optimize CPython Call in Finish Function (pr#55109, Nitzan Mordechai)
mgr/cephadm: Add “networks” parameter to orch apply rgw (pr#53974, Teoman ONAY)
mgr/cephadm: ceph orch add fails when ipv6 address is surrounded by square brackets (pr#53978, Teoman ONAY)
mgr/dashboard: 向仪表板 api ‘get rbd’ 端点添加 ‘omit_usage’ 查询参数 (pr#54192, Cory Snyder)
mgr/dashboard: allow tls 1.2 with a config option (pr#53781, Nizamudeen A)
mgr/dashboard: Consider null values as zero in grafana panels (pr#54542, Aashish Sharma)
mgr/dashboard: fix CephPGImbalance alert (pr#49478, Aashish Sharma)
mgr/dashboard: Fix CephPoolGrowthWarning alert (pr#49477, Aashish Sharma)
mgr/dashboard: fix constraints.txt (pr#54652, Ernesto Puerta)
mgr/dashboard: fix rgw page issues when hostname not resolvable (pr#53215, Nizamudeen A)
mgr/dashboard: set CORS header for unauthorized access (pr#53202, Nizamudeen A)
mgr/prometheus: avoid duplicates and deleted entries for rbd_stats_pools (pr#48524, Avan Thakkar)
mgr/prometheus: change pg_repaired_objects name to pool_repaired_objects (pr#48439, Pere Diaz Bou)
mgr/prometheus: fix pool_objects_repaired and daemon_health_metrics format (pr#51692, banuchka)
mgr/rbd_support: fix recursive locking on CreateSnapshotRequests lock (pr#54293, Ramana Raja)
mgr/snap-schedule: 使用正确的方法来检查返回的结果 (pr#53355, Mer Xuanyi)
mgr/snap_schedule: allow retention spec ‘n’ to be user defined (pr#52750, Milind Changire, Jakob Haufe)
mgr/volumes: Fix pending_subvolume_deletions in volume info (pr#53574, Kotresh HR)
mgr: Add one finisher thread per module (pr#51045, Kotresh HR, Patrick Donnelly)
mgr: add throttle policy for DaemonServer (pr#54013, ericqzhao)
mgr: don’t dump global config holding gil (pr#50194, Mykola Golub)
mgr: fix a race condition in DaemonServer::handle_report() (pr#52993, Radoslaw Zarzynski)
mgr: register OSDs in ms_handle_accept (pr#53189, Patrick Donnelly)
mgr: remove out&down osd from mgr daemons (pr#54553, shimin)
mon/ConfigMonitor: Show localized name in “config dump --format json” output (pr#53984, Sridhar Seshasayee)
mon/MonClient: resurrect original client_mount_timeout handling (pr#52533, Ilya Dryomov)
mon/Monitor.cc: exit function if !osdmon()->is_writeable() && mon/OSDMonitor: Added extra check before mon.go_recovery_stretch_mode() (pr#51414, Kamoltat)
mon/Monitor: during shutdown don’t accept new authentication and crea… (pr#55113, Nitzan Mordechai)
mon: add exception handling to ceph health mute (pr#55118, Daniel Radjenovic)
mon: add proxy to cache tier options (pr#50552, tan changzhi)
mon: fix health store size growing infinitely (pr#55472, Wei Wang)
mon: fix iterator mishandling in PGMap::apply_incremental (pr#52555, Oliver Schmidt)
mon: fix mds metadata lost in one case (pr#54318, shimin)
msg/async: 在 RDMAStack::create_worker() 中初始化工作线程并删除 Stack::num_workers (pr#55443, Kefu Chai)
msg/AsyncMessenger: re-evaluate the stop condition when woken up in ‘wait()’ (pr#53716, Leonid Usov)
nofail option in fstab not supported (pr#52987, Leonid Usov)
os/bluestore: don’t require bluestore_db_block_size when attaching new (pr#52948, Igor Fedotov)
os/bluestore: get rid off resulting lba alignment in allocators (pr#54434, Igor Fedotov)
osd,bluestore: 在元数据收集加载期间优雅地处理失败 (pr#53135, Igor Fedotov)
osd/OpRequest: 在 osd 日志文件中为延迟操作添加详细描述 (pr#53693, Yite Gu)
osd/OSD: introduce reset_purged_snaps_last (pr#53970, Matan Breizman)
osd/OSDMap: Check for uneven weights & != 2 buckets post stretch mode (pr#52459, Kamoltat)
osd/scrub: 修复 scrub 开始消息轰炸集群日志 (pr#53430, Prashant D)
osd: don’t require RWEXCL lock for stat+write ops (pr#54593, Alice Zhao)
osd: ensure async recovery does not drop a pg below min_size (pr#54548, Samuel Just)
osd: 修复 shard-threads 无法唤醒的错误 (pr#51262, Jianwei Zhang)
osd: fix use-after-move in build_incremental_map_msg() (pr#54268, Ronen Friedman)
osd: log the number of extents for sparse read (pr#54604, Xiubo Li)
pacifc: 撤销 “mgr/dashboard: 在 datatables 中取消选择行” (pr#55415, Nizamudeen A)
pybind/mgr/autoscaler: 如果 autoscaler 未启用,则不显示 NEW PG_NUM 值 (pr#53464, Prashant D)
pybind/mgr/mgr_util: 修复 to_pretty_timedelta() (pr#51243, Sage Weil)
pybind/mgr/volumes: log mutex locks to help debug deadlocks (pr#53916, Kotresh HR)
pybind/mgr: ceph osd status crash with ZeroDivisionError (pr#46696, Nitzan Mordechai, Kefu Chai)
pybind/rados: 如果已经关闭,则不要在 dealloc 中关闭监视 (pr#51259, Tim Serong)
pybind/rados: 修复 PEP484 风格类型注解的遗漏更改 (pr#54361, Igor Fedotov)
pybind/rbd: don’t produce info on errors in aio_mirror_image_get_info() (pr#54053, Ilya Dryomov)
python-common/drive_group: handle fields outside of ‘spec’ even when ‘spec’ is provided (pr#52413, Adam King)
python-common/drive_selection: lower log level of limit policy message (pr#52412, Adam King)
qa/distros: backport update from rhel 8.4 -> 8.6 (pr#54901, Casey Bodley, David Galloway)
qa/suites/krbd: stress test for recovering from watch errors (pr#53784, Ilya Dryomov)
qa/suites/orch: 将预期在测试环境中出现的警告白名单 (pr#55523, Laura Flores)
qa/suites/rbd: add test to check rbd_support module recovery (pr#54294, Ramana Raja)
qa/suites/upgrade/pacific-p2p: 从 pacific 尖端运行 librbd python API 测试 (pr#55418, Yuri Weinstein)
qa/suites/upgrade/pacific-p2p: 跳过 TestClsRbd.mirror_snapshot 测试 (pr#53204, Ilya Dryomov)
qa/suites: 添加更多白名单 + 修复拼写错误 (pr#55717, Kamoltat)
qa/tasks/cephadm: 启用 mon_cluster_log_to_file (pr#55429, Dan van der Ster)
qa/upgrade: 禁用失败的 ceph_test_cls_cmpomap 测试用例 (pr#55519, Casey Bodley)
qa/upgrade: 使用 ragweed 分支启动 ceph 发布 (pr#53382, Casey Bodley)
qa/workunits/rbd/cli_generic.sh: narrow race window when checking that rbd_support module command fails after blocklisting the module’s client (pr#54771, Ramana Raja)
qa: assign file system affinity for replaced MDS (issue#61764, pr#54039, Venky Shankar)
qa: ignore expected cluster warning from damage tests (pr#53486, Patrick Donnelly)
qa: lengthen shutdown timeout for thrashed MDS (pr#53555, Patrick Donnelly)
qa: 将参数作为列表传递以修复测试用例失败 (pr#52763, Dhairya Parmar)
qa: 删除重复的导入 (pr#53447, Patrick Donnelly)
qa: run kernel_untar_build with newer tarball (pr#54713, Milind Changire)
qa: wait for file to have correct size (pr#52744, Patrick Donnelly)
rados: 当 “WITH_MGR” 关闭时,构建最小化 (pr#51250, J. Eric Ivancich)
rados: 将 osd_max_write_op_reply_len 默认增加到 64 字节 (pr#53470, Matt Benjamin)
RadosGW API: incorrect bucket quota in response to HEAD /{bucket}/?usage (pr#53439, shreyanshjain7174)
radosgw-admin: 允许 ‘bi purge’ 删除索引,如果入口点不存在 (pr#54010, Casey Bodley)
radosgw-admin: don’t crash on --placement-id without --storage-class (pr#53474, Casey Bodley)
radosgw-admin: fix segfault on pipe modify without source/dest zone specified (pr#51256, caisan)
rbd-nbd: fix stuck with disable request (pr#54256, Prasanna Kumar Kalever)
rgw - 修复 NoSuchTagSet 错误 (pr#50533, Daniel Gryniewicz)
rgw/auth: ignoring signatures for HTTP OPTIONS calls (pr#55550, Tobias Urdin)
rgw/beast: 添加 max_header_size 选项,默认值为 16k,从 4k 提高到 (pr#52113, Casey Bodley)
rgw/keystone: EC2Engine uses reject() for ERR_SIGNATURE_NO_MATCH (pr#53764, Casey Bodley)
rgw/notification: remove non x-amz-meta-* attributes from bucket notifications (pr#53376, Juan Zhu)
rgw/putobj: RadosWriter uses part head object for multipart parts (pr#55586, Casey Bodley)
rgw/s3: ListObjectsV2 returns correct object owners (pr#54160, Casey Bodley)
rgw/sts: AssumeRole no longer writes to user metadata (pr#52051, Casey Bodley)
rgw/sts: 返回错误代码的代码,当 IAM 策略 (pr#44462, Pritha Srivastava)
rgw/sts: 使用 .well-known/openid-configuration URL 获取证书 (pr#44464, Pritha Srivastava)
rgw/sts: createbucket 操作应考虑会话策略 (pr#44476, Pritha Srivastava)
rgw/sts: 修复 read_obj_policy 权限评估 (pr#44471, Pritha Srivastava)
rgw/sts: 修复使用 LDAP 进行认证的 getsessiontoken (pr#44463, Pritha Srivastava)
rgw/swift: check position of first slash in slo manifest files (pr#51600, Marcio Roberto Starke)
rgw/sync-policy: Correct “sync status” & “sync group” commands (pr#53410, Soumya Koduri)
rgw: ‘bucket check’ deletes index of multipart meta when its pending_map is nonempty (pr#54016, Huber-ming)
rgw: add radosgw-admin bucket check olh/unlinked commands (pr#53808, Cory Snyder)
rgw: Avoid segfault when OPA authz is enabled (pr#46106, Benoît Knecht)
rgw: beast frontend checks for local_endpoint() errors (pr#54167, Casey Bodley)
rgw: Drain async_processor request queue during shutdown (pr#53472, Soumya Koduri)
rgw: fix 2 null versionID after convert_plain_entry_to_versioned (pr#53400, rui ma, zhuo li)
rgw: Fix Browser POST content-length-range min value (pr#52936, Robin H. Johnson)
rgw: fix FP error when calculating enteries per bi shard (pr#53593, J. Eric Ivancich)
rgw: fix rgw cache invalidation after unregister_watch() error (pr#54014, lichaochao)
rgw: fix SignatureDoesNotMatch when extra headers start with ‘x-amz’ (pr#53772, rui ma)
rgw: Fix truncated ListBuckets response (pr#49526, Joshua Baergen)
rgw: fix unwatch crash at radosgw startup (pr#53759, lichaochao)
rgw: 修复当源对象不存在且源存储桶不存在时 UploadPartCopy 错误代码 (pr#53356, yuliyang)
rgw: handle http options CORS with v4 auth (pr#53416, Tobias Urdin)
rgw: improve buffer list utilization in the chunkupload scenario (pr#53775, liubingrun)
rgw: multisite data log flag not used (pr#52055, J. Eric Ivancich)
rgw: pick http_date in case of http_x_amz_date absence (pr#53443, Seena Fallah, Mohamed Awnallah)
rgw: prevent spurious/lost notifications in the index completion thread (pr#49093, Casey Bodley, Yuval Lifshitz)
rgw: retry metadata cache notifications with INVALIDATE_OBJ (pr#52797, Casey Bodley)
rgw: s3 object lock avoids overflow in retention date (pr#52605, Casey Bodley)
rgw: s3website doesn’t prefetch for web_dir() check (pr#53769, Casey Bodley)
rgw: set keys from from master zone on admin api user create (pr#51602, Ali Maredia)
rgw: Solving the issue of not populating etag in Multipart upload result (pr#51445, Ali Masarwa)
rgw: swift : check for valid key in POST forms (pr#52729, Abhishek Lekshmanan)
rgw: Update “CEPH_RGW_DIR_SUGGEST_LOG_OP” for remove entries (pr#50540, Soumya Koduri)
rgw: use unique_ptr for flat_map emplace in BucketTrimWatche (pr#52996, Vedansh Bhartia)
rgwlc: prevent lc for one bucket from exceeding time budget (pr#53562, Matt Benjamin)
test/lazy-omap-stats: Various enhancements (pr#50518, Brad Hubbard)
test/librbd: avoid config-related crashes in DiscardWithPruneWriteOverlap (pr#54859, Ilya Dryomov)
test/store_test: adjust physical extents to inject error against (pr#54782, Igor Fedotov)
tools/ceph_objectstore_tool: action_on_all_objects_in_pg to skip pgmeta (pr#54691, Matan Breizman)
tools/ceph_objectstore_tool: Support get/set/superblock (pr#55013, Matan Breizman)
tools/osdmaptool: fix possible segfaults when there are down osds (pr#52203, Mykola Golub)
Tools/rados: Improve Error Messaging for Object Name Resolution (pr#55111, Nitzan Mordechai)
vstart_runner: maintain log level when --debug is passed (pr#52977, Rishabh Dave)
vstart_runner: use FileNotFoundError when os.stat() fails (pr#52978, Rishabh Dave)
win32_deps_build.sh: change Boost URL (pr#55086, Lucian Petrut)
v16.2.14 太平洋
This is the fourteenth backport release in the Pacific series.
值得注意的变化
CephFS: After recovering a Ceph File System post following the disaster recovery procedure, the recovered files under lost+found directory can now be deleted.
ceph mgr dump command now displays the name of the mgr module that registered a RADOS client in the name field added to elements of the active_clients array. Previously, only the address of a module’s RADOS client was shown in the active_clients array.
更改日志
backport PR #39607 (pr#51344, Rishabh Dave)
blk/kernel: Fix error code mapping in KernelDevice::read (pr#49263, Joshua Baergen)
blk/KernelDevice: Modify the rotational and discard check log message (pr#50322, Vikhyat Umrao)
build: Remove ceph-libboost* packages in install-deps (pr#52790, Nizamudeen A, Adam Emerson)
ceph-volume: fix a bug in get_lvm_fast_allocs() (batch) (pr#52063, Guillaume Abrioux)
ceph-volume: fix batch refactor issue (pr#51207, Guillaume Abrioux)
ceph-volume: fix drive-group issue that expects the batch_args to be a string (pr#51209, Mohan Sharma)
ceph-volume: quick fix in zap.py (pr#51196, Guillaume Abrioux)
ceph-volume: set lvm membership for mpath type devices (pr#52080, Guillaume Abrioux)
ceph_test_rados_api_watch_notify: extend Watch3Timeout test (pr#51261, Sage Weil)
ceph_volume: support encrypted volumes for lvm new-db/new-wal/migrate commands (pr#52873, Igor Fedotov)
cephadm: eliminate duplication of sections (pr#51433, Rongqi Sun)
cephadm: mount host /etc/hosts for daemon containers in podman deployments (pr#51174, Adam King)
cephadm: reschedule haproxy from an offline host (pr#51214, Michael Fritch)
cephadm: using ip instead of short hostname for prometheus urls (pr#51212, Redouane Kachach)
cephfs-top: check the minimum compatible python version (pr#51353, Jos Collin)
cephfs-top: dump values to stdout and -d [--delay] option fix (pr#50715, Jos Collin, Neeraj Pratap Singh, wangxinyu, Rishabh Dave)
cephfs-top: navigate to home screen when no fs (pr#50737, Jos Collin)
cephfs-top: Some fixes in choose_field() for sorting (pr#50596, Neeraj Pratap Singh)
client: clear the suid/sgid in fallocate path (pr#50988, Lucian Petrut, Xiubo Li, Sven Anderson)
client: do not dump mds twice in Inode::dump() (pr#51247, Xue Yantao)
client: do not send metrics until the MDS rank is ready (pr#52500, Xiubo Li)
client: force sending cap revoke ack always (pr#52506, Xiubo Li)
client: only wait for write MDS OPs when unmounting (pr#52304, Xiubo Li)
client: trigger to flush the buffer when making snapshot (pr#52499, Xiubo Li)
client: use deep-copy when setting permission during make_request (pr#51487, Mer Xuanyi)
client: wait rename to finish (pr#52505, Xiubo Li)
cls/queue: use larger read chunks in queue_list_entries (pr#49903, Igor Fedotov)
common/crc32c_aarch64: fix crc32c unittest failed on aarch64 (pr#51315, luo rixin)
common/TrackedOp: fix osd reboot optracker coredump (pr#51249, yaohui.zhou)
common: notify all when max backlog reached in OutputDataSocket (pr#47232, Shu Yu)
common: Use double instead of long double to improve performance (pr#51316, Chunsong Feng, luo rixin)
Consider setting “bulk” autoscale pool flag when automatically creating a data pool for CephFS (pr#52900, Leonid Usov)
debian: install cephfs-mirror systemd unit files and man page (pr#52075, Jos Collin)
do not evict clients if OSDs are laggy (pr#52270, Laura Flores, Dhairya Parmar)
doc/cephadm: Revert “doc/cephadm: update about disabling logging to journald for quincy” (pr#51882, Adam King)
doc/cephfs: edit fs-volumes.rst (1 of x) (pr#51467, Zac Dover)
doc/cephfs: explain cephfs data and metadata set (pr#51237, Zac Dover)
doc/cephfs: fix prompts in fs-volumes.rst (pr#51436, Zac Dover)
doc/cephfs: line-edit “Mirroring Module” (pr#51544, Zac Dover)
doc/cephfs: rectify prompts in fs-volumes.rst (pr#51460, Zac Dover)
doc/cephfs: repairing inaccessible FSes (pr#51373, Zac Dover)
doc/dev/encoding.txt: update per std::optional (pr#51399, Radoslaw Zarzynski)
doc/glossary: update bluestore entry (pr#51695, Zac Dover)
doc/mgr: edit “leaderboard” in telemetry.rst (pr#51722, Zac Dover)
doc/mgr: update prompts in prometheus.rst (pr#51311, Zac Dover)
doc/rados/operations: Acting Set question (pr#51741, Zac Dover)
doc/rados/operations: Fix erasure-code-jerasure.rst fix (pr#51744, Anthony D’Atri)
doc/rados/ops: edit user-management.rst (3 of x) (pr#51241, Zac Dover)
doc/rados: edit balancer.rst (pr#51826, Zac Dover)
doc/rados: edit bluestore-config-ref.rst (1 of x) (pr#51791, Zac Dover)
doc/rados: edit bluestore-config-ref.rst (2 of x) (pr#51795, Zac Dover)
doc/rados: edit data-placement.rst (pr#51597, Zac Dover)
doc/rados: edit devices.rst (pr#51479, Zac Dover)
doc/rados: edit filestore-config-ref.rst (pr#51753, Zac Dover)
doc/rados: edit stretch-mode procedure (pr#51291, Zac Dover)
doc/rados: edit stretch-mode.rst (pr#51339, Zac Dover)
doc/rados: edit stretch-mode.rst (pr#51304, Zac Dover)
doc/rados: edit user-management (2 of x) (pr#51157, Zac Dover)
doc/rados: fix link in common.rst (pr#51757, Zac Dover)
doc/rados: line-edit devices.rst (pr#51578, Zac Dover)
doc/rados: m-config-ref: edit “background” (pr#51274, Zac Dover)
doc/rados: stretch-mode.rst (other commands) (pr#51391, Zac Dover)
doc/rados: stretch-mode: stretch cluster issues (pr#51379, Zac Dover)
doc/radosgw: explain multisite dynamic sharding (pr#51587, Zac Dover)
doc/radosgw: rabbitmq - push-endpoint edit (pr#51307, Zac Dover)
doc/start/os-recommendations: drop 4.14 kernel and reword guidance (pr#51491, Ilya Dryomov)
doc/start: edit first 150 lines of documenting-ceph (pr#51183, Zac Dover)
doc/start: fix “Planet Ceph” link (pr#51421, Zac Dover)
doc/start: KRBD feature flag support note (pr#51504, Zac Dover)
doc/start: rewrite intro paragraph (pr#51222, Zac Dover)
doc: add link to “documenting ceph” to index.rst (pr#51471, Zac Dover)
doc: Add missing ceph command in documentation section REPLACING A… (`pr#51621, Alexander Proschek)
doc: deprecate the cache tiering (pr#51654, Radosław Zarzyński)
doc: document the relevance of mds_namespace mount option (pr#49688, Jos Collin)
doc: explain cephfs mirroring peer_add step in detail (pr#51522, Venky Shankar)
doc: Update jerasure.org references (pr#51727, Anthony D’Atri)
doc: update multisite doc (pr#51402, parth-gr)
doc: Use ceph osd crush tree command to display weight set weights (pr#51351, James Lakin)
kv/RocksDBStore: Add CompactOnDeletion support (pr#50894, Radoslaw Zarzynski, Mark Nelson)
kv/RocksDBStore: cumulative backport for rm_range_keys and around (pr#50637, Igor Fedotov)
kv/RocksDBStore: don’t use real wholespace iterator for prefixed access (pr#50496, Igor Fedotov)
librados: aio operate functions can set times (pr#52117, Casey Bodley)
librbd/managed_lock/GetLockerRequest: Fix no valid lockers case (pr#52287, Ilya Dryomov, Matan Breizman)
librbd: avoid decrementing iterator before first element (pr#51856, Lucian Petrut)
librbd: avoid object map corruption in snapshots taken under I/O (pr#52285, Ilya Dryomov)
librbd: don’t wait for a watch in send_acquire_lock() if client is blocklisted (pr#50926, Ilya Dryomov, Christopher Hoffman)
librbd: localize snap_remove op for mirror snapshots (pr#51431, Christopher Hoffman)
librbd: remove previous incomplete primary snapshot after successfully creating a new one (pr#51429, Ilya Dryomov, Prasanna Kumar Kalever)
log: writes to stderr (pipe) may not be atomic (pr#50778, Lucian Petrut, Patrick Donnelly)
MDS imported_inodes metric is not updated (pr#51699, Yongseok Oh)
mds: adjust cap acquisition throttles (pr#52974, Patrick Donnelly)
mds: allow unlink from lost+found directory (issue#59569, pr#51687, Venky Shankar)
mds: display sane hex value (0x0) for empty feature bit (pr#52125, Jos Collin)
mds: do not send split_realms for CEPH_SNAP_OP_UPDATE msg (pr#52848, Xiubo Li)
mds: do not take the ino which has been used (pr#51508, Xiubo Li)
mds: fix cpu_profiler asok crash (pr#52979, liu shi)
mds: fix stray evaluation using scrub and introduce new option (pr#50814, Dhairya Parmar)
mds: Fix the linkmerge assert check (pr#52726, Kotresh HR)
mds: force replay sessionmap version (pr#50725, Xiubo Li)
mds: make num_fwd and num_retry to __u32 (pr#50733, Xiubo Li)
mds: MDLog::_recovery_thread: handle the errors gracefully (pr#52513, Jos Collin)
mds: rdlock_path_xlock_dentry supports returning auth target inode (pr#51609, Zhansong Gao)
mds: record and dump last tid for trimming completed requests (or flushes) (issue#57985, pr#50811, Venky Shankar)
mds: skip forwarding request if the session were removed (pr#52844, Xiubo Li)
mds: update mdlog perf counters during replay (pr#52682, Patrick Donnelly)
mds: wait for unlink operation to finish (pr#50986, Xiubo Li)
mds: wait reintegrate to finish when unlinking (pr#51686, Xiubo Li)
mgr/cephadm: Adding --storage.tsdb.retention.size prometheus option (pr#51647, Redouane Kachach)
mgr/cephadm: don’t try to write client/os tuning profiles to known offline hosts (pr#51346, Adam King)
mgr/cephadm: support for miscellaneous config files for daemons (pr#51517, Adam King)
mgr/dashboard: allow PUT in CORS (pr#52704, Nizamudeen A)
mgr/dashboard: API docs UI does not work with Angular dev server (pr#51245, Volker Theile)
mgr/dashboard: expose more grafana configs in service form (pr#51113, Nizamudeen A)
mgr/dashboard: Fix broken Fedora image URL (pr#52477, Zack Cerza)
mgr/dashboard: Fix rbd snapshot creation (pr#51075, Aashish Sharma)
mgr/dashboard: fix the rbd mirroring configure check (pr#51324, Nizamudeen A)
mgr/dashboard: move cephadm e2e cleanup to jenkins job config (pr#52389, Nizamudeen A)
mgr/dashboard: rbd-mirror force promotion (pr#51056, Pedro Gonzalez Gomez)
mgr/dashboard: skip Create OSDs step in Cluster expansion (pr#51150, Nizamudeen A)
mgr/dashboard: SSO error: AttributeError: ‘str’ object has no attribute ‘decode’ (pr#51950, Volker Theile)
mgr/nfs: disallow non-existent paths when creating export (pr#50809, Dhairya Parmar)
mgr/orchestrator: fix device size in orch device ls output (pr#51211, Adam King)
mgr/rbd_support: fixes related to recover from rados client blocklisting (pr#51464, Ramana Raja)
mgr/snap_schedule: add debug log for paths failing snapshot creation (pr#51246, Milind Changire)
mgr/snap_schedule: catch all exceptions for cli (pr#52753, Milind Changire)
mgr/volumes: avoid returning -ESHUTDOWN back to cli (issue#58651, pr#51039, Venky Shankar)
mgr: store names of modules that register RADOS clients in the MgrMap (pr#52883, Ramana Raja)
MgrMonitor: batch commit OSDMap and MgrMap mutations (pr#50980, Patrick Donnelly, Kefu Chai, Radosław Zarzyński)
mon/ConfigMonitor: update crush_location from osd entity (pr#52468, Didier Gazen)
mon/MDSMonitor: batch last_metadata update with pending (pr#52230, Patrick Donnelly)
mon/MDSMonitor: check fscid in pending exists in current (pr#52233, Patrick Donnelly)
mon/MDSMonitor: do not propose on error in prepare_update (pr#52240, Patrick Donnelly)
mon/MDSMonitor: ignore extraneous up:boot messages (pr#52244, Patrick Donnelly)
mon/MonClient: before complete auth with error, reopen session (pr#52133, Nitzan Mordechai)
mon: avoid exception when setting require-osd-release more than 2 versions up (pr#51382, Igor Fedotov)
mon: block osd pool mksnap for fs pools (pr#52397, Milind Changire)
Monitor: forward report command to leader (pr#51258, Dan van der Ster)
orchestrator: add --no-destroy arg to ceph orch osd rm (pr#51213, Guillaume Abrioux)
os/bluestore: allocator’s cumulative backport (pr#50321, Igor Fedotov, Adam Kupczyk, Ronen Friedman)
os/bluestore: allow ‘fit_to_fast’ selector for single-volume osd (pr#51418, Igor Fedotov)
os/bluestore: cumulative bluefs backport (pr#52212, Igor Fedotov, Adam Kupczyk)
os/bluestore: don’t need separate variable to mark hits when lookup oid (pr#52943, locallocal)
os/bluestore: fix spillover alert (pr#50932, Igor Fedotov)
os/bluestore: proper override rocksdb::WritableFile::Allocate (pr#51773, Igor Fedotov)
os/bluestore: report min_alloc_size through “ceph osd metadata” (pr#50506, Igor Fedotov)
osd/OSDCap: allow rbd.metadata_list method under rbd-read-only profile (pr#51876, Ilya Dryomov)
OSD: Fix check_past_interval_bounds() (pr#51510, Matan Breizman, Samuel Just)
pybind/argparse: blocklist ip validation (pr#51812, Nitzan Mordechai)
pybind/mgr/pg_autoscaler: Reorderd if statement for the func: _maybe_adjust (pr#50694, Kamoltat)
pybind: drop GIL during library callouts (pr#52323, Ilya Dryomov, Patrick Donnelly)
python-common: drive_selection: fix KeyError when osdspec_affinity is not set (pr#53157, Guillaume Abrioux)
qa/rgw: add POOL_APP_NOT_ENABLED to log-ignorelist (pr#52048, Casey Bodley)
qa/suites/rados: remove rook coverage from the rados suite (pr#52017, Laura Flores)
qa/suites/rbd: install qemu-utils in addition to qemu-block-extra on Ubuntu (pr#51059, Ilya Dryomov)
qa/suites/upgrade/octopus-x: skip TestClsRbd.mirror_snapshot test (pr#53002, Ilya Dryomov)
qa: check each fs for health (pr#51232, Patrick Donnelly)
qa: data-scan/journal-tool do not output debugging in upstream testing (pr#50773, Patrick Donnelly)
qa: fix cephfs-mirror unwinding and ‘fs volume create/rm’ order (pr#52654, Jos Collin)
qa: mirror tests should cleanup fs during unwind (pr#50765, Patrick Donnelly)
qa: run scrub post file system recovery (issue#59527, pr#51610, Venky Shankar)
qa: test_simple failure (pr#50756, Patrick Donnelly)
qa: use parallel gzip for compressing logs (pr#52953, Patrick Donnelly)
qa: wait for MDSMonitor tick to replace daemons (pr#52237, Patrick Donnelly)
radosgw-admin: try reshard even if bucket is resharding (pr#51836, Casey Bodley)
rbd-mirror: fix image replayer shut down description on force promote (pr#52878, Prasanna Kumar Kalever)
rbd-mirror: fix race preventing local image deletion (pr#52625, N Balachandran)
rgw/rados: check_quota() uses real bucket owner (pr#51330, Mykola Golub, Casey Bodley)
rgw/s3: dump Message field in Error response even if empty (pr#51200, Casey Bodley)
rgw: avoid string_view to temporary in RGWBulkUploadOp (pr#52159, Casey Bodley)
rgw: fix consistency bug with OLH objects (pr#52552, Cory Snyder)
rgw: LDAP fix resource leak with wrong credentials (pr#50560, Johannes Liebl, Johannes)
rgw: under fips & openssl 3.x allow md5 usage in select rgw ops (pr#51266, Mark Kogan)
src/valgrind.supp: Adding know leaks unrelated to ceph (pr#49521, Nitzan Mordechai)
src/valgrind.supp: Adding know leaks unrelated to ceph (pr#51341, Nitzan Mordechai)
test: correct osd pool default size (pr#51803, Nitzan Mordechai)
test: monitor thrasher wait until quorum (pr#51799, Nitzan Mordechai)
tests: remove pubsub tests from multisite (pr#48928, Yuval Lifshitz)
tools/ceph-dencoder: Fix incorrect type define for trash_watcher (pr#51778, Chen Yuanrun)
tools/ceph-kvstore-tool: fix segfaults when repair the rocksdb (pr#51254, huangjun)
tools/cephfs-data-scan: support for multi-datapool (pr#50523, Mykola Golub)
vstart: check mgr status after starting mgr (pr#51604, Rongqi Sun)
Wip nitzan fixing few rados/test.sh (pr#49943, Nitzan Mordechai)
qa: add subvolume option flavors (pr#51509, Milind Changire, Venky Shankar)
v16.2.13 太平洋
This is the thirteenth backport release in the Pacific series.
值得注意的变化
CephFS: Rename the mds_max_retries_on_remount_failure option to client_max_retries_on_remount_failure and move it from mds.yaml.in to mds-client.yaml.in because this option was only used by MDS client from its birth.
ceph mgr dumpcommand now outputslast_failure_osd_epoch和active_clientsfields at the top level. Previously, these fields werealways_on_modulesfield.
更改日志
backport PR #39607 (pr#51344, Rishabh Dave)
ceph-crash: drop privleges to run as “ceph” user, rather than root (CVE-2022-3650) (pr#48804, Tim Serong, Guillaume Abrioux)
ceph-mixing: fix ceph_hosts variable (pr#48933, Tatjana Dehler)
ceph-volume/tests: add allowlist_externals to tox.ini (pr#49789, Guillaume Abrioux)
ceph-volume: do not raise RuntimeError in util.lsblk (pr#50145, Guillaume Abrioux)
ceph-volume: fix a bug in get_all_devices_vgs() (pr#49454, Guillaume Abrioux)
ceph-volume: fix a bug in lsblk_all() (pr#49869, Guillaume Abrioux)
ceph-volume: fix issue with fast device allocs when there are multiple PVs per VG (pr#50878, Cory Snyder)
ceph-volume: fix regression in activate (pr#49972, Guillaume Abrioux)
ceph-volume: legacy_encrypted() shouldn’t call lsblk() when device is ‘tmpfs’ (pr#50162, Guillaume Abrioux)
ceph-volume: update the OS before deploying Ceph (pacific) (pr#50996, Guillaume Abrioux)
ceph.spec.in: Replace %usrmerged macro with regular version check (pr#49830, Tim Serong)
ceph_fuse: retry the test_dentry_handling if fails (pr#49944, Xiubo Li)
cephadm: Adding poststop actions and setting TimeoutStartSec to 200s (pr#50514, Redouane Kachach)
cephadm: don’t overwrite cluster logrotate file (pr#49927, Adam King)
cephadm: set pids-limit unlimited for all ceph daemons (pr#50512, Adam King, Teoman ONAY)
cephfs-top: addition of sort feature and limit option (pr#49303, Neeraj Pratap Singh, Jos Collin)
cephfs-top: drop curses.A_ITALIC (pr#50029, Jos Collin)
cephfs-top: Handle METRIC_TYPE_NONE fields for sorting (pr#50597, Neeraj Pratap Singh)
cls/rgw: remove index entry after cancelling last racing delete op (pr#50243, Casey Bodley)
doc/ceph-volume: fix cephadm references (pr#50116, Piotr Parczewski)
doc/ceph-volume: refine encryption.rst (pr#49793, Zac Dover)
doc/ceph-volume: update LUKS docs (pr#49758, Zac Dover)
doc/cephadm/host-management: add service spec link (pr#50255, thomas)
doc/cephadm/troubleshooting: remove word repeat (pr#50223, thomas)
doc/cephadm: grammar / syntax in install.rst (pr#49949, Piotr Parczewski)
doc/cephadm: Redd up compatibility.rst (pr#50368, Anthony D’Atri)
doc/cephadm: update cephadm compatability and stability page (pr#50337, Adam King)
doc/cephfs: add note about CephFS extended attributes and getfattr (pr#50069, Zac Dover)
doc/cephfs: describe conf opt “client quota df” in quota doc (pr#50253, Rishabh Dave)
doc/cephfs: Improve fs-volumes.rst (pr#50832, Anthony D’Atri)
doc/dev: add full stop to sentence in basic-wo (pr#50401, Zac Dover)
doc/dev: add git branch management commands (pr#49739, Zac Dover)
doc/dev: add Slack to Dev Guide essentials (pr#49875, Zac Dover)
doc/dev: backport 49908 to P (Upgrade Testing Docs) (pr#49911, Zac Dover)
doc/dev: format command in cephfs-mirroring (pr#51109, Zac Dover)
doc/dev: use underscores in config vars (pr#49893, Ville Ojamo)
doc/glossary: add “application” to the glossary (pr#50259, Zac Dover)
doc/glossary: add “Bucket” (pr#50225, Zac Dover)
doc/glossary: add “client” to glossary (pr#50263, Zac Dover)
doc/glossary: add “Hybrid Storage” (pr#51098, Zac Dover)
doc/glossary: add “Period” to glossary (pr#50156, Zac Dover)
doc/glossary: add “Placement Groups” definition (pr#51186, Zac Dover)
doc/glossary: add “realm” to glossary (pr#50135, Zac Dover)
doc/glossary: add “Scrubbing” (pr#50703, Zac Dover)
doc/glossary: add “User” (pr#50673, Zac Dover)
doc/glossary: Add “zone” to glossary.rst (pr#50272, Zac Dover)
doc/glossary: add AWS/OpenStack bucket info (pr#50248, Zac Dover)
doc/glossary: improve “CephX” entry (pr#51065, Zac Dover)
doc/glossary: link to CephX Config ref (pr#50709, Zac Dover)
doc/index: remove “uniquely” from landing page (pr#50478, Zac Dover)
doc/install: link to “cephadm installing ceph” (pr#49782, Zac Dover)
doc/install: refine index.rst (pr#50436, Zac Dover)
doc/install: update index.rst (pr#50433, Zac Dover)
doc/mgr/prometheus: fix confval reference (pr#51094, Piotr Parczewski)
doc/msgr2: update dual stack status (pr#50801, Dan van der Ster)
doc/operations: fix prompt in bluestore-migration (pr#50663, Zac Dover)
doc/rados/config: edit auth-config-ref (pr#50951, Zac Dover)
doc/rados/operations: edit monitoring.rst (pr#51037, Zac Dover)
doc/rados/operations: Fix double prompt (pr#49899, Ville Ojamo)
doc/rados/operations: Fix indentation (pr#49896, Ville Ojamo)
doc/rados/operations: Fix typo in erasure-code.rst (pr#50753, Sainithin Artham)
doc/rados/operations: Improve wording, capitalization, formatting (pr#50454, Anthony D’Atri)
doc/rados/ops: add ceph-medic documentation (pr#50854, Zac Dover)
doc/rados/ops: add hyphen to mon-osd-pg.rst (pr#50961, Zac Dover)
doc/rados/ops: edit health checks.rst (5 of x) (pr#50968, Zac Dover)
doc/rados/ops: edit health-checks.rst (1 of x) (pr#50798, Zac Dover)
doc/rados/ops: edit health-checks.rst (2 of x) (pr#50913, Zac Dover)
doc/rados/ops: edit health-checks.rst (3 of x) (pr#50954, Zac Dover)
doc/rados/ops: edit health-checks.rst (4 of x) (pr#50957, Zac Dover)
doc/rados/ops: edit health-checks.rst (6 of x) (pr#50971, Zac Dover)
doc/rados/ops: edit monitoring-osd-pg.rst (1 of x) (pr#50866, Zac Dover)
doc/rados/ops: edit monitoring-osd-pg.rst (2 of x) (pr#50947, Zac Dover)
doc/rados/ops: line-edit operating.rst (pr#50935, Zac Dover)
doc/rados/ops: remove ceph-medic from monitoring (pr#51089, Zac Dover)
doc/rados: add link to ops/health-checks.rst (pr#50763, Zac Dover)
doc/rados: clean up ops/bluestore-migration.rst (pr#50679, Zac Dover)
doc/rados: edit operations/bs-migration (1 of x) (pr#50588, Zac Dover)
doc/rados: edit operations/bs-migration (2 of x) (pr#50591, Zac Dover)
doc/rados: edit ops/monitoring.rst (1 of 3) (pr#50824, Zac Dover)
doc/rados: edit ops/monitoring.rst (2 of 3) (pr#50850, Zac Dover)
doc/rados: edit user-management.rst (1 of x) (pr#50642, Zac Dover)
doc/rados: line edit mon-lookup-dns top matter (pr#50583, Zac Dover)
doc/rados: line-edit common.rst (pr#50944, Zac Dover)
doc/rados: line-edit erasure-code.rst (pr#50620, Zac Dover)
doc/rados: line-edit pg-repair.rst (pr#50804, Zac Dover)
doc/rados: line-edit upmap.rst (pr#50567, Zac Dover)
doc/rados: refine ceph-conf.rst (pr#49833, Zac Dover)
doc/rados: refine pool-pg-config-ref.rst (pr#49822, Zac Dover)
doc/rados: update OSD_BACKFILLFULL description (pr#50219, Ponnuvel Palaniyappan)
doc/radosgw: format admonitions (pr#50357, Zac Dover)
doc/radosgw: format part of s3select (pr#51118, Cole Mitchell)
doc/radosgw: format part of s3select (pr#51106, Cole Mitchell)
doc/radosgw: multisite - edit “functional changes” (pr#50278, Zac Dover)
doc/radosgw: refine “Maintenance” in multisite.rst (pr#50026, Zac Dover)
doc/radosgw: s/execute/run/ in multisite.rst (pr#50174, Zac Dover)
doc/radosgw: s/zone group/zonegroup/g et alia (pr#50298, Zac Dover)
doc/rbd/rbd-exclusive-locks: warn about automatic lock transitions (pr#49805, Ilya Dryomov)
doc/rbd: format iscsi-initiator-linux.rbd better (pr#49750, Zac Dover)
doc/rgw - fix grammar in table in s3.rst (pr#50389, Zac Dover)
doc/rgw: “Migrating Single Site to Multi-Site” (pr#50094, Zac Dover)
doc/rgw: caption a diagram (pr#50294, Zac Dover)
doc/rgw: clarify multisite.rst top matter (pr#50205, Zac Dover)
doc/rgw: clean zone-sync.svg (pr#50363, Zac Dover)
doc/rgw: fix caption (pr#50396, Zac Dover)
doc/rgw: improve diagram caption (pr#50332, Zac Dover)
doc/rgw: multisite ref. top matter cleanup (pr#50190, Zac Dover)
doc/rgw: refine “Configuring Secondary Zones” (pr#50075, Zac Dover)
doc/rgw: refine “Failover and Disaster Recovery” (pr#50079, Zac Dover)
doc/rgw: refine “Multi-site Config Ref” (1 of x) (pr#50118, Zac Dover)
doc/rgw: refine “Realms” section (pr#50140, Zac Dover)
doc/rgw: refine “Setting a Zonegroup” (pr#51073, Zac Dover)
doc/rgw: refine “Zones” in multisite.rst (pr#49983, Zac Dover)
doc/rgw: refine 1-50 of multisite.rst (pr#49996, Zac Dover)
doc/rgw: refine keycloak.rst (pr#50379, Zac Dover)
doc/rgw: refine multisite to “config 2ndary zones” (pr#50032, Zac Dover)
doc/rgw: refine ~50-~140 of multisite.rst (pr#50009, Zac Dover)
doc/rgw: remove “tertiary”, link to procedure (pr#50288, Zac Dover)
doc/rgw: s/[Zz]one [Gg]roup/zonegroup/g (pr#50137, Zac Dover)
doc/rgw: session-tags.rst - fix link to keycloak (pr#50188, Zac Dover)
doc/start: add RST escape character rules for bold (pr#49752, Zac Dover)
doc/start: documenting-ceph - add squash procedure (pr#50741, Zac Dover)
doc/start: edit first 150 lines of documenting-ceph (pr#51183, Zac Dover)
doc/start: format procedure in documenting-ceph (pr#50789, Zac Dover)
doc/start: update “notify us” section (pr#50771, Zac Dover)
doc: add the damage types that scrub can repair (pr#49933, Neeraj Pratap Singh)
doc: document debugging for libcephsqlite (pr#50034, Patrick Donnelly)
doc: preen cephadm/troubleshooting.rst and radosgw/placement.rst (pr#50229, Anthony D’Atri)
drive_group: fix limit filter in drive_selection.selector (pr#50371, Guillaume Abrioux)
kv/RocksDBStore: Add CompactOnDeletion support (pr#50894, Radoslaw Zarzynski, Mark Nelson)
libcephsqlite: CheckReservedLock the result will always be zero (pr#50036, Shuai Wang)
librbd/crypto: fix bad return checks from libcryptsetup (pr#49413, Or Ozeri)
librbd: avoid EUCLEAN error after “rbd rm” is interrupted (pr#50129, weixinwei)
librbd: call apply_changes() after setting librados_thread_count (pr#50289, Ilya Dryomov)
librbd: Fix local rbd mirror journals growing forever (pr#50158, Ilya Dryomov, Josef Johansson)
librbd: fix wrong attribute for rbd_quiesce_complete API (pr#50872, Dongsheng Yang)
librbd: report better errors when failing to enable mirroring on an image (pr#50836, Prasanna Kumar Kalever)
mds/PurgeQueue: don’t consider filer_max_purge_ops when _calculate_ops (pr#49656, haoyixing)
mds/Server: do not allow -ve reclaim flags to cause client eviction (pr#49956, Dhairya Parmar)
mds: account for snapshot items when deciding to split or merge a directory (issue#55215, pr#49867, Venky Shankar)
mds: avoid ~mdsdir’s scrubbing and reporting damage health status (pr#49440, Neeraj Pratap Singh)
mds: catch damage to CDentry’s first member before persisting (issue#58482, pr#50781, Patrick Donnelly)
mds: do not acquire xlock in xlockdone state (pr#49538, Igor Fedotov)
mds: fix and skip submitting invalid osd request (pr#49941, Xiubo Li)
mds: fix scan_stray_dir not reset next.frag on each run of stray inode (pr#49669, ethanwu)
mds: md_log_replay thread blocks waiting to be woken up (pr#49671, zhikuodu)
mds: switch submit_mutex to fair mutex for MDLog (pr#49632, Xiubo Li)
mgr/cephadm: add ingress support for ssl rgw service (pr#49917, Frank Ederveen)
mgr/cephadm: be aware of host’s shortname and FQDN (pr#50516, Adam King)
mgr/cephadm: call iscsi post_remove from serve loop (pr#49928, Adam King)
mgr/cephadm: don’t add mgr into iscsi trusted_ip_list if it’s already there (pr#50515, Mykola Golub)
mgr/cephadm: don’t say migration in progress if migration current > migration last (pr#49919, Adam King)
mgr/cephadm: fix backends service in haproxy config with multiple nfs of same rank (pr#50511, Adam King)
mgr/cephadm: fix check for if devices have changed (pr#49916, Adam King)
mgr/cephadm: fix handling of mgr upgrades with 3 or more mgrs (pr#49921, Adam King)
mgr/cephadm: Fix how we check if a host belongs to public network (pr#50007, Redouane Kachach)
mgr/cephadm: fix removing offline hosts with ingress daemons (pr#49926, Adam King)
mgr/cephadm: increase ingress timeout values (pr#49923, Frank Ederveen)
mgr/cephadm: iscsi username and password defaults to admin (pr#49310, Nizamudeen A)
mgr/cephadm: some master -> main cleanup (pr#49285, Adam King)
mgr/cephadm: specify ports for iscsi (pr#49918, Adam King)
mgr/cephadm: support for extra entrypoint args (pr#49925, Adam King)
mgr/cephadm: try to avoid pull when getting container image info (pr#50513, Mykola Golub, Adam King)
mgr/cephadm: write client files after applying services (pr#49920, Adam King)
mgr/dashboard: add tooltip mirroring pools table (pr#49503, Pedro Gonzalez Gomez)
mgr/dashboard: added pattern validaton for form input (pr#47330, Pedro Gonzalez Gomez)
mgr/dashboard: custom image for kcli bootstrap script (pr#50917, Nizamudeen A)
mgr/dashboard: fix “can’t read .ssh/known_hosts: No such file or directory (pr#50123, Nizamudeen A)
mgr/dashboard: fix cephadm e2e expression changed error (pr#51081, Nizamudeen A)
mgr/dashboard: fix create osd default selected as recommended not working (pr#51038, Nizamudeen A)
mgr/dashboard: fix displaying mirror image progress (pr#50870, Pere Diaz Bou)
mgr/dashboard: fix eviction of all FS clients (pr#51009, Pere Diaz Bou)
mgr/dashboard: fix weird data in osd details (pr#50121, Pedro Gonzalez Gomez, Nizamudeen A)
mgr/dashboard: force TLS 1.3 (pr#50527, Ernesto Puerta)
mgr/dashboard: Hide maintenance option on expand cluster (pr#47725, Nizamudeen A)
mgr/dashboard: ignore the rules 400 error in dashboard kcli e2e (pr#50914, Nizamudeen A)
mgr/dashboard: osd form preselect db/wal device filters (pr#50122, Nizamudeen A)
mgr/dashboard: Replace vonage-status-panel with native grafana stat panel (pr#50044, Aashish Sharma)
mgr/nfs: add sectype option (pr#49929, John Mulligan)
mgr/orchestrator: fix upgrade status help message (pr#49922, Adam King)
mgr/prometheus: export zero valued pg state metrics (pr#49786, Avan Thakkar)
mgr/prometheus: expose daemon health metrics (pr#49520, Pere Diaz Bou)
mgr/prometheus: fix module crash when trying to collect OSDs metrics (pr#49931, Redouane Kachach)
mgr/rbd_support: remove localized schedule option during module startup (pr#49650, Ramana Raja)
mgr/snap_schedule: replace .snap with the client configured snap dir name (pr#47726, Neeraj Pratap Singh)
mon/MgrMap: dump last_failure_osd_epoch and active_clients at top level (pr#50305, Ilya Dryomov)
mon/MonCommands: Support dump_historic_slow_ops (pr#49233, Matan Breizman)
mon: bail from handle_command() if _generate_command_map() fails (pr#48846, Nikhil Kshirsagar)
mon: disable snap id allocation for fsmap pools (pr#50050, Milind Changire)
mon: Fix condition to check for ceph version mismatch (pr#49988, Prashant D)
os/bluestore: fix onode ref counting (pr#50072, Igor Fedotov)
os/memstore: Fix memory leak (pr#50092, Adam Kupczyk)
pybind/mgr: check for empty metadata mgr_module:get_metadata() (issue#57072, pr#49966, Venky Shankar)
qa/rgw: use symlinks to specify distro (pr#50940, Casey Bodley)
qa/suites/rbd: fix sporadic “rx-only direction” test failures (pr#50112, Ilya Dryomov)
qa/suites/rgw: fix and update tempest and barbican tests (pr#50000, Tobias Urdin)
qa/tasks/cephadm.py: fix pulling cephadm from git.ceph.com (pr#49915, Adam King)
qa/tests: added pacific client upgrade => reef (pr#50352, Yuri Weinstein)
qa: check each fs for health (pr#51232, Patrick Donnelly)
qa: ignore expected scrub error (pr#50775, Patrick Donnelly)
qa: ignore MDS_TRIM warnings when osd thrashing (pr#50757, Patrick Donnelly)
qa: lengthen health warning wait (pr#50760, Patrick Donnelly)
qa: load file system info if not created (pr#50923, Patrick Donnelly)
qa: test the “ms_mode” options in kclient workflows (pr#50712, Jeff Layton)
qa: test_recovery_pool uses wrong recovery procedure (pr#50860, Patrick Donnelly)
qa: wait for scrub to finish (pr#49458, Milind Changire)
rbd-mirror: add information about the last snapshot sync to image status (pr#50265, Divyansh Kamboj)
rbd-mirror: fix syncing_percent calculation logic in get_replay_status() (pr#50181, N Balachandran)
rgw/beast: fix interaction between keepalive and 100-continue (pr#49841, Casey Bodley, Yixin Jin)
rgw/coroutine: check for null stack on wakeup (pr#49097, Casey Bodley)
rgw/s3: dump Message field in Error response even if empty (pr#51200, Casey Bodley)
rgw: “reshard cancel” errors with “invalid argument” (pr#49091, J. Eric Ivancich)
rgw: adding BUCKET_REWRITE and OBJECT_REWRITE OPS to (pr#49095, Pritha Srivastava)
rgw: an empty tagset is allowed by S3 (pr#49809, Volker Theile, Liu Lan)
rgw: Backport of issue 57562 to Pacific (pr#49682, Adam C. Emerson)
rgw: bucket list operation slow down in special scenario (pr#49086, zealot)
rgw: concurrency for multi object deletes (pr#49327, Casey Bodley, Cory Snyder)
rgw: fix the problem of duplicate idx when bi list (pr#49829, wangtengfei)
rgw: optimizations for handling ECANCELED errors from within get_obj_state (pr#50886, Cory Snyder)
rgw: rgw_parse_url_bucket() rejects empty bucket names after ‘tenant:’ (pr#50624, Casey Bodley)
rgw: RGWPutLC does not require Content-MD5 (pr#49089, Casey Bodley)
tools/cephfs: include lost+found in scan_links (pr#50784, Patrick Donnelly)
Wip nitzan pglog ec getattr error (pr#49937, Nitzan Mordechai)
v16.2.12 太平洋
This is a hotfix release that resolves several performance flaws in ceph-volume, particularly during osd activation (https://tracker.ceph.com/issues/57627)
值得注意的变化
更改日志
ceph-volume: add test case to reproduce bug in get_physical_fast_allocs (pr#50878, Cory Snyder)
ceph-volume: do not raise RuntimeError in util.lsblk (pr#50145, Guillaume Abrioux)
ceph-volume: fix a bug in get_all_devices_vgs() (pr#49454, Guillaume Abrioux)
ceph-volume: fix a bug in lsblk_all() (pr#49869, Guillaume Abrioux)
ceph-volume: fix issue with fast device allocs when there are multiple PVs per VG (pr#50279, Cory Snyder)
ceph-volume: fix regression in activate (pr#49972, Guillaume Abrioux)
ceph-volume: legacy_encrypted() shouldn’t call lsblk() when device is ‘tmpfs’ (pr#50162, Guillaume Abrioux)
ceph-volume: update the OS before deploying Ceph (pacific) (pr#50996, Guillaume Abrioux)
v16.2.11 太平洋
This is the eleventh backport release in the Pacific series.
值得注意的变化
Cephfs: The ‘AT_NO_ATTR_SYNC’ macro is deprecated, please use the standard ‘AT_STATX_DONT_SYNC’ macro. The ‘AT_NO_ATTR_SYNC’ macro will be removed in the future.
Trimming of PGLog dups is now controlled by the size instead of the version. This fixes the PGLog inflation issue that was happening when the on-line (in OSD) trimming got jammed after a PG split operation. Also, a new off-line mechanism has been added: ceph-objectstore-tool got trim-pg-log-dups op that targets situations where OSD is unable to boot due to those inflated dups. If that is the case, in OSD logs the “You can be hit by THE DUPS BUG” warning will be visible. Relevant tracker: https://tracker.ceph.com/issues/53729
RBD: rbd device unmap command gained --namespace option. Support for namespaces was added to RBD in Nautilus 14.2.0 and it has been possible to map and unmap images in namespaces using the image-spec syntax since then but the corresponding option available in most other commands was missing.
更改日志
.github/CODEOWNERS: tag core devs on core PRs (pr#46520, Neha Ojha)
.github: continue on error and reorder milestone step (pr#46448, Ernesto Puerta)
.readthedocs.yml: Always build latest doc/releases pages (pr#47443, David Galloway)
mgr/alerts: Add Message-Id and Date header to sent emails (pr#46312, Lorenz Bausch)
Add mapping for ernno:13 and adding path in error msg in opendir()/cephfs.pyx (pr#46646, Sarthak0702)
backport of cephadm: fix osd adoption with custom cluster name (pr#46552, Adam King)
bluestore: Improve deferred write decision (pr#49170, Adam Kupczyk, Igor Fedotov)
Catch exception if thrown by __generate_command_map() (pr#45893, Nikhil Kshirsagar)
ceph-fuse: add dedicated snap stag map for each directory (pr#46949, Xiubo Li)
ceph-mixin: backport of recent cleanups (pr#46549, Arthur Outhenin-Chalandre)
ceph mixin: backports (pr#47868, Aswin Toni, Kefu Chai, Anthony D’Atri)
ceph-volume/tests: fix lvm centos8-filestore-create job (pr#48123, Guillaume Abrioux)
ceph-volume: add a retry in util.disk.remove_partition (pr#47990, Guillaume Abrioux)
ceph-volume: allow listing devices by OSD ID (pr#47018, Rishabh Dave)
ceph-volume: avoid unnecessary subprocess calls (pr#46969, Guillaume Abrioux)
ceph-volume: decrease number of pvs calls in lvm list (pr#46967, Guillaume Abrioux)
ceph-volume: do not log sensitive details (pr#46729, Guillaume Abrioux)
ceph-volume: fix activate (pr#46511, Guillaume Abrioux, Sage Weil)
ceph-volume: fix inventory with device arg (pr#48126, Guillaume Abrioux)
ceph-volume: make is_valid() optional (pr#46731, Guillaume Abrioux)
ceph-volume: only warn when config file isn’t found (pr#46069, Guillaume Abrioux)
ceph-volume: Pacific backports (pr#47413, Guillaume Abrioux, Zack Cerza, Arthur Outhenin-Chalandre)
ceph-volume: system.get_mounts() refactor (pr#47535, Guillaume Abrioux)
ceph-volume: zap osds in rollback_osd() (pr#44769, Guillaume Abrioux)
ceph.spec.in: disable annobin plugin if compile with gcc-toolset (pr#46368, Kefu Chai)
ceph.spec.in: remove build directory at end of %install (pr#45698, Tim Serong)
ceph_test_librados_service: wait longer for servicemap to update (pr#46677, Sage Weil)
cephadm batch backport May (pr#46327, Adam King, Redouane Kachach, Moritz Röhrich)
cephadm/ceph-volume: fix rm-cluster --zap (pr#47627, Guillaume Abrioux)
cephadm: add “su root root” to cephadm.log logrotate config (pr#47319, Adam King)
cephadm: add ‘is_paused’ field in orch status output (pr#46570, Guillaume Abrioux)
cephadm: addip_nonlocal_bindto haproxy deployment (pr#48212, Michael Fritch)
Cephadm: Allow multiple virtual IP addresses for keepalived and haproxy (pr#47611, Luis Domingues)
cephadm: consider stdout to get container version (pr#48210, Tatjana Dehler)
cephadm: Fix disk size calculation (pr#48098, Paul Cuzner)
cephadm: Fix repo_gpgkey should return 2 vars (pr#47376, Laurent Barbe)
cephadm: improve network handling during bootstrap (pr#46309, Redouane Kachach)
cephadm: pin flake8 to 5.0.4 (pr#49058, Kefu Chai)
cephadm: preserve cephadm user during RPM upgrade (pr#46553, Scott Shambarger)
cephadm: prometheus: The generatorURL in alerts is only using hostname (pr#46352, Volker Theile)
cephadm: return nonzero exit code when applying spec fails in bootstrap (pr#48102, Adam King)
cephadm: run tests as root (pr#48470, Kefu Chai)
cephadm: support for Oracle Linux 8 (pr#47661, Adam King)
cephadm: support quotes around public/cluster network in config passed to bootstrap (pr#47664, Adam King)
cephfs-data-scan: make scan_links more verbose (pr#48443, Mykola Golub)
cephfs-shell: fix put and get cmd (pr#46297, Dhairya Parmar, dparmar18)
cephfs-shell: move source to separate subdirectory (pr#47401, Tim Serong)
cephfs-top: adding filesystem menu option (pr#47998, Neeraj Pratap Singh)
cephfs-top: display average read/write/metadata latency (issue#48619, pr#47978, Venky Shankar)
cephfs-top: fix the rsp/wsp display (pr#47647, Jos Collin)
cephfs-top: make cephfs-top display scrollable (pr#48734, Jos Collin)
cephfs-top: Multiple filesystem support (pr#46146, Neeraj Pratap Singh)
client: always return ESTALE directly in handle_reply (pr#46557, Xiubo Li)
client: stop forwarding the request when exceeding 256 times (pr#46179, Xiubo Li)
client: switch AT_NO_ATTR_SYNC to AT_STATX_DONT_SYNC (pr#46679, Xiubo Li)
client/fuse: Fix directory DACs overriding for root (pr#46596, Kotresh HR)
client: abort the client if we couldn’t invalidate dentry caches (pr#48109, Xiubo Li)
client: add option to disable collecting and sending metrics (pr#46798, Xiubo Li)
client: allow overwrites to file with size greater than the max_file_size (pr#47972, Tamar Shacked)
client: buffer the truncate if we have the Fx caps (pr#45792, Xiubo Li)
client: choose auth MDS for getxattr with the Xs caps (pr#46799, Xiubo Li)
client: do not uninline data for read (pr#48133, Xiubo Li)
client: fix incorrectly showing the .snap size for stat (pr#48413, Xiubo Li)
client: Inode::hold_caps_until is time from monotonic clock now (pr#46626, Laura Flores, Neeraj Pratap Singh)
client: stop the remount_finisher thread in the Client::unmount() (pr#48108, Xiubo Li)
client: use parent directory POSIX ACLs for snapshot dir (issue#57084, pr#48553, Venky Shankar)
cls/rbd: update last_read in group::snap_list (pr#49195, Ilya Dryomov, Prasanna Kumar Kalever)
cls/rgw: rgw_dir_suggest_changes detects race with completion (pr#45900, Casey Bodley)
cmake: check for python(d).(d+) when building boost (pr#46365, Kefu Chai)
cmake: remove spaces in macro used for compiling cython code (pr#47484, Kefu Chai)
CODEOWNERS: add RBD team (pr#46541, Ilya Dryomov)
common: use boost::shared_mutex on Windows (pr#47492, Lucian Petrut)
crash: pthread_mutex_lock() (pr#47684, Patrick Donnelly)
doc/cephadm: add prompts to host-management.rst (pr#48590, Zac Dover)
doc/rados: add prompts to placement-groups.rst (pr#49272, Zac Dover)
doc: Wip pr 46109 backport to pacific (pr#46117, Ville Ojamo)
doc: Wip min hardware typo pacific backport 2022 05 19 (pr#46347, Zac Dover)
doc/_static: add scroll-margin-top to custom.css (pr#49645, Zac Dover)
doc/architecture: correct PDF link (pr#48796, Zac Dover)
doc/ceph-volume: add A. D’Atri’s suggestions (pr#48646, Zac Dover)
doc/ceph-volume: improve prepare.rst (pr#48669, Zac Dover)
doc/ceph-volume: refine “bluestore” section (pr#48635, Zac Dover)
doc/ceph-volume: refine “filestore” section (pr#48637, Zac Dover)
doc/ceph-volume: refine “prepare” top matter (pr#48652, Zac Dover)
doc/ceph-volume: refine Filestore docs (pr#48671, Zac Dover)
doc/cephadm/services: fix example for specifying rgw placement (pr#47948, Redouane Kachach)
doc/cephadm/services: the config section of service specs (pr#47321, Redouane Kachach)
doc/cephadm: add airgapped install procedure (pr#49146, Zac Dover)
doc/cephadm: add note about OSDs being recreated to OSD removal section (pr#47103, Adam King)
doc/cephadm: Add post-upgrade section (pr#46977, Redouane Kachach)
doc/cephadm: alphabetize external tools list (pr#48726, Zac Dover)
doc/cephadm: arrange “listing hosts” section (pr#48724, Zac Dover)
doc/cephadm: clean colons in host-management.rst (pr#48604, Zac Dover)
doc/cephadm: correct version staggered upgrade got in pacific (pr#48056, Adam King)
doc/cephadm: document recommended syntax for mounting files with ECA (pr#48069, Adam King)
doc/cephadm: enhancing daemon operations documentation (pr#46976, Redouane Kachach)
doc/cephadm: fix example for specifying networks for rgw (pr#47807, Adam King)
doc/cephadm: fix grammar in compatibility.rst (pr#48715, Zac Dover)
doc/cephadm: format airgap install procedure (pr#49149, Zac Dover)
doc/cephadm: improve airgapping procedure grammar (pr#49158, Zac Dover)
doc/cephadm: improve front matter (pr#48607, Zac Dover)
doc/cephadm: improve grammar in “listing hosts” (pr#49165, Zac Dover)
doc/cephadm: improve lone sentence (pr#48738, Zac Dover)
doc/cephadm: refine “Removing Hosts” (pr#49707, Zac Dover)
doc/cephadm: s/osd/OSD/ where appropriate (pr#49718, Zac Dover)
doc/cephadm: s/ssh/SSH/ in doc/cephadm (complete) (pr#48612, Zac Dover)
doc/cephadm: s/ssh/SSH/ in troubleshooting.rst (pr#48602, Zac Dover)
doc/cephadm: update install.rst (pr#48595, Zac Dover)
doc/cephfs - s/yet to here/yet to hear/ posix.rst (pr#49449, Zac Dover)
doc/cephfs/add-remove-mds: added cephadm note, refined “Adding an MDS” (pr#45878, Dhairya Parmar)
doc/cephfs: fix “e.g.” in posix.rst (pr#49451, Zac Dover)
doc/cephfs: s/all of there are/all of these are/ (pr#49447, Zac Dover)
doc/conf.py: run ditaa with java (pr#48906, Kefu Chai)
doc/css: add “span” padding to custom.css (pr#49694, Zac Dover)
doc/css: add scroll-margin-top to dt elements (pr#49640, Zac Dover)
doc/css: Add scroll-margin-top to h2 html element (pr#49662, Zac Dover)
doc/css: add top-bar padding for h3 html element (pr#49702, Zac Dover)
doc/dev/cephadm: fix host maintenance enter/exit syntax (pr#49647, Ranjini Mandyam Narasiodeyar)
doc/dev/developer_guide/tests-unit-tests: Add unit test caveat (pr#49013, Matan Breizman)
doc/dev: add context note to dev guide config (pr#46817, Zac Dover)
doc/dev: add Dependabot section to essentials.rst (pr#47043, Zac Dover)
doc/dev: add explanation of how to use deduplication (pr#48568, Myoungwon Oh)
doc/dev: add IRC registration instructions (pr#46939, Zac Dover)
doc/dev: add submodule-update link to dev guide (pr#48480, Zac Dover)
doc/dev: alphabetize EC glossary (pr#48686, Zac Dover)
doc/dev: edit delayed-delete.rst (pr#47050, Zac Dover)
doc/dev: Elaborate on boost .deb creation (pr#47416, David Galloway)
doc/dev: fix graphviz diagram (pr#48923, Zac Dover)
doc/dev: improve Basic Workflow wording (pr#49078, Zac Dover)
doc/dev: improve EC glossary (pr#48676, Zac Dover)
doc/dev: improve lone sentence (pr#48741, Zac Dover)
doc/dev: improve presentation of note (git remote) (pr#48236, Zac Dover)
doc/dev: link to Dot User’s Manual (pr#48926, Zac Dover)
doc/dev: refine erasure_coding.rst (pr#48701, Zac Dover)
doc/dev: remove deduplication.rst from pacific (pr#48571, Zac Dover)
doc/dev: s/github/GitHub/ in essentials.rst (pr#47049, Zac Dover)
doc/dev: s/master/main/ essentials.rst dev guide (pr#46662, Zac Dover)
doc/dev: s/master/main/ in basic workflow (pr#46704, Zac Dover)
doc/dev: s/master/main/ in title (pr#46722, Zac Dover)
doc/dev: s/the the/the/ in basic-workflow.rst (pr#46934, Zac Dover)
doc/dev: update basic-workflow.rst (pr#46288, Zac Dover)
doc/dev_guide: s/master/main in merging.rst (pr#46710, Zac Dover)
doc/glosary.rst: add “Ceph Block Device” term (pr#48745, Zac Dover)
doc/glossary - add “secrets” (pr#49398, Zac Dover)
doc/glossary.rst: add “Ceph Dashboard” term (pr#48749, Zac Dover)
doc/glossary.rst: alphabetize glossary terms (pr#48339, Zac Dover)
doc/glossary.rst: define “Ceph Manager” (pr#48765, Zac Dover)
doc/glossary.rst: remove duplicates (pr#48358, Zac Dover)
doc/glossary.rst: remove old front matter (pr#48755, Zac Dover)
doc/glossary: add “BlueStore” (pr#48778, Zac Dover)
doc/glossary: add “ceph monitor” entry (pr#48448, Zac Dover)
doc/glossary: add “Ceph Object Store” (pr#49031, Zac Dover)
doc/glossary: add “Dashboard Module” (pr#49138, Zac Dover)
doc/glossary: add “FQDN” entry (pr#49425, Zac Dover)
doc/glossary: add “mds” term (pr#48872, Zac Dover)
doc/glossary: add “RADOS Cluster” (pr#49135, Zac Dover)
doc/glossary: add “RADOS” definition (pr#48951, Zac Dover)
doc/glossary: Add “SDS” (pr#48977, Zac Dover)
doc/glossary: add DAS (pr#49255, Zac Dover)
doc/glossary: add matter to “RBD” (pr#49266, Zac Dover)
doc/glossary: add oxford comma to “Cluster Map” (pr#48993, Zac Dover)
doc/glossary: beef up “Ceph Block Storage” (pr#48965, Zac Dover)
doc/glossary: capitalize “DAS” correctly (pr#49604, Zac Dover)
doc/glossary: clean OSD id-related entries (pr#49590, Zac Dover)
doc/glossary: Clean up “Ceph Object Storage” (pr#49668, Zac Dover)
doc/glossary: collate “releases” entries (pr#49601, Zac Dover)
doc/glossary: Define “Ceph Node” (pr#48995, Zac Dover)
doc/glossary: define “Ceph Object Gateway” (pr#48902, Zac Dover)
doc/glossary: define “Ceph OSD” (pr#48771, Zac Dover)
doc/glossary: define “Ceph Storage Cluster” (pr#49003, Zac Dover)
doc/glossary: define “OSD” (pr#48760, Zac Dover)
doc/glossary: define “RGW” (pr#48961, Zac Dover)
doc/glossary: disambiguate “OSD” (pr#48791, Zac Dover)
doc/glossary: disambiguate clauses (pr#49575, Zac Dover)
doc/glossary: fix “Ceph Client” (pr#49033, Zac Dover)
doc/glossary: improve “Ceph Manager Dashboard” (pr#48825, Zac Dover)
doc/glossary: improve “Ceph Manager” term (pr#48812, Zac Dover)
doc/glossary: improve “Ceph Point Release” entry (pr#48891, Zac Dover)
doc/glossary: improve “ceph” term (pr#48821, Zac Dover)
doc/glossary: improve wording (pr#48752, Zac Dover)
doc/glossary: link to “Ceph Manager” (pr#49064, Zac Dover)
doc/glossary: link to OSD material (pr#48785, Zac Dover)
doc/glossary: redirect entries to “Ceph OSD” (pr#48834, Zac Dover)
doc/glossary: remove “Ceph System” (pr#49073, Zac Dover)
doc/glossary: remove “Ceph Test Framework” (pr#48842, Zac Dover)
doc/glossary: rewrite “Ceph File System” (pr#48918, Zac Dover)
doc/glossary: s/an/each/ where it’s needed (pr#49596, Zac Dover)
doc/glossary: s/Ceph System/Ceph Cluster/ (pr#49081, Zac Dover)
doc/glossary: s/comprising/consisting of/ (pr#49019, Zac Dover)
doc/glossary: update “Cluster Map” (pr#48798, Zac Dover)
doc/glossary: update “pool/pools” (pr#48858, Zac Dover)
doc/index.rst: add link to Dev Guide basic workfl (pr#46903, Zac Dover)
doc/install: clone-source.rst s/master/main (pr#48381, Zac Dover)
doc/install: improve updating submodules procedure (pr#48465, Zac Dover)
doc/install: update “Official Releases” sources (pr#49039, Zac Dover)
doc/install: update clone-source.rst (pr#49378, Zac Dover)
doc/man/ceph-rbdnamer: remove obsolete udev rule (pr#49696, Ilya Dryomov)
doc/man/rbd: Mention changed bluestore_min_alloc_size (pr#47578, Niklas Hambüchen)
doc/man: define --num-rep, --min-rep and --max-rep (pr#49660, Zac Dover)
doc/mgr: add prompt directives to dashboard.rst (pr#47823, Zac Dover)
doc/mgr: edit orchestrator.rst (pr#47781, Zac Dover)
doc/mgr: name data source in “Man Install & Config” (pr#48371, Zac Dover)
doc/mgr: update prompts in dboard.rst includes (pr#47870, Zac Dover)
doc/monitoring: add min vers of apps in mon stack (pr#48062, Zac Dover, Himadri Maheshwari)
doc/osd: Fixes the introduction for writeback mode of cache tier (pr#48883, Mingyuan Liang)
doc/rados/operations: add prompts to operating.rst (pr#47587, Zac Dover)
doc/rados: add prompts to monitoring-osd-pg.rst (pr#49240, Zac Dover)
doc/rados: add prompts to add-or-remove-osds (pr#49071, Zac Dover)
doc/rados: add prompts to add-or-rm-prompts.rst (pr#48986, Zac Dover)
doc/rados: add prompts to add-or-rm-prompts.rst (pr#48980, Zac Dover)
doc/rados: add prompts to auth-config-ref.rst (pr#49516, Zac Dover)
doc/rados: add prompts to balancer.rst (pr#49112, Zac Dover)
doc/rados: add prompts to bluestore-config-ref.rst (pr#49536, Zac Dover)
doc/rados: add prompts to bluestore-migration.rst (pr#49123, Zac Dover)
doc/rados: add prompts to cache-tiering.rst (pr#49125, Zac Dover)
doc/rados: add prompts to ceph-conf.rst (pr#49493, Zac Dover)
doc/rados: add prompts to change-mon-elections.rst (pr#49130, Zac Dover)
doc/rados: add prompts to control.rst (pr#49128, Zac Dover)
doc/rados: add prompts to crush-map.rst (pr#49184, Zac Dover)
doc/rados: add prompts to devices.rst (pr#49188, Zac Dover)
doc/rados: add prompts to erasure-code-clay.rst (pr#49206, Zac Dover)
doc/rados: add prompts to erasure-code-isa (pr#49208, Zac Dover)
doc/rados: add prompts to erasure-code-jerasure.rst (pr#49210, Zac Dover)
doc/rados: add prompts to erasure-code-lrc.rst (pr#49219, Zac Dover)
doc/rados: add prompts to erasure-code-shec.rst (pr#49221, Zac Dover)
doc/rados: add prompts to health-checks (1 of 5) (pr#49223, Zac Dover)
doc/rados: add prompts to health-checks (2 of 5) (pr#49225, Zac Dover)
doc/rados: add prompts to health-checks (3 of 5) (pr#49227, Zac Dover)
doc/rados: add prompts to health-checks (4 of 5) (pr#49229, Zac Dover)
doc/rados: add prompts to health-checks (5 of 5) (pr#49231, Zac Dover)
doc/rados: add prompts to librados-intro.rst (pr#49552, Zac Dover)
doc/rados: add prompts to monitoring.rst (pr#49245, Zac Dover)
doc/rados: add prompts to msgr2.rst (pr#49512, Zac Dover)
doc/rados: add prompts to pg-repair.rst (pr#49247, Zac Dover)
doc/rados: add prompts to placement-groups.rst (pr#49274, Zac Dover)
doc/rados: add prompts to placement-groups.rst (3) (pr#49276, Zac Dover)
doc/rados: add prompts to pools.rst (pr#48060, Zac Dover)
doc/rados: add prompts to stretch-mode.rst (pr#49370, Zac Dover)
doc/rados: add prompts to upmap.rst (pr#49372, Zac Dover)
doc/rados: add prompts to user-management.rst (pr#49385, Zac Dover)
doc/rados: clarify default EC pool from simplest (pr#49469, Zac Dover)
doc/rados: cleanup “erasure code profiles” (pr#49051, Zac Dover)
doc/rados: correct typo in python.rst (pr#49560, Zac Dover)
doc/rados: fix grammar in configuration/index.rst (pr#48885, Zac Dover)
doc/rados: fix prompts in erasure-code.rst (pr#48335, Zac Dover)
doc/rados: improve pools.rst (pr#48868, Zac Dover)
doc/rados: link to cephadm replacing osd section (pr#49681, Zac Dover)
doc/rados: move colon (pr#49705, Zac Dover)
doc/rados: refine English in crush-map-edits.rst (pr#48366, Zac Dover)
doc/rados: remove prompt from php.ini line (pr#49562, Zac Dover)
doc/rados: reword part of cache-tiering.rst (pr#48888, Zac Dover)
doc/rados: rewrite EC intro (pr#48324, Zac Dover)
doc/rados: s/backend/back end/ (pr#48782, Zac Dover)
doc/rados: update “Pools” material (pr#48856, Zac Dover)
doc/rados: update bluestore-config-ref.rst (pr#46485, Zac Dover)
doc/rados: update prompts in crush-map-edits.rst (pr#48364, Zac Dover)
doc/rados: update prompts in network-config-ref (pr#48158, Zac Dover)
doc/radosgw: add prompts to multisite.rst (pr#48660, Zac Dover)
doc/radosgw: add push_endpoint for rabbitmq (pr#48488, Zac Dover)
doc/radosgw: improve “Ceph Object Gateway” text (pr#48864, Zac Dover)
doc/radosgw: improve grammar - notifications.rst (pr#48495, Zac Dover)
doc/radosgw: refine “bucket notifications” (pr#48562, Zac Dover)
doc/radosgw: refine “notification reliability” (pr#48530, Zac Dover)
doc/radosgw: refine “notifications” and “events” (pr#48580, Zac Dover)
doc/radosgw: refine notifications.rst - top part (pr#48503, Zac Dover)
doc/radosgw: update notifications.rst - grammar (pr#48500, Zac Dover)
doc/radosgw: Uppercase s3 (pr#47360, Anthony D’Atri)
doc/radosw: improve radosgw text (pr#48967, Zac Dover)
doc/radowsgw: add prompts to notifications.rst (pr#48536, Zac Dover)
doc/rbd: improve grammar in “immutable object…” (pr#48970, Zac Dover)
doc/rbd: refine “Create a Block Device Pool” (pr#49308, Zac Dover)
doc/rbd: refine “Create a Block Device User” (pr#49319, Zac Dover)
doc/rbd: refine “Create a Block Device User” (pr#49301, Zac Dover)
doc/rbd: refine “Creating a Block Device Image” (pr#49347, Zac Dover)
doc/rbd: refine “Listing Block Device Images” (pr#49349, Zac Dover)
doc/rbd: refine “Removing a Block Device Image” (pr#49357, Zac Dover)
doc/rbd: refine “Resizing a Block Device Image” (pr#49353, Zac Dover)
doc/rbd: refine “Restoring a Block Device Image” (pr#49355, Zac Dover)
doc/rbd: refine “Retrieving Image Information” (pr#49351, Zac Dover)
doc/rbd: refine rbd-exclusive-locks.rst (pr#49598, Zac Dover)
doc/rbd: refine rbd-snapshot.rst (pr#49485, Zac Dover)
doc/rbd: remove typo and ill-formed command (pr#49366, Zac Dover)
doc/rbd: s/wuold/would/ in rados-rbd-cmds.rst (pr#49592, Zac Dover)
doc/rbd: update iSCSI gateway info (pr#49069, Zac Dover)
doc/releases: improve grammar in pacific.rst (pr#48426, Zac Dover)
doc/releases: update pacific release notes (pr#48404, Zac Dover)
doc/security: improve grammar in CVE-2022-0670.rst (pr#48431, Zac Dover)
doc/start: add Anthony D’Atri’s suggestions (pr#49616, Zac Dover)
doc/start: add link-related metadocumentation (pr#49607, Zac Dover)
doc/start: alphabetize hardware-recs links (pr#46340, Zac Dover)
doc/start: improve documenting-ceph.rst (pr#49566, Zac Dover)
doc/start: make OSD and MDS structures parallel (pr#46656, Zac Dover)
doc/start: Polish network section of hardware-recommendations.rst (pr#46663, Anthony D’Atri)
doc/start: refine “Quirks of RST” (pr#49611, Zac Dover)
doc/start: rewrite CRUSH para (pr#46657, Zac Dover)
doc/start: rewrite hardware-recs networks section (pr#46653, Zac Dover)
doc/start: s/3/three/ in intro.rst (pr#46326, Zac Dover)
doc/start: update documenting-ceph branch names (pr#47956, Zac Dover)
doc/start: update documenting-ceph.rst (pr#49571, Zac Dover)
doc/start: update hardware recs (pr#47122, Zac Dover)
doc/various: update link to CRUSH pdf (pr#48403, Zac Dover)
doc: add disk benchmarking and cache recommendations (pr#46348, Dan van der Ster)
doc: backport pacific release notes into pacific branch (pr#46484, Zac Dover, David Galloway)
doc: Change ‘ReST’ to ‘REST’ in doc/radosgw/layout.rst (pr#48654, wangyingbin)
doc: fix a couple grammatical things (pr#49622, Brad Fitzpatrick)
doc: fix a typo (pr#49684, Brad Fitzpatrick)
doc: Install graphviz (pr#48905, David Galloway)
doc: point to main branch for release info (pr#48958, Patrick Donnelly)
doc: Update release process doc to accurately reflect current process (pr#47838, David Galloway)
docs/start: fixes typo and empty headline in hardware recommendation … (pr#48392, Sebastian Schmid)
docs: correct add system user to the master zone command (pr#48656, Salar Nosrati-Ershad)
docs: fix doc link pointing to master in dashboard.rst (pr#47791, Nizamudeen A)
Fix data corruption in bluefs truncate() (pr#45171, Adam Kupczyk)
fsmap: switch to using iterator based loop (pr#48269, Aliaksei Makarau)
Implement CIDR blocklisting (pr#46470, Jos Collin, Greg Farnum)
include/buffer: include <memory> (pr#47295, Kefu Chai, Duncan Bellamy)
include: fix IS_ERR on Windows (pr#47923, Lucian Petrut)
libcephfs: define AT_NO_ATTR_SYNC back for backward compatibility (pr#47862, Xiubo Li)
libcephsqlite: ceph-mgr crashes when compiled with gcc12 (pr#47271, Ganesh Maharaj Mahalingam)
librados/watch_notify: reconnect after socket injection (pr#46499, Nitzan Mordechai)
librados: rados_ioctx_destroy check for initialized ioctx (pr#47451, Nitzan Mordechai)
librbd/cache/pwl: fix clean vs bytes_dirty cache state inconsistency (pr#49054, Yin Congmin)
librbd/cache/pwl: fix endianness issue (pr#46815, Yin Congmin)
librbd/cache/pwl: narrow the scope of m_lock in write_image_cache_state() (pr#47939, Ilya Dryomov, Yin Congmin)
librbd: bail from schedule_request_lock() if already lock owner (pr#47161, Christopher Hoffman)
librbd: retry ENOENT in V2_REFRESH_PARENT as well (pr#47995, Ilya Dryomov)
librbd: tweak misleading “image is still primary” error message (pr#47247, Ilya Dryomov)
librbd: unlink newest mirror snapshot when at capacity, bump capacity (pr#46593, Ilya Dryomov)
librbd: update progress for non-existent objects on deep-copy (pr#46909, Ilya Dryomov)
librbd: use actual monitor addresses when creating a peer bootstrap token (pr#47911, Ilya Dryomov)
make-dist: patch boost source to support python 3.10 … (pr#47027, Tim Serong, Kefu Chai)
mds: increment directory inode’s change attr by one (pr#48521, Ramana Raja)
mds: clear MDCache::rejoin_*_q queues before recovering file inodes (pr#46682, Xiubo Li)
mds: flush mdlog if locked and still has wanted caps not satisfied (pr#46423, Xiubo Li)
mds: reset heartbeat when fetching or committing entries (pr#46180, Xiubo Li)
mds: trigger to flush the mdlog in handle_find_ino() (pr#46424, Xiubo Li)
mds/client: fail the request if the peer MDS doesn’t support getvxattr op (pr#47891, Xiubo Li, Zack Cerza)
mds/Server: Do not abort MDS on unknown messages (pr#48253, Dhairya Parmar, Dhairy Parmar)
mds: add a perf counter to record slow replies (pr#46138, haoyixing)
mds: damage table only stores one dentry per dirfrag (pr#48262, Patrick Donnelly)
mds: do not assert early on when issuing client leases (issue#54701, pr#46567, Venky Shankar)
mds: Don’t blocklist clients in any replay state (pr#47111, Kotresh HR)
mds: fix crash when exporting unlinked dir (pr#47180, 胡玮文)
mds: include encoded stray inode when sending dentry unlink message to replicas (issue#54046, pr#46183, Venky Shankar)
mds: notify the xattr_version to replica MDSes (pr#47056, Xiubo Li)
mds: skip fetching the dirfrags if not a directory (pr#47433, Xiubo Li)
mds: standby-replay daemon always removed in MDSMonitor::prepare_beacon (pr#47282, Patrick Donnelly)
mds: switch to use projected inode instead (pr#47059, Xiubo Li)
mds: wait unlink to finish to avoid conflict when creating same entries (pr#48453, Xiubo Li)
mgr, mgr/prometheus: Fix regression with prometheus metrics (pr#47693, Prashant D)
mgr, mgr/prometheus: Fix regression with prometheus metrics (pr#46429, Prashant D)
mgr, mon: Keep upto date metadata with mgr for MONs (pr#47692, Laura Flores, Prashant D)
mgr, mon: Keep upto date metadata with mgr for MONs (pr#46427, Prashant D)
mgr/ActivePyModules.cc: 修复在尝试锁定互斥锁时 GIL 被持有的案例 (pr#46302, Cory Snyder)
mgr/cephadm: Add disk rescan feature to the orchestrator (pr#47372, Adam King, Paul Cuzner)
mgr/cephadm: adding logic to close ports when removing a daemon (pr#46780, Redouane Kachach)
mgr/cephadm: Adding logic to store grafana cert/key per node (pr#48103, Redouane Kachach)
mgr/cephadm: allow setting prometheus retention time (pr#48100, Adam King)
mgr/cephadm: capture exception when not able to list upgrade tags (pr#46776, Redouane Kachach)
mgr/cephadm: check if a service exists before trying to restart it (pr#46779, Redouane Kachach)
mgr/cephadm: clear error message when resuming upgrade (pr#47375, Adam King)
mgr/cephadm: don’t redeploy osds seen in raw list if cephadm knows them (pr#46545, Adam King)
mgr/cephadm: fixing scheduler consistent hashing (pr#46975, Redouane Kachach)
mgr/cephadm: Raw OSD Support (pr#45964, Guillaume Abrioux, Adam King, Sage Weil)
mgr/cephadm: reconfig iscsi daemons if trusted_ip_list changes (pr#48096, Adam King)
mgr/cephadm: recreate osd config when redeploy/reconfiguring (pr#47663, Adam King)
mgr/cephadm: set dashboard grafana-api-password when user provides one (pr#47662, Adam King)
mgr/cephadm: staggered upgrade (pr#46359, Adam King)
mgr/cephadm: try to get FQDN for active instance (pr#46775, Tatjana Dehler)
mgr/cephadm: use host shortname for osd memory autotuning (pr#46556, Adam King)
mgr/dashboard: don’t log 3xx as errors (pr#46461, Ernesto Puerta)
mgr/dashboard: WDC multipath bug fixes (pr#46456, Nizamudeen A)
mgr/dashboard: Add details to the modal which displays the safe-to-d… (`pr#48176, Francesco Torchia)
mgr/dashboard: add option to resolve ip addr (pr#48220, Tatjana Dehler)
mgr/dashboard: add required validation for frontend and monitor port (pr#47357, Avan Thakkar)
mgr/dashboard: Add text to empty life expectancy column (pr#48276, Francesco Torchia)
mgr/dashboard: allow cross origin when the url is set (pr#49151, Nizamudeen A)
mgr/dashboard: allow Origin url for CORS if present in config (pr#49429, Avan Thakkar)
mgr/dashboard: batch rbd-mirror backports (pr#46531, Pere Diaz Bou, Pedro Gonzalez Gomez, Nizamudeen A, Melissa Li, Sarthak0702, Avan Thakkar, Aashish Sharma)
mgr/dashboard: BDD approach for the dashboard cephadm e2e (pr#46529, Nizamudeen A)
mgr/dashboard: bug fixes for rbd mirroring edit and promotion/demotion (pr#48806, Pedro Gonzalez Gomez)
mgr/dashboard: bump moment from 2.29.1 to 2.29.3 in /src/pybind/mgr/dashboard/frontend (pr#46717, dependabot[bot])
mgr/dashboard: bump up teuthology (pr#47497, Kefu Chai)
mgr/dashboard: Creating and editing Prometheus AlertManager silences is buggy (pr#46277, Volker Theile)
mgr/dashboard: customizable log-in page text/banner (pr#46343, Sarthak0702)
mgr/dashboard: dashboard help command showing wrong syntax for login-banner (pr#46810, Sarthak0702)
mgr/dashboard: display helpfull message when the iframe-embedded Grafana dashboard failed to load (pr#47008, Ngwa Sedrick Meh)
mgr/dashboard: do not recommend throughput for ssd’s only cluster (pr#47155, Nizamudeen A)
mgr/dashboard: don’t log tracebacks on 404s (pr#47093, Ernesto Puerta)
mgr/dashboard: enable addition of custom Prometheus alerts (pr#48099, Patrick Seidensal)
mgr/dashboard: ensure limit 0 returns 0 images (pr#47888, Pere Diaz Bou)
mgr/dashboard: Feature 54330 osd creation workflow (pr#46690, Pere Diaz Bou, Nizamudeen A, Sarthak0702)
mgr/dashboard: fix _rbd_image_refs caching (pr#47636, Pere Diaz Bou)
mgr/dashboard: fix Expected to find element: cd-modal .badge but never found it (`pr#48142, Nizamudeen A)
mgr/dashboard: fix nfs exports form issues with squash field (pr#47960, Nizamudeen A)
mgr/dashboard: fix openapi-check (pr#48045, Pere Diaz Bou)
mgr/dashboard: fix rgw connect when using ssl (issue#56970, pr#48189, Henry Hirsch)
mgr/dashboard: fix snapshot creation with duplicate name (pr#48048, Aashish Sharma)
mgr/dashboard: fix ssl cert validation for ingress service creation (pr#46204, Avan Thakkar)
mgr/dashboard: fix unmanaged service creation (pr#48026, Nizamudeen A)
mgr/dashboard: fix wrong pg status processing (pr#46228, Ernesto Puerta)
mgr/dashboard: form field validation icons overlap with other icons (pr#46379, Sarthak0702)
mgr/dashboard: grafana frontend e2e testing and update cypress (pr#47721, Nizamudeen A)
mgr/dashboard: handle the cephfs permission issue in nfs exports (pr#48316, Nizamudeen A)
mgr/dashboard: host list tables doesn’t show all services deployed (pr#47454, Avan Thakkar)
mgr/dashboard: ingress backend service should list all supported services (pr#47084, Avan Thakkar)
mgr/dashboard: introduce memory and cpu usage for daemons (pr#46459, Aashish Sharma, Avan Thakkar)
mgr/dashboard: iops optimized option enabled (pr#46737, Pere Diaz Bou)
mgr/dashboard: iterate through copy of items (pr#46870, Pedro Gonzalez Gomez)
mgr/dashboard: prevent alert redirect (pr#47145, Tatjana Dehler)
mgr/dashboard: Pull latest languages from Transifex (pr#46695, Volker Theile)
mgr/dashboard: rbd image pagination (pr#47105, Pere Diaz Bou, Nizamudeen A)
mgr/dashboard: rbd striping setting pre-population and pop-over (pr#47410, Vrushal Chaudhari)
mgr/dashboard: remove token logging (pr#47431, Pere Diaz Bou)
mgr/dashboard: Show error on creating service with duplicate service id (pr#47404, Aashish Sharma)
mgr/dashboard: stop polling when page is not visible (pr#46675, Sarthak0702)
mgr/dashboard: unselect rows in datatables (pr#46322, Sarthak0702)
mgr/DaemonServer.cc: 修复输出间隙 >= max_pg_num_change 时的拼写错误 (pr#47211, Kamoltat)
mgr/prometheus: 暴露池中修复的对象数 (pr#48205, Pere Diaz Bou)
mgr/prometheus: use vendored “packaging” instead (pr#49695, Matan Breizman)
mgr/rbd_support: avoid wedging the task queue if pool is removed (pr#49056, Ilya Dryomov)
mgr/snap_schedule: 为快照目录名添加时间区域后缀 (pr#45968, Milind Changire, Venky Shankar)
mgr/snap_schedule: 将所有更新持久化到 RADOS (pr#46797, Milind Changire)
mgr/snap_schedule: remove subvol interface (pr#48221, Milind Changire)
mgr/stats: be resilient to offline MDS rank-0 (pr#45293, Jos Collin)
mgr/stats: 改变 perf_stats o/p 的结构 (pr#47851, Neeraj Pratap Singh)
mgr/stats: perf stats 命令输出中缺少客户端 (pr#47866, Neeraj Pratap Singh)
mgr/telemetry: reset health warning after re-opting-in (pr#47307, Yaarit Hatuka)
mgr/volumes: 一些依赖 mgr 卷的 PRs (pr#47112, Rishabh Dave, Kotresh HR, John Mulligan, Nikhilkumar Shelke)
mgr/volumes: Add human-readable flag to volume info command (pr#48468, Neeraj Pratap Singh)
mgr/volumes: add interface to check the presence of subvolumegroups/subvolumes (pr#47460, Neeraj Pratap Singh)
mgr/volumes: Add volume info command (pr#47769, Neeraj Pratap Singh)
mgr/volumes: filter internal directories in ‘subvolumegroup ls’ command (pr#47512, Nikhilkumar Shelke)
mgr/volumes: Fix idempotent subvolume rm (pr#46139, Kotresh HR)
mgr/volumes: Fix subvolume creation in FIPS enabled system (pr#47369, Kotresh HR)
mgr/volumes: remove incorrect ‘size’ from output of ‘snapshot info’ (pr#46803, Nikhilkumar Shelke)
mgr/volumes: set, get, list and remove metadata of snapshot (pr#46515, Nikhilkumar Shelke)
mgr/volumes: set, get, list and remove metadata of subvolume (pr#45961, Nikhilkumar Shelke)
mgr/volumes: Show clone failure reason in clone status command (pr#45928, Kotresh HR)
mgr/volumes: subvolume ls command crashes if groupname as ‘_nogroup’ (pr#46806, Nikhilkumar Shelke)
mgr/volumes: subvolumegroup quotas (pr#46668, Kotresh HR)
mgr: relax “pending_service_map.epoch > service_map.epoch” assert (pr#46688, Mykola Golub)
mirror snapshot schedule and trash purge schedule fixes (pr#46778, Ilya Dryomov)
mon/ConfigMonitor: 修复使用空格的配置 get key (pr#47380, Nitzan Mordechai)
mon/Elector.cc: Compress peer >= rank_size sanity check into send_peer_ping (pr#49444, Kamoltat)
mon/Elector: Added sanity check when pinging a peer monitor (pr#48320, Kamoltat)
mon/Elector: Change how we handle removed_ranks and notify_rank_removed() (pr#49312, Kamoltat)
mon/Elector: notify_rank_removed erase rank from both live_pinging and dead_pinging sets for highest ranked MON (pr#47087, Kamoltat)
mon/MDSMonitor: fix standby-replay mds being removed from MDSMap unexpectedly (pr#48270, 胡玮文)
mon/OSDMonitor: 在 mon.go_recovery_stretch_mode() 之前添加额外检查 (pr#48803, Kamoltat)
mon/OSDMonitor: Ensure kvmon() is writeable before handling “osd new” cmd (pr#46691, Sridhar Seshasayee)
mon/OSDMonitor: properly set last_force_op_resend in stretch mode (mon: 允许在集群 mkfs 后出现 MON_DOWN 的 grace 期 (, Ilya Dryomov)
mon: allow a MON_DOWN grace period after cluster mkfs (pr#48558, Sage Weil)
monitoring/ceph-mixin: add RGW host to label info (pr#48035, Tatjana Dehler)
monitoring/ceph-mixin: OSD overview typo fix (pr#47386, Tatjana Dehler)
mount/conf: Fix IPv6 parsing (pr#46112, Matan Breizman)
msg: fix deadlock when handling existing but closed v2 connection (pr#48254, Radosław Zarzyński)
msg: Fix Windows IPv6 support (pr#47303, Lucian Petrut)
msg: Log at higher level when Throttle::get_or_fail() fails (pr#47764, Brad Hubbard)
msg: reset ProtocolV2’s frame assembler in appropriate thread (pr#48255, Radoslaw Zarzynski)
os/bluestore: 为 Allocators 的转储方法提供适当的锁定 (pr#48167, Igor Fedotov)
os/bluestore: 添加 bluefs-import 命令 (pr#47875, Adam Kupczyk, zhang daolong)
os/bluestore: 始终更新 AVL 近适配搜索中的光标位置 (pr#46642, Mark Nelson)
os/bluestore: 改善 perf 输出的可读性 (pr#47259, Adam Kupczyk)
os/bluestore: BlueFS: harmonize log read and writes modes (pr#49431, Adam Kupczyk)
os/bluestore: do not signal deleted dirty file to bluefs log (pr#48168, Igor Fedotov)
os/bluestore: fix AU accounting in bluestore_cache_other mempool (pr#47337, Igor Fedotov)
os/bluestore: Fix collision between BlueFS and BlueStore deferred writes (pr#47296, Adam Kupczyk)
os/bluestore: 修复卷选择器中 bluefs 日志大小跟踪不正确 (pr#45408, Igor Fedotov)
os/bluestore: 删除固定条目的假 onode nref 增量 (pr#47556, Igor Fedotov)
os/bluestore: bluefs 日志的增量更新模式 (pr#48915, Adam Kupczyk)
os/bluestore: 更新 perf 计数器优先级 (pr#47095, Laura Flores)
os/bluestore: use direct write in BlueStore::_write_bdev_label (pr#48278, luo rixin)
osd, mds: fix the “heap” admin cmd printing always to error stream (pr#48106, Radoslaw Zarzynski)
osd, tools, kv: non-aggressive, on-line trimming of accumulated dups (pr#47701, Radoslaw Zarzynski, Nitzan Mordechai)
osd/PGLog.cc: Trim duplicates by number of entries (pr#46252, Nitzan Mordechai)
osd/scrub: 从 scrub 初始化到 Inacti… 标记 PG 为正在 scrub (pr#46767, Ronen Friedman)
osd/scrub: Reintroduce scrub starts message (pr#48070, Prashant D)
osd/scrub: 在请求副本时使用实际的活动集 (pr#48544, Ronen Friedman)
osd/SnapMapper: fix legacy key conversion in snapmapper class (pr#47134, Manuel Lausch, Matan Breizman)
osd: add created_at meta (pr#49144, Alex Marangone)
osd: 调用 recover_object() 时修复错误输入 (pr#46120, Myoungwon Oh)
osd: 记录 PG 日志中 ‘dups’ 条目的数量 (pr#46608, Radoslaw Zarzynski)
osd: remove invalid put on message (pr#47525, Nitzan Mordechai)
osd: set per_pool_stats true when OSD has no PG (pr#48250, jindengke, lmgdlmgd)
osd/scrub: late-arriving reservation grants are not an error (pr#46873, Ronen Friedman)
osd/scrubber/pg_scrubber.cc: fix bug where scrub machine gets stuck (pr#46845, Cory Snyder)
PendingReleaseNotes: document online and offline trimming of PG Log’s… (pr#48020, Radoslaw Zarzynski)
pybind/cephfs: 修复语法 (pr#48982, Zac Dover)
pybind: 修复 cephfs.pyx 中的拼写错误 (pr#48953, Zac Dover)
pybind/mgr/cephadm/serve: don’t remove ceph.conf which leads to qa failure (pybind: 将 pytest 移动到 requirements.txt (, Dhairya Parmar)
pybind/mgr/dashboard: move pytest into requirements.txt (pr#48081, Kefu Chai)
pybind/mgr/pg_autoscaler: change overlapping roots to warning (pr#47522, Kamoltat)
pybind/mgr: fix flake8 (pr#47393, Avan Thakkar)
pybind/mgr: fixup after upgrading tox versions (pr#49363, Adam King, Kefu Chai)
pybind/mgr: tox and test fixes (pr#49542, Kefu Chai)
pybind/rados: notify callback reconnect (pr#48112, Nitzan Mordechai)
pybind: 为 rados_write_op_omap_cmp 添加包装器 (pr#48376, Sandy Kaur)
python-common: Add ‘KB’ to supported suffixes in SizeMatcher (pr#48243, Tim Serong)
python-common: allow crush device class to be set from osd service spec (pr#46555, Cory Snyder)
qa/cephadm: remove fsid dir before bootstrap in test_cephadm.sh (pr#48101, Adam King)
qa/cephfs: fallback to older way of get_op_read_count (pr#46901, Dhairya Parmar)
qa/import-legacy: 为 nautilus ceph 安装 python3 包 (pr#47528, Xiubo Li)
qa/suites/rados/thrash-erasure-code-big/thrashers: addosd max backfillssetting to mapgap and pggrow (pr#46391, Laura Flores)
qa/suites/rbd/pwl-cache: ensure recovery is actually tested (pr#47128, Ilya Dryomov, Yin Congmin)
qa/suites/rbd: disable workunit timeout for dynamic_features_no_cache (pr#47158, Ilya Dryomov)
qa/suites/rbd: place cache file on tmpfs for xfstests (pr#46597, Ilya Dryomov)
qa/tasks/ceph_manager.py: increase test_pool_min_size timeout (pr#47446, Kamoltat)
qa/tasks/kubeadm: set up tigera resources via kubectl create (pr#48097, John Mulligan)
qa/tasks/rbd_fio: bump default to fio 3.32 (pr#48385, Ilya Dryomov)
qa/workunits/cephadm: update test_repos master -> main (pr#47320, Adam King)
qa/workunits/rados: specify redirect in curl command (pr#49139, Laura Flores)
qa: Fix test_subvolume_group_ls_filter_internal_directories (pr#48328, Kotresh HR)
qa: Fix test_subvolume_snapshot_info_if_orphan_clone (pr#48647, Kotresh HR)
qa: Fix test_subvolume_snapshot_info_if_orphan_clone (pr#48417, Kotresh HR)
qa: fix teuthology master branch ref (pr#46504, Ernesto Puerta)
qa: ignore disk quota exceeded failure in test (pr#48165, Nikhilkumar Shelke)
qa: remove .teuthology_branch file (pr#46490, Jeff Layton)
qa: 仅在 centos 上运行 e2e 测试 (pr#49337, Kefu Chai)
qa: switch back to git protocol for qemu-xfstests (pr#49543, Ilya Dryomov)
qa: switch to https protocol for repos’ server (pr#49470, Xiubo Li)
qa: wait rank 0 to become up:active state before mounting fuse client (pr#46802, Xiubo Li)
qa: add filesystem/file sync stuck test support (pr#46425, Xiubo Li)
radosgw-admin: ‘reshard 列表’ 不记录 ENOENT 错误 (pr#45451, Casey Bodley)
rbd-fuse: librados will filter out -r option from command-line (pr#46953, wanwencong)
rbd-mirror: don’t prune non-primary snapshot when restarting delta sync (pr#46590, Ilya Dryomov)
rbd-mirror: generally skip replay/resync if remote image is not primary (pr#46813, Ilya Dryomov)
rbd-mirror: remove bogus completed_non_primary_snapshots_exist check (pr#47118, Ilya Dryomov)
rbd-mirror: resume pending shutdown on error in snapshot replayer (pr#47913, Ilya Dryomov)
rbd: device map/unmap --namespace handling fixes (pr#48459, Ilya Dryomov, Stefan Chivu)
rbd: don’t default empty pool name unless namespace is specified (pr#47143, Ilya Dryomov)
rbd: find_action() should sort actions first (pr#47583, Ilya Dryomov)
rgw: Swift retarget 需要在对象上设置存储桶 (pr#47230, Daniel Gryniewicz)
rgw/backport/pacific: 修复与 Sync 策略 API 相关的崩溃 (pr#47994, Soumya Koduri)
rgw/notifications: 多媒体上传通知行为发生变化 (pr#47175, Kalpesh Pandya)
rgw/rgw_string.h: 为 alpine 和 boost 1.75 添加缺失的包含 (pr#47304, Duncan Bellamy)
rgw/sts: 添加代码以处理 aws:RequestTags 作为 RGWDeleteBucketPolicy 和 RGWDeleteBucketPublicAccessBlock 的一部分 (pr#47746, Kalpesh Pandya, Pritha Srivastava)
rgw: address bug where object puts could write to decommissioned shard (pr#48663, J. Eric Ivancich)
rgw: better tenant id from the uri on anonymous access (pr#47341, Rafał Wądołowski, Marcus Watts)
rgw: 检查桶碎片初始化状态在 RGWRadosBILogTrimCR (pr#44907, Mykola Golub)
rgw: check object storage_class when check_disk_state (pr#44907, Huber-ming)
rgw: data sync uses yield_spawn_window() (pr#45713, Casey Bodley)
rgw: 不要允许锁定对象版本删除 (pr#47041, Igor Fedotov)
rgw: fix bool/int logic error when calling get_obj_head_ioctx (pr#48230, J. Eric Ivancich)
rgw: fix bug where variable referenced after data moved out (pr#48229, J. Eric Ivancich)
rgw: fix data corruption due to network jitter (pr#48274, Shasha Lu)
rgw: Fix data race in ChangeStatus (pr#47196, Adam C. Emerson)
rgw: 修复 ListBucketMultiparts 响应具有公共前缀 (pr#44558, Casey Bodley)
rgw: 在 realm 重新加载时修复 OpsLogRados::log 中的段错误 (pr#45410, Cory Snyder)
rgw: 修复 RGWCopyObj 优化的自我比较 (pr#43802, Casey Bodley)
rgw: Guard against malformed bucket URLs (pr#47194, Adam C. Emerson)
rgw: 初始化 rgw_log_entry::identity_type (pr#49142, Casey Bodley)
rgw: log access key id in ops logs (pr#46622, Cory Snyder)
rgw: log deletion status of individual objects in multi object delete request (pr#48348, Cory Snyder)
rgw: 在 RGWRadosObject::get_obj_state 方法中维护对象实例 (pr#47266, Casey Bodley, Cory Snyder)
rgw: OpsLogFile::stop() signals under mutex (pr#46039, Casey Bodley)
rgw: remove rgw_rados_pool_pg_num_min and its use on pool creation use the cluster defaults for pg_num_min (pr#46235, Casey Bodley)
rgw: reopen ops log file on sighup (pr#46619, Cory Snyder)
rgw: 在连续的 complete-multipart reqs 上返回 OK (pr#45486, Mark Kogan)
rgw: RGWCoroutine::set_sleeping() checks for null stack (pr#46040, Or Friedmann, Casey Bodley)
rgw: splitting gc chains into smaller parts to prevent (pr#48240, Pritha Srivastava)
rgw: x-amz-date change breaks certain cases of aws sig v4 (pr#48313, Marcus Watts)
rgw: 在 FIPS 启用时,修复执行 s3 multipart PUT 时的段错误 (pr#46715, Mark Kogan)
rgw_reshard: drop olh entries with empty name (pr#45847, Dan van der Ster, Casey Bodley)
rgw_rest_user_policy: Fix GetUserPolicy & ListUserPolicies responses (pr#47234, Sumedh A. Kulkarni)
rgwlc: 不会在 !next_key_name 时错误地过期删除标记 (pr#47231, Matt Benjamin)
rgwlc: fix segfault resharding during lc (pr#46744, Mark Kogan)
rpm: use system libpmem on Centos 9 Stream (pr#46211, Ilya Dryomov)
run-make-check.sh: enable RBD persistent caches (pr#45991, Ilya Dryomov)
SimpleRADOSStriper: Avoid moving bufferlists by using deque in read() (pr#48187, Matan Breizman)
test/bufferlist: 确保重建 aligned_size_and_memory() 总是重建 (pr#46215, Radoslaw Zarzynski)
test/cli-integration/rbd: iSCSI REST API responses aren’t pretty-printed anymore (pr#47920, Ilya Dryomov)
test/{librbd, rgw}: increase delay between and number of bind attempts (pr#48024, Ilya Dryomov, Kefu Chai)
test: 提高 DecayCounter.steady 可接受的错误 (pr#48031, Patrick Donnelly)
test: 修复 TierFlushDuringFlush 在 bas… 上设置 dedup_tier 时等待 (issue#53855, pr#46748, Myoungwon Oh, Sungmin Lee)
test: No direct use of nose (pr#46255, Steve Kowalik, Kefu Chai)
tooling: Change mrun to use bash (pr#46077, Adam C. Emerson)
工具:ceph-objectstore-tool 能够仅修剪 pg log dups 的条目 (pr#46631, Radosław Zarzyński, Radoslaw Zarzynski)
修复 make check 失败 (make check failures (pr#47803, Tim Serong, Kefu Chai, Willem Jan Withagen, Nathan Cutler, Boris Ranto, Laura Flores, Pete Zaitcev)
v16.2.10 (pr#47220, Kotresh HR, Seena Fallah)
v16.2.9 (pr#46336, Cory Snyder)
win32_deps_build.sh: master -> main for wnbd (pr#46762, Ilya Dryomov)
v16.2.10 太平洋
This is a hotfix release that resolves two security flaws.
值得注意的变化
用户在运行 OpenStack Manila 以导出原生 CephFS 并将其 Ceph 集群从 Nautilus(或更早版本)升级到较新的主要版本时容易受到恶意用户攻击。该漏洞允许用户访问 CephFS 文件系统层次结构的任意部分,而不是被适当限制在自己的子卷中。该漏洞是由于 Ceph 管理器中“卷”插件中的错误造成的。该插件负责管理 Ceph 文件系统子卷,OpenStack Manila 服务将其用作向 Manila 用户提供共享的方式。
With this hotfix, the vulnerability is fixed. Administrators who are concerned they may have been impacted should audit the CephX keys in their cluster for proper path restrictions.
同样,此漏洞仅影响提供原生 CephFS 访问给其用户的 OpenStack Manila 集群。
一个回归导致对于不引用存储桶的 s3website 请求,可能会出现 s3website 请求无法引用桶,从而导致 RGW 段错误。
更改日志
mgr/volumes: Fix subvolume discover during upgrade (CVE-2022-0670: Native-CephFS Manila Path-restriction bypass, Kotresh HR)
mgr/volumes: V2 Fix for test_subvolume_retain_snapshot_invalid_recreate (CVE-2022-0670: Native-CephFS Manila Path-restriction bypass, Kotresh HR)
qa: validate subvolume discover on upgrade (Kotresh HR)
rgw: s3website check for bucket before retargeting (Seena Fallah)
v16.2.9 太平洋
这是太平洋系列的快速修复发布,以解决 16.2.8 中可能导致 MGR 死锁的 bug。请参阅https://tracker.ceph.com/issues/55687.
更改日志
mgr/ActivePyModules.cc: 修复在尝试锁定互斥锁时 GIL 被持有的案例 (pr#46302, Cory Snyder)
v16.2.8 太平洋
这是太平洋系列的第八个回滚发布。
值得注意的变化
MON/MGR: 现在可以使用标志创建池。使用--bulk标志创建的批量将使用pg_autoscaler的配置文件,从开始就提供更好的性能。--bulk标志创建的池将保持其旧行为,默认情况下使用。有关更多详细信息,请参阅:
https://docs.ceph.com/en/latest/rados/operations/placement-groups/
MGR: The pg_autoscaler can now be turnedon和offgloballynoautoscale标志。默认情况下此标志未设置,默认的 pg_autoscale 模式保持不变。
https://docs.ceph.com/en/latest/rados/operations/placement-groups/
如果在集群升级后
require-osd-release
标志未设置为适当版本,则现在将报告健康警告。CephFS:在使用多个活动 MDS 时,升级 Ceph 元数据服务器需要确保除了 rank 0 之外,活动 rank 中没有挂起的 stray 条目。请参阅从 Octopus 或 Nautilus 升级.
更改日志
[回滚] bluestore: 在升级到每个桶时设置 rocksdb omap 迭代器的上下限 (pr#46092, Neha Ojha)
admin/doc-requirements: 将 Sphinx 升级到 4.4.0 (pr#45876, Kefu Chai)
auth,mon: 当给定密钥时,不要记录“找不到密钥环”错误 (pr#43313, Ilya Dryomov)
回滚 nbd 令牌支持 (pr#45582, Prasanna Kumar Kalever)
回滚与监控相关的 PRs (pr#45980, Pere Diaz Bou, Travis Nielsen, Aashish Sharma, Nizamudeen A, Arthur Outhenin-Chalandre)
bluestore: 设置 rocksdb omap 迭代器的上下限 (pr#45963, Cory Snyder)
构建:添加一些调试消息 (pr#45753, David Galloway)
构建:在 docker 构建中 failing in install-deps (pr#45849, Nizamudeen A, Ernesto Puerta)
ceph-fuse: 如果 test_dentry_handling 失败,则执行清理 (pr#45351, Nikhilkumar Shelke)
ceph-volume: 如果传递的设备有分区,则中止 (pr#45146, Guillaume Abrioux)
ceph-volume: 不要在 find_executable_on_host() 中使用 MultiLogger (pr#44701, Guillaume Abrioux)
ceph-volume: 修复错误 ‘KeyError’ 与清单 (pr#44884, Guillaume Abrioux)
ceph-volume: 修复通过 #43536 引入的回归 (pr#44644, Guillaume Abrioux)
ceph-volume: 修复 e8384d pr#44767lvm list (pr#44767, Guillaume Abrioux)
ceph-volume: 尊重 osd_dmcrypt_key_size 选项 (pr#44973, Guillaume Abrioux)
ceph-volume: human_readable_size() 重构 (pr#44209, Guillaume Abrioux)
ceph-volume: 改进 mpath 设备支持 (pr#44789, Guillaume Abrioux)
ceph-volume: 使它有可能跳过 needs_root() (pr#44319, Guillaume Abrioux)
ceph-volume: 将 RBD 设备显示为不可用 (pr#44708, Michael Fritch)
ceph/admin: s/master/main (pr#45596, Zac Dover)
Cephadm Pacific 批量回滚四月 (pr#45919, Adam King, Teoman ONAY, Redouane Kachach, Lukas Mayer, Melissa Li)
Cephadm Pacific 批量回滚三月 (pr#45716, Adam King, Redouane Kachach, Matan Breizman, wangyunqing)
cephadm/ceph-volume: 在容器中不要使用 lvm 二进制文件 (pr#43954, Guillaume Abrioux, Sage Weil)
cephadm: _parse_ipv6_route: 修复没有路由的ifs 解析 (pr#44877, Sebastian Wagner)
cephadm: 向 ceph-volume 子命令添加 shared_ceph_folder 选项 (pr#44880, Guillaume Abrioux)
cephadm: 解析 CLI 后检查 cephadm 是否为 root (pr#44634, John Mulligan)
cephadm: 在重新部署期间更改 prometheus 数据目录的所有权 (pr#45046, Michael Fritch)
cephadm: 处理 normalize_image_digest 中的歧义 (pr#44632, Sebastian Wagner)
cephadm: 修复损坏的遥测文档链接 (pr#45803, Laura Flores)
cephadm: infer the default container image during pull (pr#45569, Michael Fritch)
cephadm: 将 extract_uid_gid 错误更易于阅读 (pr#44528, Sebastian Wagner)
cephadm: 十一月批次 2 (pr#44446, Sage Weil, Adam King, Sebastian Wagner, Melissa Li, Michael Fritch, Guillaume Abrioux)
cephadm: 通过 quay 而不是 docker (CEPH_VOLUME_SKIP_RESTORECON=yes (backport) (pr#44248, Guillaume Abrioux)
cephadm: preserve authorized_keys file during upgrade (pr#45355, Michael Fritch)
cephadm: Remove containers pids-limit (pr#45580, Ilya Dryomov, Teoman ONAY)
cephadm: revert pids limit (pr#45936, Adam King)
cephadm: validate that the constructed YumDnf baseurl is usable (pr#44882, John Mulligan)
cls/journal: skip disconnected clients when calculating min_commit_position (pr#44690, Mykola Golub)
cls/rbd: GroupSnapshotNamespace comparator violates ordering rules (pr#45075, Ilya Dryomov)
cmake/modules: always use the python3 specified in command line (pr#45967, Kefu Chai)
cmake: pass RTE_DEVEL_BUILD=n when building dpdk (pr#45262, Kefu Chai)
common/PriorityCache: low perf counters priorities for submodules (pr#44175, Igor Fedotov)
common: avoid pthread_mutex_unlock twice (pr#45464, Dai Zhiwei)
common: fix FTBFS due to dout & need_dynamic on GCC-12 (pr#45373, Radoslaw Zarzynski)
common: fix missing name in PriorityCache perf counters (pr#45588, Laura Flores)
common: replace BitVector::NoInitAllocator with wrapper struct (pr#45179, Casey Bodley)
crush: Fix segfault in update_from_hook (pr#44897, Adam Kupczyk)
doc/cephadm: Add CentOS Stream install instructions (pr#44996, Patrick C. F. Ernzer)
doc/cephadm: Co-location of daemons (pr#44879, Sebastian Wagner)
doc/cephadm: Doc backport (pr#44525, Foad Lind, Sebastian Wagner)
doc/cephadm: improve the development doc a bit (pr#44636, Radoslaw Zarzynski)
doc/cephadm: remove duplicate deployment scenario section (pr#44660, Melissa Li)
doc/dev: s/repostory/repository/ (really) (pr#45789, Zac Dover)
doc/start: add testing support information (pr#45989, Zac Dover)
doc/start: include A. D’Atri’s hardware-recs recs (pr#45298, Zac Dover)
doc/start: remove journal info from hardware recs (pr#45123, Zac Dover)
doc/start: remove osd stub from hardware recs (pr#45316, Zac Dover)
doc: prerequisites fix for cephFS mount (pr#44272, Nikhilkumar Shelke)
doc: Use older mistune (pr#44226, David Galloway)
Enable autotune for osd_memory_target on bootstrap (pr#44633, Melissa Li)
krbd: return error when no initial monitor address found (pr#45003, Burt Holzman)
librados: check latest osdmap on ENOENT in pool_reverse_lookup() (pr#45586, Ilya Dryomov)
librbd/cache/pwl: misc backports (pr#44199, Jianpeng Ma, Jason Dillaman)
librbd: diff-iterate reports incorrect offsets in fast-diff mode (pr#44547, Ilya Dryomov)
librbd: fix use-after-free on ictx in list_descendants() (pr#44999, Ilya Dryomov, Wang ShuaiChao)
librbd: fix various memory leaks (pr#44998, Or Ozeri)
librbd: make diff-iterate in fast-diff mode sort and merge reported extents (pr#45638, Ilya Dryomov)
librbd: readv/writev fix iovecs length computation overflow (pr#45561, Jonas Pfefferle)
librbd: restore diff-iterate include_parent functionality in fast-diff mode (pr#44594, Ilya Dryomov)
librgw: make rgw file handle versioned (pr#45495, Xuehan Xu)
librgw: treat empty root path as “/” on mount (pr#43968, Matt Benjamin)
mds,client: add new getvxattr op (pr#45487, Milind Changire)
mds: add mds_dir_max_entries config option (pr#44512, Yongseok Oh)
mds: directly return just after responding the link request (pr#44620, Xiubo Li)
mds: dump tree ‘/’ when the path is empty (pr#44622, Xiubo Li)
mds: ensure that we send the btime in cap messages (pr#45163, Jeff Layton)
mds: fails to reintegrate strays if destdn’s directory is full (ENOSPC) (pr#44513, Patrick Donnelly)
mds: fix seg fault in expire_recursive (pr#45099, 胡玮文)
mds: ignore unknown client op when tracking op latency (pr#44975, Venky Shankar)
mds: kill session when mds do ms_handle_remote_reset (issue#53911, pr#45100, YunfeiGuan)
mds: mds_oft_prefetch_dirfrags default to false (pr#45016, Dan van der Ster)
mds: opening connection to up:replay/up:creating daemon causes message drop (pr#44296, Patrick Donnelly)
mds: PurgeQueue.cc fix for 32bit compilation (pr#44168, Duncan Bellamy)
mds: recursive scrub does not trigger stray reintegration (pr#44514, Patrick Donnelly)
mds: remove the duplicated or incorrect respond (pr#44623, Xiubo Li)
mds: reset heartbeat in each MDSContext complete() (pr#44551, Xiubo Li)
mgr/autoscaler: Introduce noautoscale flag (pr#44540, Kamoltat)
mgr/cephadm/iscsi: use mon_command in post_remove instead of check_mon_command (pr#44830, Melissa Li)
mgr/cephadm: Add client.admin keyring when upgrading from older version (pr#44625, Sebastian Wagner)
mgr/cephadm: add keep-alive requests to ssh connections (pr#45632, Adam King)
mgr/cephadm: Add snmp-gateway service support (pr#44529, Sebastian Wagner, Paul Cuzner)
mgr/cephadm: allow miscellaneous container args at service level (pr#44829, Adam King)
mgr/cephadm: auto-enable mirroring module when deploying service (pr#44661, John Mulligan)
mgr/cephadm: avoid repeated calls to get_module_option (pr#44535, Sage Weil)
mgr/cephadm: block draining last _admin host (pr#45229, Adam King)
mgr/cephadm: block removing last instance of _admin label (pr#45231, Adam King)
mgr/cephadm: Delete ceph.target if last cluster (pr#45228, Redouane Kachach)
mgr/cephadm: extend extra_container_args to other service types (pr#45234, Adam King)
mgr/cephadm: fix ‘cephadm osd activate’ on existing osd devices (pr#44627, Sage Weil)
mgr/cephadm: fix ‘mgr/cephadm: spec.virtual_ip param should be used by the ingress daemon (pr#44628, Guillaume Abrioux, Francesco Pantano, Sebastian Wagner)
mgr/cephadm: Fix count for OSDs with OSD specs (pr#44629, Sebastian Wagner)
mgr/cephadm: fix minor grammar nit in Dry-Runs message (pr#44637, James McClune)
mgr/cephadm: fix tcmu-runner cephadm_stray_daemon (pr#44630, Melissa Li)
mgr/cephadm: Fix test_facts (pr#44530, Sebastian Wagner)
mgr/cephadm: less log noise when config checks fail (pr#44526, Sage Weil)
mgr/cephadm: nfs migration: avoid port conflicts (pr#44631, Sebastian Wagner)
mgr/cephadm: Show an error when invalid format (pr#45226, Redouane Kachach)
mgr/cephadm: store contianer registry credentials in config-key (pr#44658, Daniel Pivonka)
mgr/cephadm: try to get FQDN for configuration files (pr#45620, Tatjana Dehler)
mgr/cephadm: update monitoring stack versions (pr#45940, Aashish Sharma, Ernesto Puerta)
mgr/cephadm: validating service_id for MDS (pr#45227, Redouane Kachach)
mgr/dashboard: “Please expand your cluster first” shouldn’t be shown if cluster is already meaningfully running (pr#45044, Volker Theile)
mgr/dashboard: add test coverage for API docs (SwaggerUI) (pr#44533, Alfonso Martínez)
mgr/dashboard: avoid tooltip if disk_usage=null and fast-diff enabled (pr#44149, Avan Thakkar)
mgr/dashboard: cephadm e2e job improvements (pr#44938, Nizamudeen A, Alfonso Martínez)
mgr/dashboard: cephadm e2e job: improvements (pr#44382, Alfonso Martínez)
mgr/dashboard: change privacy protocol field from required to optional (pr#45052, Avan Thakkar)
mgr/dashboard: Cluster Expansion - Review Section: fixes and improvements (pr#44389, Aashish Sharma)
mgr/dashboard: Compare values of MTU alert by device (pr#45813, Aashish Sharma, Patrick Seidensal)
mgr/dashboard: dashboard does not show degraded objects if they are less than 0.5% under “Dashboard->Capacity->Objects block (pr#44091, Aashish Sharma)
mgr/dashboard: dashboard turns telemetry off when configuring report (pr#45111, Sarthak0702, Aaryan Porwal)
mgr/dashboard: datatable in Cluster Host page hides wrong column on selection (pr#45861, Sarthak0702)
mgr/dashboard: Directories Menu Can’t Use on Ceph File System Dashboard (pr#45028, Sarthak0702)
mgr/dashboard: extend daemon actions to host details (pr#45721, Nizamudeen A)
mgr/dashboard: fix api test issue with pip (pr#45880, Ernesto Puerta)
mgr/dashboard: fix frontend deps’ vulnerabilities (pr#44297, Alfonso Martínez)
mgr/dashboard: fix Grafana OSD/host panels (pr#44775, Patrick Seidensal)
mgr/dashboard: fix orchestrator/02-hosts-inventory.e2e failure (pr#44467, Nizamudeen A)
mgr/dashboard: fix timeout error in dashboard cephadm e2e job (pr#44468, Nizamudeen A)
mgr/dashboard: fix white screen on Safari (pr#45301, 胡玮文)
mgr/dashboard: fix: get SMART data from single-daemon device (pr#44597, Alfonso Martínez)
mgr/dashboard: highlight the search text in cluster logs (pr#45678, Sarthak0702)
mgr/dashboard: Implement drain host functionality in dashboard (pr#44376, Nizamudeen A)
mgr/dashboard: Improve notifications for osd nearfull, full (pr#44876, Aashish Sharma)
mgr/dashboard: Imrove error message of ‘/api/grafana/validation’ API endpoint (pr#45956, Volker Theile)
mgr/dashboard: introduce HAProxy metrics for RGW (pr#44273, Avan Thakkar)
mgr/dashboard: introduce separate front-end component for API docs (pr#44400, Aashish Sharma)
mgr/dashboard: Language dropdown box is partly hidden on login page (pr#45618, Volker Theile)
mgr/dashboard: monitoring:Implement BlueStore onode hit/miss counters into the dashboard (pr#44650, Aashish Sharma)
mgr/dashboard: NFS non-existent files cleanup (pr#44046, Alfonso Martínez)
mgr/dashboard: NFS pages shows ‘Page not found’ (pr#45723, Volker Theile)
mgr/dashboard: Notification banners at the top of the UI have fixed height (pr#44756, Nizamudeen A, Waad AlKhoury)
mgr/dashboard: perform daemon actions (pr#45203, Pere Diaz Bou)
mgr/dashboard: Pull latest translations from Transifex (pr#45418, Volker Theile)
mgr/dashboard: Refactoring dashboard cephadm checks (pr#44652, Nizamudeen A)
mgr/dashboard: RGW users and buckets tables are empty if the selected gateway is down (pr#45868, Volker Theile)
mgr/dashboard: run-backend-api-tests.sh: Older setuptools (pr#44377, David Galloway)
mgr/dashboard: set appropriate baseline branch for applitools (pr#44935, Nizamudeen A)
mgr/dashboard: support snmp-gateway service creation from UI (pr#44977, Avan Thakkar)
mgr/dashboard: Table columns hiding fix (issue#51119, pr#45725, Daniel Persson)
mgr/dashboard: Update Angular version to 12 (pr#44534, Ernesto Puerta, Nizamudeen A)
mgr/dashboard: upgrade Cypress to the latest stable version (pr#44086, Sage Weil, Alfonso Martínez)
mgr/dashboard: use -f for npm ci to skip fsevents error (pr#44105, Duncan Bellamy)
mgr/devicehealth: fix missing timezone from time delta calculation (pr#44325, Yaarit Hatuka)
mgr/devicehealth: skip null pages when extracting wear level (pr#45151, Yaarit Hatuka)
mgr/nfs: allow dynamic update of cephfs nfs export (pr#45543, Ramana Raja)
mgr/nfs: support managing exports without orchestration enabled (pr#45508, John Mulligan)
mgr/orchestrator: add filtering and count option for orch host ls (pr#44531, Adam King)
mgr/prometheus: Added avail_raw field for Pools DF Prometheus mgr module (pr#45236, Konstantin Shalygin)
mgr/prometheus: define module options for standby (pr#44205, Sage Weil)
mgr/prometheus: expose ceph healthchecks as metrics (pr#44480, Paul Cuzner, Sebastian Wagner)
mgr/prometheus: Fix metric types from gauge to counter (pr#43187, Patrick Seidensal)
mgr/prometheus: Fix the per method stats exported (pr#44146, Paul Cuzner)
mgr/prometheus: Make prometheus standby behaviour configurable (pr#43897, Roland Sommer)
mgr/rbd_support: cast pool_id from int to str when collecting LevelSpec (pr#45532, Ilya Dryomov)
mgr/rbd_support: fix schedule remove (pr#45005, Sunny Kumar)
mgr/snap_schedule: backports (pr#45906, Venky Shankar, Milind Changire)
mgr/stats: exception handling for ceph fs perf stats command (pr#44516, Nikhilkumar Shelke)
mgr/telemetry: fix waiting for mgr to warm up (pr#45773, Yaarit Hatuka)
mgr/volumes: A few mgr volumes pacific backports (pr#45205, Kotresh HR)
mgr/volumes: Subvolume removal and clone failure fixes (pr#42932, Kotresh HR)
mgr/volumes: the ‘mode’ should honor idempotent subvolume creation (pr#45474, Nikhilkumar Shelke)
mgr: Fix ceph_daemon label in ceph_rgw_* metrics (pr#44885, Benoît Knecht)
mgr: fix locking for MetadataUpdate::finish (pr#44212, Sage Weil)
mgr: TTL Cache in mgr module (pr#44750, Waad AlKhoury, Pere Diaz Bou)
mgr: various fixes for mgr scalability (pr#44869, Neha Ojha, Sage Weil)
mon/MDSMonitor: sanity assert when inline data turned on in MDSMap from v16.2.4 -> v16.2.[567] (pr#44910, Patrick Donnelly)
mon/MgrStatMonitor: do not spam subscribers (mgr) with service_map (pr#44721, Sage Weil)
mon/MonCommands.h: fix target_size_ratio range (pr#45397, Kamoltat)
mon/OSDMonitor: avoid null dereference if stats are not available (pr#44698, Josh Durgin)
mon: Abort device health when device not found (pr#44959, Benoît Knecht)
mon: do not quickly mark mds laggy when MON_DOWN (pr#43698, Sage Weil, Patrick Donnelly)
mon: Omit MANY_OBJECTS_PER_PG warning when autoscaler is on (pr#45152, Christopher Hoffman)
mon: osd pool create <pool-name> with --bulk flag (pr#44847, Kamoltat)
mon: prevent new sessions during shutdown (pr#44543, Sage Weil)
monitoring/grafana: Grafana query tester (pr#44316, Ernesto Puerta, Pere Diaz Bou)
monitoring: mention PyYAML only once in requirements (pr#44944, Rishabh Dave)
os/bluestore/AvlAllocator: introduce bluestore_avl_alloc_ff_max_* options (pr#43745, Kefu Chai, Mauricio Faria de Oliveira, Adam Kupczyk)
os/bluestore: avoid premature onode release (pr#44723, Igor Fedotov)
os/bluestore: make shared blob fsck much less RAM-greedy (pr#44613, Igor Fedotov)
os/bluestore: use proper prefix when removing undecodable Share Blob (pr#43882, Igor Fedotov)
osd/OSD: Log aggregated slow ops detail to cluster logs (pr#44771, Prashant D)
osd/OSDMap.cc: clean up pg_temp for nonexistent pgs (pr#44096, Cory Snyder)
osd/OSDMap: Add health warning if ‘require-osd-release’ != current release (pr#44259, Sridhar Seshasayee, Patrick Donnelly, Neha Ojha)
osd/OSDMapMapping: fix spurious threadpool timeout errors (pr#44545, Sage Weil)
osd/PeeringState: separate history’s pruub from pg’s (pr#44584, Sage Weil)
osd/PrimaryLogPG.cc: CEPH_OSD_OP_OMAPRMKEYRANGE should mark omap dirty (pr#45591, Neha Ojha)
osd/scrub: destruct the scrubber shortly before the PG is destructed (pr#45731, Ronen Friedman)
osd/scrub: only telling the scrubber of awaited-for ‘updates’ events (pr#45365, Ronen Friedman)
osd/scrub: remove reliance of Scrubber objects’ logging on the PG (pr#45729, Ronen Friedman)
osd/scrub: restart snap trimming only after scrubbing is done (pr#45785, Ronen Friedman)
osd/scrub: stop sending bogus digest-update events (issue#54423, pr#45194, Ronen Friedman)
osd/scrub: tag replica scrub messages to identify stale events (pr#45374, Ronen Friedman)
osd: add pg_num_max value & pg_num_max reordering (pr#45173, Kamoltat, Sage Weil)
osd: fix ‘ceph osd stop <osd.nnn>’ doesn’t take effect (pr#43955, tan changzhi)
osd: fix the truncation of an int by int division (pr#45376, Ronen Friedman)
osd: PeeringState: fix selection order in calc_replicated_acting_stretch (pr#44664, Greg Farnum)
osd: recover unreadable snapshot before reading ref. count info (pr#44181, Myoungwon Oh)
osd: require osd_pg_max_concurrent_snap_trims > 0 (pr#45323, Dan van der Ster)
osd: set r only if succeed in FillInVerifyExtent (pr#44173, yanqiang-ux)
osdc: add set_error in BufferHead, when split set_error to right (pr#44725, jiawd)
pacfic: doc/rados/operations/placement-groups: fix --bulk docs (pr#45328, Kamoltat)
Pacific fast shutdown backports (pr#45654, Sridhar Seshasayee, Nitzan Mordechai, Satoru Takeuchi)
pybind/mgr/balancer: 定义 Plan.{dump,show} (pr#43964, Kefu Chai)
pybind/mgr/progress: 对访问事件字典时强制 try 和 except (pr#44672, Kamoltat)
python-common: 为 count 和 count_per_host 添加 int 值验证 (pr#44527, John Mulligan)
python-common: 改进 OSD 规范错误消息 (pr#44626, Sebastian Wagner)
qa/distros/podman: 删除 centos_8.2 和 centos_8.3 (pr#44903, Neha Ojha)
qa/rgw: 添加失败的 tempest 测试到 blocklist (pr#45436, Casey Bodley)
qa/rgw: barbican 和 pykmip 任务在安装 pytz 之前升级 pip (pr#45444, Casey Bodley)
qa/rgw: 升级 tempest 版本以解决依赖问题 (pr#43966, Casey Bodley)
qa/rgw: 修复 vault 令牌文件访问 (issue#51539, pr#43951, Marcus Watts)
qa/rgw: 更新 apache-maven 镜像用于 rgw/hadoop-s3a (pr#45445, Casey Bodley)
qa/rgw: 使用符号链接指定 distro (pr#45245, Casey Bodley)
qa/run-tox-mgr-dashboard: 不要写入 /tmp/test_sanitize_password… (pr#44727, Kevin Zhao)
qa/run_xfstests_qemu.sh: 在实际运行任何测试之前停止报告成功 (pr#44596, Ilya Dryomov)
qa/suites/fs: 在 thrasher 套件中添加 prefetch_dirfrags false (pr#44504, Arthur Outhenin-Chalandre)
qa/suites/orch/cephadm: 也运行 rbd/iscsi 套件 (pr#44635, Sebastian Wagner)
qa/tasks/qemu: 确保安装了 block-rbd.so (pr#45072, Ilya Dryomov)
qa/tasks: 改进 backfill_toofull 测试 (pr#44387, Mykola Golub)
qa/tests: 添加 pacific 客户端升级 => reef 测试 (pr#45326, Yuri Weinstein)
qa/tests: 用 16.2.6 替换 16.2.7 版本 (pr#44369, Yuri Weinstein)
qa: 调整以在验证其可用性之前部署 MDSs (issue#53857, pr#44639, Venky Shankar)
qa: 默认设置为 CentOS 8 Stream (pr#44889, David Galloway)
qa: 不要使用任何与时间相关的后缀 for *_op_timeouts (pr#44621, Xiubo Li)
qa: 异步创建 on stray 测试的 fs sync 目录 (pr#45565, Patrick Donnelly, Ramana Raja)
qa: 忽略预期的元数据集群日志错误 (pr#45564, Patrick Donnelly)
qa: 增加等待时间以等待清理队列操作完成 (pr#43979, Xiubo Li)
qa: 移除 kmip 任务证书到 /etc/ceph (pr#45413, Ali Maredia)
pr#41170pr#44865, Casey Bodley, Sage Weil)
qa: skip sanity check during upgrade (pr#44840, Milind Changire)
qa: split distro for rados/cephadm/smoke tests (pr#44681, Guillaume Abrioux)
qa: wait for purge queue operations to finish (issue#52487, pr#44642, Venky Shankar)
radosgw-admin: ‘sync status’ is not behind if there are no mdlog entries (pr#45442, Casey Bodley)
rbd persistent cache UX improvements (status report, metrics, flush command) (pr#45895, Ilya Dryomov, Yin Congmin)
rbd-mirror: fix races in snapshot-based mirroring deletion propagation (pr#44754, Ilya Dryomov)
rbd-mirror: make mirror properly detect pool replayer needs restart (pr#45170, Mykola Golub)
rbd-mirror: make RemoveImmediateUpdate test synchronous (pr#44094, Arthur Outhenin-Chalandre)
rbd-mirror: synchronize with in-flight stop in ImageReplayer::stop() (pr#45184, Ilya Dryomov)
rbd: add missing switch arguments for recognition by get_command_spec() (pr#44742, Ilya Dryomov)
rbd: mark optional positional arguments as such in help output (pr#45008, Ilya Dryomov)
rbd: recognize rxbounce map option (pr#45002, Ilya Dryomov)
Revert “mds: kill session when mds do ms_handle_remote_reset” (pr#45557, Venky Shankar)
revert bootstrap network handling changes (pr#46085, Adam King)
revival and backport of fix for RocksDB optimized iterators (pr#46096, Adam Kupczyk, Cory Snyder)
RGW - Zipper - Make default args match in get_obj_state (pr#45438, Daniel Gryniewicz)
RGW - Zipper - Make sure PostObj has bucket set (pr#45060, Daniel Gryniewicz)
rgw/admin: fix radosgw-admin datalog list max-entries issue (pr#45500, Yuval Lifshitz)
rgw/amqp: add default case to silence compiler warning (pr#45478, Casey Bodley)
rgw/amqp: remove the explicit “disconnect()” interface (pr#45427, Yuval Lifshitz)
rgw/beast: optimizations for request timeout (pr#43946, Mark Kogan, Casey Bodley)
rgw/notification: send correct size in COPY events (pr#45426, Yuval Lifshitz)
rgw/sts: adding role name and role session to ops log (pr#43956, Pritha Srivastava)
rgw: add object null point judging when listing pubsub topics (pr#45476, zhipeng li)
rgw: add OPT_BUCKET_SYNC_RUN to gc_ops_list, so that (pr#45421, Pritha Srivastava)
rgw: add the condition of lock mode conversion to PutObjRentention (pr#45440, wangzhong)
rgw: bucket chown bad memory usage (pr#45491, Mohammad Fatemipour)
rgw: change order of xml elements in ListRoles response (pr#45448, Casey Bodley)
rgw: clean-up logging of function entering to make thorough and consistent (pr#45450, J. Eric Ivancich)
rgw: cls_bucket_list_unordered() might return one redundent entry every time is_truncated is true (pr#45457, Peng Zhang)
rgw: default ms_mon_client_mode = secure (pr#45439, Sage Weil)
rgw: document rgw_lc_debug_interval configuration option (pr#45453, J. Eric Ivancich)
rgw: document S3 bucket replication support (pr#45484, Matt Benjamin)
rgw: Dump Object Lock Retain Date as ISO 8601 (pr#44697, Danny Abukalam)
rgw: fix bi put not using right bucket index shard (pr#44166, J. Eric Ivancich)
rgw: fix lock scope in ObjectCache::get() (pr#44747, Casey Bodley)
rgw: fix md5 not match for RGWBulkUploadOp upload when enable rgw com… (pr#45432, yuliyang_yewu)
rgw: fix rgw.none statistics (pr#45463, J. Eric Ivancich)
rgw: fix segfault in UserAsyncRefreshHandler::init_fetch (pr#45411, Cory Snyder)
rgw: forward request in multisite for RGWDeleteBucketPolicy and RGWDeleteBucketPublicAccessBlock (pr#45434, yuliyang_yewu)
rgw: 在桶跨分片列表中,“新分片数”是临时的 (pr#45455, J. Eric Ivancich)
rgw: 只有在成功设置桶实例信息后才初始化桶索引 (pr#45509, J. Eric Ivancich)
rgw: init bucket index only if putting bucket instance info succeeds (pr#45480, Huber-ming)
rgw: RadosBucket::get_bucket_info() 更新 RGWBucketEnt (pr#45483, Casey Bodley)
rgw: 移除桶 API 返回 NoSuchKey 而不是 NoSuchBucket (pr#45489, Satoru Takeuchi)
rgw: 解决空排序桶列表结果,当使用 CLS 过滤 *并且* 桶索引列表产生错误结果时 (pr#45087, J. Eric Ivancich)
rgw: RGWPostObj::execute() 可能丢失数据 (pr#45502, Lei Zhang)
rgw: 在 FIPS 下,设置标志以允许 md5 在 select rgw 操作中使用 (pr#44778, Mark Kogan)
rgw: 在复制源中解析 copysource 之前进行 url_decode (issue#43259, pr#45430, Paul Reece)
rgw: Pacific 快速关闭回滚 (pr#44171, J. Eric Ivancich)
rgw: write meta of a MP part to a correct pool (issue#49128, pr#45428, Jeegn Chen)
rgw:When KMS encryption is used and the key does not exist, we should… (pr#45461, wangyingbin)
rgwlc: remove lc entry on bucket delete (pr#44729, Matt Benjamin)
rgwlc: warn on missing RGW_ATTR_LC (pr#45497, Matt Benjamin)
src/ceph-crash.in: various enhancements and fixes (pr#45381, Sébastien Han)
src/rgw: Fix for malformed url (pr#45459, Kalpesh Pandya)
test/librbd/test_notify.py: effect post object map rebuild assert (pr#45311, Ilya Dryomov)
test/librbd: add test to verify diff_iterate size (pr#45555, Christopher Hoffman)
test/librbd: harden RemoveFullTry tests (pr#43649, Ilya Dryomov)
test/rgw: disable cls_rgw_gc test cases with defer_gc() (pr#45477, Casey Bodley)
test: fix wrong alarm (HitSetWrite) (pr#45319, Myoungwon Oh)
test: increase retry duration when calculating manifest ref. count (pr#44202, Myoungwon Oh)
tools/rbd: expand where option rbd_default_map_options can be set (pr#45181, Christopher Hoffman, Ilya Dryomov)
Wip doc pr 46109 backport to pacific (pr#46117, Ville Ojamo)
v16.2.7 太平洋
This is the seventh backport release in the Pacific series.
值得注意的变化
Critical bug in OMAP format upgrade is fixed. This could cause data corruption (improperly formatted OMAP keys) after pre-Pacific cluster upgrade if bluestore-quick-fix-on-mount parameter is set to true or ceph-bluestore-tool’s quick-fix/repair commands are invoked. Relevant tracker: https://tracker.ceph.com/issues/53062
bluestore-quick-fix-on-mount
continues to be set to false, by default.CephFS: 如果您未使用 cephadm,则必须在开始升级之前禁用 FSMap 卫生检查升级完成后,集群稳定后,请删除该设置::
ceph config set mon mon_mds_skip_sanity true
After the upgrade has finished and the cluster is stable, please remove that setting:
ceph config rm mon mon_mds_skip_sanity
由 cephadm 管理和升级的集群会自动处理此步骤。
MGR: pg_autoscaler 将使用 ‘scale-up’ 配置文件作为默认配置文件。
Cephadm & Ceph 仪表板:NFS 管理已完全重新设计,以确保 NFS 导出在不同 Ceph 组件之间一致地管理。之前有 3 种配置 NFS 导出的不兼容实现:Ceph-Ansible/OpenStack Manila、Ceph 仪表板和 ‘mgr/nfs’ 模块。通过本次发布,“mgr/nfs” 方式成为官方接口,其余组件(Cephadm 和 Ceph 仪表板)都遵循它。虽然这可能需要手动从已弃用的实现迁移,但它将简化那些严重依赖 NFS 导出的用户的使用体验。
仪表板:“集群扩展向导”。在 ‘cephadm bootstrap’ 步骤后,登录到 Ceph 仪表板的用户将看到一个欢迎屏幕。如果他们选择跟随安装向导,它们将引导他们完成一系列步骤,以帮助他们配置其 Ceph 集群:通过添加更多主机来扩展集群、检测和定义他们的存储设备,最后部署和配置不同的 Ceph 服务。
OSD:在使用 mclock_scheduler 进行 QoS 时,不再需要运行任何手动基准测试。OSD 现在在初始化期间自动设置适当的值 forosd_mclock_max_capacity_iops通过运行一个简单的基准测试来设置。
MGR: 进度模块中的全局恢复事件已得到优化,并在收集统计信息之间添加了 5 秒的睡眠间隔,以减少进度模块对 MGR 的影响,尤其是在大型集群中。sleep_interval of 5 seconds has been added between stats collection, to reduce the impact of the progress module on the MGR, especially in large clusters.
更改日志
rpm, debian: 将 smartmontools 和 nvme-cli 移动到 ceph-base (pr#44164, Yaarit Hatuka)
qa: 其他性能套件修复 (pr#44154, Neha Ojha)
qa/suites/orch/cephadm: 添加缺少 0-distro 目录 (pr#44201, Sebastian Wagner)
*: s/virtualenv/python -m venv/ (pr#43002, Kefu Chai, Ken Dreyer)
admin/doc-requirements.txt: 将 Sphinx 固定在 3.5.4 (pr#43748, Kefu Chai)
回滚 mgr/nfs 比特 (pr#43811, Sage Weil, Michael Fritch)
ceph-volume:get_first_lv()重构 (pr#43960, Guillaume Abrioux)
ceph-volume: 修复导致 AttributeError 的拼写错误 (pr#43949, Taha Jahangir)
ceph-volume: 修复 VG 具有多个 PV 时所需 db/wal 插槽大小的计算错误 (pr#43948, Guillaume Abrioux, Cory Snyder)
ceph-volume: 修复 lvm activate --all --no-systemd (pr#43267, Dimitri Savineau)
ceph-volume: util/prepare 修复 osd_id_available() (pr#43708, Guillaume Abrioux)
ceph.spec: selinux 脚本尊重 CEPH_AUTO_RESTART_ON_UPGRADE (pr#43235, Dan van der Ster)
cephadm: 十一月批次 (pr#43906, Sebastian Wagner, Sage Weil, Daniel Pivonka, Andrew Sharapov, Paul Cuzner, Adam King, Melissa Li)
cephadm: 八月批次 (pr#43728, Patrick Donnelly, Sage Weil, Cory Snyder, Sebastian Wagner, Paul Cuzner, Joao Eduardo Luis, Zac Dover, Dmitry Kvashnin, Daniel Pivonka, Adam King, jianglong01, Guillaume Abrioux, Melissa Li, Roaa Sakr, Kefu Chai, Brad Hubbard, Michael Fritch, Javier Cacheiro)
cephfs-mirror, 测试:为 cephfs mirror 守护进程添加 thrasher,HA 测试 yamls (issue#50372, pr#43924, Venky Shankar)
cephfs-mirror: 在终止时关闭 ClusterWatcher (pr#43198, Willem Jan Withagen, Venky Shankar)
cmake: 链接 Threads::Threads 而不是 CMAKE_THREAD_LIBS_INIT (pr#43167, Ken Dreyer)
cmake: s/Python_EXECUTABLE/Python3_EXECUTABLE/ (pr#43264, Michael Fritch)
crush: 取消 upmaps with up set size != pool size (pr#43415, huangjun)
文档:记录子卷(组)固定 (pr#43941, Michael Fritch)
doc: document subvolume (group) pins (pr#43925, Patrick Donnelly)
github: 将仪表板 PR 添加到 Dashboard 项目 (pr#43610, Ernesto Puerta)
librbd/cache/pwl: 持久化缓存回滚 (pr#43772, Kefu Chai, Yingxin Cheng, Yin Congmin, Feng Hualong, Jianpeng Ma, Ilya Dryomov, Hualong Feng)
librbd/cache/pwl: SSD 缓存回滚 (pr#43918, Yin Congmin, Jianpeng Ma)
librbd/object_map: 两个快照列表之间的 rbd 差异显示整个镜像内容 (pr#43805, Sunny Kumar)
librbd: 修复池验证锁死 (pr#43113, Ilya Dryomov)
mds/FSMap: 在旧的 FSMaps 中不断言 allow_standby_replay (pr#43614, Patrick Donnelly)
mds: 添加新的标志到 MClientSession (pr#43251, Kotresh HR)
mds: 在打开根目录时不要修剪 stray dentries (pr#43815, Xiubo Li)
mds: 在回放时跳过被列出的会话块客户端 (replay状态 (pr#43841, Venky Shankar)
mds: 将 mds_lock 切换为公平互斥锁以修复性能问题 (pr#43148, Xiubo Li, Kefu Chai)
MDSMonitor: 升级到 v16.2.5+ 时断言 (pr#43890, Patrick Donnelly)
MDSMonitor: 处理来自 standby-replay 的损坏状态 (pr#43200, Patrick Donnelly)
集群部署后没有活动的 MDS (pr#43891, Patrick Donnelly)
mgr/dashboard,prometheus: 修复服务器地址处理 (issue#52002, pr#43631, Scott Shambarger)
mgr/dashboard: 所有 pyfakefs 必须固定在同一版本 (pr#43930, Rishabh Dave)
mgr/dashboard: BATCH 包括:NFS 集成、集群扩展工作流和 Angular 11 升级 (pr#43682, Alfonso Martínez, Avan Thakkar, Aashish Sharma, Nizamudeen A, Pere Diaz Bou, Varsha Rao, Ramana Raja, Sage Weil, Kefu Chai)
mgr/dashboard: cephfs MDS 工作负载使用 rate 作为计数器类型指标 (pr#43190, Jan Horacek)
mgr/dashboard: 清理控制器和 API 向后版本兼容性 (pr#43543, Ernesto Puerta, Avan Thakkar)
mgr/dashboard: 使用 bootstrap 类列出守护进程事件 (pr#44057, Nizamudeen A)
mgr/dashboard: 在 Grafana 仪表板中弃用变量使用 (pr#43188, Patrick Seidensal)
mgr/dashboard: 设备健康状态未列在主机部分 (pr#44053, Aashish Sharma)
mgr/dashboard: 编辑服务功能 (pr#43939, Nizamudeen A)
mgr/dashboard: 修复失败的配置仪表板 e2e 检查 (pr#43238, Nizamudeen A)
mgr/dashboard: 修复易碎的库存 e2e 测试 (pr#44056, Nizamudeen A)
mgr/dashboard: 修复缺失的警报规则详细信息 (pr#43812, Ernesto Puerta)
mgr/dashboard: 修复 orchestrator/01-hosts.e2e-spec.ts 失败 (pr#43541, Nizamudeen A)
mgr/dashboard: 在 rgw 用户详细信息部分包含 mfa_ids (pr#43893, Avan Thakkar)
mgr/dashboard: 不为受抑制的警报通知 (pr#43185, Aashish Sharma)
mgr/dashboard: monitoring: grafonnet refactoring for radosgw dashboards (pr#43644, Aashish Sharma)
mgr/dashboard: Move force maintenance test to the workflow test suite (pr#43347, Nizamudeen A)
mgr/dashboard: pin a version for autopep8 and pyfakefs (pr#43646, Nizamudeen A)
mgr/dashboard: Predefine labels in create host form (pr#44077, Nizamudeen A)
mgr/dashboard: provisioned values is misleading in RBD image table (pr#44051, Avan Thakkar)
mgr/dashboard: replace “Ceph-cluster” Client connections with active-standby MGRs (pr#43523, Avan Thakkar)
mgr/dashboard: rgw daemon list: add realm column (pr#44047, Alfonso Martínez)
mgr/dashboard: Spelling mistake in host-form Network address field (pr#43973, Avan Thakkar)
mgr/dashboard: Visual regression tests for ceph dashboard (pr#42678, Aaryan Porwal)
mgr/dashboard: visual tests: Add more ignore regions for dashboard component (pr#43240, Aaryan Porwal)
mgr/influx: use “N/A” for unknown hostname (pr#43368, Kefu Chai)
mgr/mirroring: remove unnecessary fs_name arg from daemon status command (issue#51989, pr#43199, Venky Shankar)
mgr/nfs: nfs-rgw batch backport (pr#43075, Sebastian Wagner, Sage Weil, Varsha Rao, Ramana Raja)
mgr/progress: optimize global recovery && introduce 5 seconds interval (pr#43353, Kamoltat, Neha Ojha)
mgr/prometheus: offer ability to disable cache (pr#43931, Patrick Seidensal)
mgr/volumes: Fix permission during subvol creation with mode (pr#43223, Kotresh HR)
mgr: Add check to prevent mgr from crashing (pr#43445, Aswin Toni)
mon,auth: fix proposal (and mon db rebuild) of rotating secrets (pr#43697, Sage Weil)
mon/MDSMonitor: avoid crash when decoding old FSMap epochs (pr#43615, Patrick Donnelly)
mon: Allow specifying new tiebreaker monitors (pr#43457, Greg Farnum)
mon: MonMap: display disallowed_leaders whenever they’re set (pr#43972, Greg Farnum)
mon: MonMap: do not increase mon_info_t’s compatv in stretch mode, really (pr#43971, Greg Farnum)
monitoring: ethernet bonding filter in Network Load (pr#43694, Pere Diaz Bou)
msg/async/ProtocolV2: Set the recv_stamp at the beginning of receiving a message (pr#43511, dongdong tao)
msgr/async: fix unsafe access in unregister_conn() (pr#43548, Sage Weil, Radoslaw Zarzynski)
os/bluestore: _do_write_small fix head_pad (pr#43756, dheart)
os/bluestore: do not select absent device in volume selector (pr#43970, Igor Fedotov)
os/bluestore: fix invalid omap name conversion when upgrading to per-pg (pr#43793, Igor Fedotov)
os/bluestore: list obj which equals to pend (pr#43512, Mykola Golub, Kefu Chai)
os/bluestore: multiple repair fixes (pr#43731, Igor Fedotov)
osd/OSD: mkfs need wait for transcation completely finish (pr#43417, Chen Fan)
osd: fix partial recovery become whole object recovery after restart osd (pr#43513, Jianwei Zhang)
osd: fix to allow inc manifest leaked (pr#43306, Myoungwon Oh)
osd: fix to recover adjacent clone when set_chunk is called (pr#43099, Myoungwon Oh)
osd: handle inconsistent hash info during backfill and deep scrub gracefully (pr#43544, Ronen Friedman, Mykola Golub)
osd: re-cache peer_bytes on every peering state activate (pr#43437, Mykola Golub)
osd: 运行 osd 基准测试以覆盖默认 osd 容量 for mclock (pr#41731, Sridhar Seshasayee)
太平洋:BlueStore: Omap 升级到每个桶修复 (pr#43922, Adam Kupczyk)
太平洋:客户端:在撤销时不要延迟释放 caps (pr#43782, Xiubo Li)
太平洋:mds: 添加读写 io 大小指标支持 (pr#43784, Xiubo Li)
太平洋:test/libcephfs: 查找后放入 inodes (pr#43562, Patrick Donnelly)
pybind/mgr/cephadm: 在 CephFS 升级期间设置 allow_standby_replay (pr#43559, Patrick Donnelly)
pybind/mgr/CMakeLists.txt: 排除在运行时未使用的文件 (pr#43787, Duncan Bellamy)
pybind/mgr/pg_autoscale: 恢复到默认配置文件 scale-up (pr#44032, Kamoltat)
qa/mgr/dashboard/test_pool: 不要检查 HEALTH_OK (pr#43440, Ernesto Puerta)
qa/mgr/dashboard: 添加额外的等待时间进行测试 (pr#43351, Ernesto Puerta)
qa/rgw: pacific 分支目标 ceph-pacific 分支的 java_s3tests (pr#43809, Casey Bodley)
qa/tasks/kubeadm: 强制 docker cgroup 引擎为 systemd (pr#43937, Sage Weil)
qa/tasks/mgr: 跳过 python>=3.8 上的 test_diskprediction_local (pr#43421, Kefu Chai)
qa/tests: 高级版本以反映最新的 16.2.6 发布 (pr#43242, Yuri Weinstein)
qa: 在升级期间禁用内核客户端上的指标 (pr#44034, Patrick Donnelly)
qa: 延长 fs map 显示死 MDS 的等待时间 (pr#43702, Patrick Donnelly)
qa: 为 dir_split 计数器测试减少 frag split 配置 (pr#43828, Patrick Donnelly)
rbd-mirror: 修复镜像删除 (pr#43662, Arthur Outhenin-Chalandre)
rbd-mirror: 修复单向快照镜像删除传播中的竞争条件 (pr#43315, Ilya Dryomov)
rgw/notification: 通知与桶跨分片无关 (pr#42946, Yuval Lifshitz)
rgw/notifications: 缓存对象大小以避免访问无效内存 (pr#42949, Yuval Lifshitz)
rgw/notifications: 在创建删除标记的情况下发送正确的大小 (pr#42643, Yuval Lifshitz)
rgw/notifications: 支持主题和通知的 v4 身份验证 (pr#42947, Yuval Lifshitz)
rgw/rgw_rados: 使 RGW 请求 ID 非确定性 (pr#43695, Cory Snyder)
rgw/sts: 修复使用 sts 进行复制对象操作 (pr#43703, Pritha Srivastava)
rgw/tracing: 在 librgw2 包内统一 SO 版本号 (pr#43619, Nathan Cutler)
rgw: 添加对操作日志目标地的抽象并添加文件记录器 (pr#43740, Casey Bodley, Cory Snyder)
rgw: 确保过旧的桶无法解码布局具有布局日志 (pr#43823, Adam C. Emerson)
rgw: 修复桶清理不完整的 multipart 上传 (pr#43862, J. Eric Ivancich)
rgw: 修复 S3 消息结构中 eTag 的拼写 (pr#42945, Tom Schoonjans)
rgw: 修复 sts 内存泄漏 (pr#43348, yuliyang_yewu)
rgw: 移除桶删除和 multipart 上传中止的 prefix & delim 参数 (pr#43975, J. Eric Ivancich)
rgw: 使用现有的 s->bucket 在 s3 website retarget() 中 (pr#43777, Casey Bodley)
rgw: 在 RGWDeleteBucketPolicy 和 RGWDeleteBucketPublicAccessBlock 的多站点中转发请求 (pr#43434, Jan Fajerski)
test: shutdown the mounter after test finishes (pr#43475, Xiubo Li)
v16.2.6 太平洋
Danger
DATE: 01 NOV 2021.
DO NOT UPGRADE TO CEPH PACIFIC FROM AN OLDER VERSION.
A recently-discovered bug (https://tracker.ceph.com/issues/53062) can cause data corruption. This bug occurs during OMAP format conversion for clusters that are updated to Pacific. New clusters are not affected by this bug.
The trigger for this bug is BlueStore’s repair/quick-fix functionality. This bug can be triggered in two known ways:
manually via the ceph-bluestore-tool, or
automatically, by OSD if
bluestore_fsck_quick_fix_on_mount
is set to true.
The fix for this bug is expected to be available in Ceph v16.2.7.
DO NOT set bluestore_quick_fix_on_mount
to true. If it is currently
set to true in your configuration, immediately set it to false.
DO NOT run ceph-bluestore-tool
’s repair/quick-fix commands.
This is the sixth backport release in the Pacific series.
值得注意的变化
MGR: The pg_autoscaler has a new default ‘scale-down’ profile which provides more performance from the start for new pools (for newly created clusters). Existing clusters will retain the old behavior, now called the ‘scale-up’ profile. For more details, see: https://docs.ceph.com/en/latest/rados/operations/placement-groups/
CephFS: the upgrade procedure for CephFS is now simpler. It is no longer necessary to stop all MDS before upgrading the sole active MDS. After disabling standby-replay, reducing max_mds to 1, and waiting for the file systems to become stable (each fs with 1 active and 0 stopping daemons), a rolling upgrade of all MDS daemons can be performed.
Dashboard: now allows users to set up and display a custom message (MOTD, warning, etc.) in a sticky banner at the top of the page. For more details, see: https://docs.ceph.com/en/pacific/mgr/dashboard/#message-of-the-day-motd
Several fixes in BlueStore, including a fix for the deferred write regression, which led to excessive RocksDB flushes and compactions. Previously, when bluestore_prefer_deferred_size_hdd was equal to or more than bluestore_max_blob_size_hdd (both set to 64K), all the data was deferred, which led to increased consumption of the column family used to store deferred writes in RocksDB. Now, the bluestore_prefer_deferred_size parameter independently controls deferred writes, and only writes smaller than this size use the deferred write path.
The default value of osd_client_message_cap has been set to 256, to provide better flow control by limiting maximum number of in-flight client requests.
PGs no longer show a active+clean+scrubbing+deep+repair state when osd_scrub_auto_repair is set to true, for regular deep-scrubs with no repair required.
ceph-mgr-modules-core debian package does not recommend ceph-mgr-rook anymore. As the latter depends on python3-numpy which cannot be imported in different Python sub-interpreters multi-times if the version of python3-numpy is older than 1.19. Since apt-getinstalls theRecommendspackages by default,ceph-mgr-rook was always installed along with ceph-mgr debian package as an indirect dependency. If your workflow depends on this behavior, you might want to install ceph-mgr-rookseparately.
This is the first release built for Debian Bullseye.
更改日志
如果没有其他地址可用,则绑定到回环地址 (pr#42477, Kefu Chai)
ceph-monstore-tool: 使用足够大的 paxos/{first,last}_committed (issue#38219, pr#42411, Kefu Chai)
ceph-volume/tests: retry when destroying osd (pr#42546, Guillaume Abrioux)
ceph-volume/tests: update ansible environment variables in tox (pr#42490, Dimitri Savineau)
ceph-volume: Consider /dev/root as mounted (pr#42755, David Caro)
ceph-volume: fix lvm activate arguments (pr#43116, Dimitri Savineau)
ceph-volume: fix lvm migrate without args (pr#43110, Dimitri Savineau)
ceph-volume: fix raw list with logical partition (pr#43087, Guillaume Abrioux, Dimitri Savineau)
ceph-volume: 实现蓝 Store 卷迁移 (pr#42219, Kefu Chai, Igor Fedotov)
ceph-volume: lvm batch: fast_allocations(): avoid ZeroDivisionError (pr#42493, Jonas Zeiger)
ceph-volume: pvs --noheadings replace pvs --no-heading (pr#43076, FengJiankui)
ceph-volume: remove --all ref from deactivate help (pr#43098, Dimitri Savineau)
ceph-volume: support no_systemd with lvm migrate (pr#43091, Dimitri Savineau)
ceph-volume: work around phantom atari partitions (pr#42753, Blaine Gardner)
ceph.spec.in: drop gdbm from build deps (pr#43000, Kefu Chai)
cephadm: August batch 1 (pr#42736, Sage Weil, Dimitri Savineau, Guillaume Abrioux, Sebastian Wagner, Varsha Rao, Zac Dover, Adam King, Cory Snyder, Michael Fritch, Asbjørn Sannes, “Wang,Fei”, Javier Cacheiro, 胡玮文, Daniel Pivonka)
cephadm: September batch 1 (issue#52038, pr#43029, Sebastian Wagner, Dimitri Savineau, Paul Cuzner, Oleander Reis, Adam King, Yuxiang Zhu, Zac Dover, Alfonso Martínez, Sage Weil, Daniel Pivonka)
cephadm: use quay, not docker (pr#42534, Sage Weil)
cephfs-mirror: 在 DirRegistry 中记录目录路径取消 (issue#51666, pr#42458, Venky Shankar)
客户端:在 unsafe 请求的相关和 auth MDSes 中刷新 mdlog (pr#42925, Xiubo Li)
客户端:确保仅更新来自 auth mds 的 dir dist (pr#42937, Xue Yantao)
cls/cmpomap: 在 U64 比较中空值是 0 (pr#42908, Casey Bodley)
cmake, ceph.spec.in: 在 RHEL 上构建时使用 header 仅 fmt (pr#42472, Kefu Chai)
cmake: 如果它们是内部库,则构建静态库 (pr#39902, Kefu Chai)
cmake: 排除“grafonnet-lib”目标从“all” (pr#42898, Kefu Chai)
cmake: 链接捆绑的 fmt 静态 (pr#42692, Kefu Chai)
cmake: 替换 boost 下载 url (pr#42693, Rafał Wądołowski)
common/buffer: 修复 rebuild_aligned_size_and_memory 中的 SIGABRT (pr#42976, Yin Congmin)
common/Formatter: 包括使用的标题 (pr#42233, Kefu Chai)
common/options: 将 osd_client_message_cap 设置为 256 (pr#42615, Mark Nelson)
compression/snappy: 使用 uint32_t 以与 1.1.9 兼容 (pr#42542, Kefu Chai, Nathan Cutler)
debian/control: ceph-mgr-modules-core 不再推荐 ceph-mgr-roo… (pr#42300, Kefu Chai)
debian/control: dh-systemd 现在是 debhelper 的一部分 (pr#43151, David Galloway)
debian/control: 删除 cython 从 Build-Depends (pr#43131, Kefu Chai)
doc/ceph-volume: 添加 lvm migrate/new-db/new-wal (pr#43089, Dimitri Savineau)
doc/rados/operations: s/max_misplaced/target_max_misplaced_ratio/ (pr#42250, Paul Reece, Kefu Chai)
doc/releases/pacific.rst: 删除有关 autoscaler 的说明 (pr#42265, Neha Ojha)
不要持久化报告数据 (pr#42888, Brad Hubbard)
krbd: 跳过 udev_enumerate_add_match_sysattr 值 (pr#42969, Ilya Dryomov)
kv/RocksDBStore: 为 resharding 添加 block_cache 选项处理 (pr#42844, Adam Kupczyk)
kv/RocksDBStore: 丰富调试消息 (pr#42544, Toshikuni Fukaya, Satoru Takeuchi)
librgw/notifications: 初始化 kafka 和 amqp (pr#42648, Yuval Lifshitz)
mds: 在拒绝 mksnap 时添加调试 (pr#42935, Patrick Donnelly)
mds: 使用特定 ID 创建文件系统 (pr#42900, Ramana Raja)
mds: MDCache.cc:5319 FAILED ceph_assert(rejoin_ack_gather.count(mds->get_nodeid())) (pr#42938, chencan)
mds: META_POP_READDIR、META_POP_FETCH、META_POP_STORE 和 cache_hit_rate 未更新 (pr#42939, Yongseok Oh)
mds: 打印未知类型值 (pr#42088, Xiubo Li, Jos Collin)
MDSMonitor: 在从 ceph 15.2.13 升级到 16.2.4 后监控崩溃 (pr#42536, Patrick Donnelly)
mgr/DaemonServer: 跳过 pgp_num_actual 的冗余更新 (pr#42223, Dan van der Ster)
mgr/dashboard/api: 在运行 pip 时设置 UTF-8 区域 (pr#42829, Kefu Chai)
mgr/dashboard: 添加可配置的 MOTD 或墙通知 (pr#42414, Volker Theile)
mgr/dashboard: cephadm e2e 启动脚本:添加 --expanded 选项 (pr#42789, Alfonso Martínez)
mgr/dashboard: cephadm-e2e 作业脚本:改进 (pr#42585, Alfonso Martínez)
mgr/dashboard: 禁用使用子卷创建快照 (pr#42819, Pere Diaz Bou)
mgr/dashboard: 不要为受抑制的警报通知 (pr#42974, Tatjana Dehler)
mgr/dashboard: 修复 Accept-Language 标头解析 (pr#42297, 胡玮文)
mgr/dashboard: 修复重命名库存为磁盘 (pr#42810, Navin Barnwal)
mgr/dashboard: 从 Transifex 拉取最新语言 (pr#42628, Avan Thakkar)
mgr/dashboard: 修复 HAProxy(现在称为 ingress)(pr#42354, Nizamudeen A)
mgr/dashboard: monitoring: replace Grafana JSON with Grafonnet based code (pr#42812, Aashish Sharma)
mgr/dashboard: Refresh button on the iscsi targets page (pr#42817, Nizamudeen A)
mgr/dashboard: remove usage of ‘rgw_frontend_ssl_key’ (pr#42316, Avan Thakkar)
mgr/dashboard: show perf. counters for rgw svc. on Cluster > Hosts (pr#42629, Alfonso Martínez)
mgr/dashboard: stats=false not working when listing buckets (pr#42889, Avan Thakkar)
mgr/dashboard: tox.ini: delete useless env. ‘apidocs’ (pr#42788, Alfonso Martínez)
mgr/dashboard: update translations for pacific (pr#42606, Tatjana Dehler)
mgr/mgr_util: switch using unshared cephfs connections whenever possible (issue#51256, pr#42083, Venky Shankar)
mgr/pg_autoscaler: Introduce autoscaler scale-down feature (pr#42428, Kamoltat, Kefu Chai)
mgr/rook: Add timezone info (pr#39834, Varsha Rao, Sebastian Wagner)
mgr/telemetry: pass leaderboard flag even w/o ident (pr#42228, Sage Weil)
mgr/volumes: Add config to insert delay at the beginning of the clone (pr#42086, Kotresh HR)
mgr/volumes: use dedicated libcephfs handles for subvolume calls and … (issue#51271, pr#42914, Venky Shankar)
mgr: set debug_mgr=2/5 (so INFO goes to mgr log by default) (pr#42225, Sage Weil)
mon/MDSMonitor: do not pointlessly kill standbys that are incompatible with current CompatSet (pr#42578, Patrick Donnelly, Zhi Zhang)
mon/OSDMonitor: resize oversized Lec::epoch_by_pg, after PG merging, preventing osdmap trimming (pr#42224, Dan van der Ster)
mon/PGMap: remove DIRTY field in ceph df detail when cache tiering is not in use (pr#42860, Deepika Upadhyay)
mon: return -EINVAL when handling unknown option in ‘ceph osd pool get’ (pr#42229, Zhao Cuicui)
mon: Sanely set the default CRUSH rule when creating pools in stretch… (pr#42909, Greg Farnum)
monitoring/grafana/build/Makefile: revamp for arm64 builds, pushes to docker and quay, jenkins (pr#42211, Dan Mick)
monitoring/grafana/cluster: use per-unit max and limit values (pr#42679, David Caro)
monitoring: Clean up Grafana dashboards (pr#42299, Patrick Seidensal)
monitoring: fix Physical Device Latency unit (pr#42298, Seena Fallah)
msg: active_connections regression (pr#42936, Sage Weil)
nfs backport June (pr#42096, Varsha Rao)
os/bluestore: accept undecodable multi-block bluefs transactions on log (pr#43023, Igor Fedotov)
os/bluestore: cap omap naming scheme upgrade transaction (pr#42956, Igor Fedotov)
os/bluestore: compact db after bulk omap naming upgrade (pr#42426, Igor Fedotov)
os/bluestore: fix bluefs migrate command (pr#43100, Igor Fedotov)
os/bluestore: fix erroneous SharedBlob record removal during repair (pr#42423, Igor Fedotov)
os/bluestore: fix using incomplete bluefs log when dumping it (pr#43007, Igor Fedotov)
os/bluestore: make deferred writes less aggressive for large writes (pr#42773, Igor Fedotov, Adam Kupczyk)
os/bluestore: Remove possibility of replay log and file inconsistency (pr#42424, Adam Kupczyk)
os/bluestore: respect bluestore_warn_on_spurious_read_errors setting (pr#42897, Igor Fedotov)
osd/scrub: separate between PG state flags and internal scrubber operation (pr#42398, Ronen Friedman)
osd: log snaptrim message to dout (pr#42482, Arthur Outhenin-Chalandre)
osd: move down peers out from peer_purged (pr#42238, Mykola Golub)
pybind/mgr/stats: validate cmdtag (pr#42702, Jos Collin)
pybind/mgr: Fix IPv6 url generation (pr#42990, Sebastian Wagner)
pybind/rbd: fix mirror_image_get_status (pr#42972, Ilya Dryomov, Will Smith)
qa/*/test_envlibrados_for_rocksdb.sh: install libarchive-3.3.3 (pr#42344, Neha Ojha)
qa/cephadm: centos_8.x_container_tools_3.0.yaml (pr#42868, Sebastian Wagner)
qa/rgw: move ignore-pg-availability.yaml out of suites/rgw (pr#40694, Casey Bodley)
qa/standalone: Add missing cleanups after completion of a subset of osd and scrub tests (pr#42258, Sridhar Seshasayee)
qa/tests: advanced pacific version to reflect the latest 16.2.5 point (pr#42264, Yuri Weinstein)
qa/workunits/mon/test_mon_config_key: use subprocess.run() instead of proc.communicate() (pr#42221, Kefu Chai)
qa: FileNotFoundError: [Errno 2] No such file or directory: ‘/sys/kernel/debug/ceph/3fab6bea-f243-47a4-a956-8c03a62b61b5.client4721/mds_sessions’ (pr#42165, Patrick Donnelly)
qa: increase the pg_num for cephfs_data/metadata pools (pr#42923, Xiubo Li)
qa: test_ls_H_prints_human_readable_file_size failure (pr#42166, Patrick Donnelly)
radosgw-admin: skip GC init on read-only admin ops (pr#42655, Mark Kogan)
radosgw: include realm_{id,name} in service map (pr#42213, Sage Weil)
rbd-mirror: add perf counters to snapshot replayer (pr#42987, Arthur Outhenin-Chalandre)
rbd-mirror: fix potential async op tracker leak in start_image_replayers (pr#42979, Mykola Golub)
rbd: fix default pool handling for nbd map/unmap (pr#42980, Sunny Kumar)
Remove dependency on lsb_release (pr#43001, Ken Dreyer)
RGW - Bucket Remove Op: Pass in user (pr#42135, Daniel Gryniewicz)
RGW - Don’t move attrs before setting them (pr#42320, Daniel Gryniewicz)
rgw : add check empty for sync url (pr#42653, caolei)
rgw : add check for tenant provided in RGWCreateRole (pr#42637, caolei)
rgw : modfiy error XML for deleterole (pr#42639, caolei)
rgw multisite: metadata sync treats all errors as ‘transient’ for retry (pr#42656, Casey Bodley)
RGW Zipper - Make sure bucket list progresses (pr#42625, Daniel Gryniewicz)
rgw/amqp/test: fix mock prototype for librabbitmq-0.11.0 (pr#42649, Yuval Lifshitz)
rgw/http/notifications: support content type in HTTP POST messages (pr#42644, Yuval Lifshitz)
rgw/multisite: return correct error code when op fails (pr#42646, Yuval Lifshitz)
rgw/notification: add exception handling for persistent notification thread (pr#42647, Yuval Lifshitz)
rgw/notification: fix persistent notification hang when ack-levl=none (pr#40696, Yuval Lifshitz)
rgw/notification: fixing the “persistent=false” flag (pr#40695, Yuval Lifshitz)
rgw/notifications: delete bucket notification object when empty (pr#42631, Yuval Lifshitz)
rgw/notifications: support metadata filter in CompleteMultipartUpload and Copy events (pr#42321, Yuval Lifshitz)
rgw/notifications: support metadata filter in CompleteMultipartUploa… (pr#42566, Yuval Lifshitz)
rgw/rgw_file: Fix the return value of read() and readlink() (pr#42654, Dai zhiwei, luo rixin)
rgw/sts: correcting the evaluation of session policies (pr#42632, Pritha Srivastava)
rgw/sts: read_obj_policy() consults iam_user_policies on ENOENT (pr#42650, Casey Bodley)
rgw: allow rgw-orphan-list to process multiple data pools (pr#42635, J. Eric Ivancich)
rgw: allow to set ssl options and ciphers for beast frontend (pr#42363, Mykola Golub)
rgw: avoid infinite loop when deleting a bucket (issue#49206, pr#42230, Jeegn Chen)
rgw: avoid occuring radosgw daemon crash when access a conditionally … (pr#42626, xiangrui meng, yupeng chen)
rgw: Backport of 51674 to Pacific (pr#42346, Adam C. Emerson)
rgw: deprecate the civetweb frontend (pr#41367, Casey Bodley)
rgw: Don’t segfault on datalog trim (pr#42336, Adam C. Emerson)
rgw: during reshard lock contention, adjust logging (pr#42641, J. Eric Ivancich)
rgw: extending existing ssl support for vault KMS (pr#42093, Jiffin Tony Thottan)
rgw: fail as expected when set/delete-bucket-website attempted on a non-exis… (pr#42642, xiangrui meng)
rgw: fix bucket object listing when marker matches prefix (pr#42638, J. Eric Ivancich)
rgw: fix for mfa resync crash when supplied with only one totp_pin (pr#42652, Pritha Srivastava)
rgw: fix segfault related to explicit object manifest handling (pr#42633, Mark Kogan)
rgw: Improve error message on email id reuse (pr#41783, Ponnuvel Palaniyappan)
rgw: objectlock: improve client error messages (pr#40693, Matt Benjamin)
rgw: parse tenant name out of rgwx-bucket-instance (pr#42231, Casey Bodley)
rgw: radosgw-admin errors if marker not specified on data/mdlog trim (pr#42640, Adam C. Emerson)
rgw: remove quota soft threshold (pr#42634, Zulai Wang)
rgw: require bucket name in bucket chown (pr#42323, Zulai Wang)
rgw: when deleted obj removed in versioned bucket, extra del-marker added (pr#42645, J. Eric Ivancich)
rpm/luarocks: simplify conditional and support Leap 15.3 (pr#42561, Nathan Cutler)
rpm: drop use of $FIRST_ARG in ceph-immutable-object-cache (pr#42480, Nathan Cutler)
run-make-check.sh: Increase failure output log size (pr#42850, David Galloway)
SimpleRADOSStriper: use debug_cephsqlite (pr#42659, Patrick Donnelly)
src/pybind/mgr/mirroring/fs/snapshot_mirror.py: do not assume a cephf… (pr#42226, Sébastien Han)
test/rgw: fix use of poll() with timers in unittest_rgw_dmclock_scheduler (pr#42651, Casey Bodley)
Warning Cleanup and Clang Compile Fix (pr#40692, Adam C. Emerson)
workunits/rgw: semicolon terminates perl statements (pr#43168, Matt Benjamin)
v16.2.5 太平洋
This is the fifth backport release in the Pacific series. We recommend all users update to this release.
值得注意的变化
ceph-mgr-modules-core debian package does not recommend ceph-mgr-rook anymore. As the latter depends on python3-numpy which cannot be imported in different Python sub-interpreters multi-times if the version of python3-numpy is older than 1.19. Since apt-getinstalls theRecommendspackages by default,ceph-mgr-rook was always installed along with ceph-mgr debian package as an indirect dependency. If your workflow depends on this behavior, you might want to install ceph-mgr-rookseparately.
mgr/nfs:
nfs
module is moved out of volumes plugin. Prior using theceph nfs
commands,nfs
mgr module must be enabled.volumes/nfs: The
cephfs
cluster type has been removed from thenfs cluster create
subcommand. Clusters deployed by cephadm can support an NFS export of bothrgw
和cephfs
from a single NFS cluster instance.The
nfs cluster update
command has been removed. You can modify the placement of an existing NFS service (and/or its associated ingress service) usingorch ls --export
和orch apply -i ...
.The
orch apply nfs
command no longer requires a pool or namespace argument. We strongly encourage users to use the defaults so that thenfs cluster ls
and related commands will work properly.The
nfs cluster delete
和nfs export delete
commands are deprecated and will be removed in a future release. Please usenfs cluster rm
和nfs export rm
instead.已修复一个长期存在的错误,该错误阻止了在 msgr v2 下 32 位和 64 位客户端/服务器互操作。现在,在集群中混合 armv7l(armhf)和 x86_64 或 aarch64 服务器现在可以正常工作。
更改日志
.github/labeler: add api-change label (pr#41818, Ernesto Puerta)
Improve mon location handling for stretch clusters (pr#40484, Greg Farnum)
MDS heartbeat timed out between during executing MDCache::start_files_to_recover() (pr#42061, Yongseok Oh)
MDS slow request lookupino #0x100 on rank 1 block forever on dispatched (pr#40856, Xiubo Li, Patrick Donnelly)
MDSMonitor: crash when attempting to mount cephfs (pr#42068, Patrick Donnelly)
Pacific stretch mon state [Merge after 40484] (pr#41130, Greg Farnum)
Pacific: Add DoutPrefixProvider for RGW Log Messages in Pacfic (pr#40054, Ali Maredia, Kalpesh Pandya, Casey Bodley)
Pacific: Direct MMonJoin messages to leader, not first rank [Merge after 41130] (pr#41131, Greg Farnum)
Revert “pacific: mgr/dashboard: Generate NPM dependencies manifest” (pr#41549, Nizamudeen A)
Update boost url, fixing windows build (pr#41259, Lucian Petrut)
bluestore: use string_view and strip trailing slash for dir listing (pr#41755, Jonas Jelten, Kefu Chai)
build(deps): bump node-notifier from 8.0.0 to 8.0.1 in /src/pybind/mgr/dashboard/frontend (pr#40813osd: 重新缓存 peer_bytes 在每个对等状态激活时 (
ceph-volume: 修复批量报告并尊重 ceph.conf 配置值 (pr#41714, Andrew Schoen)
ceph_test_rados_api_service: more retries for servicemkap (pr#41182, Sage Weil)
cephadm june final batch (pr#42117, Kefu Chai, Sage Weil, Zac Dover, Sebastian Wagner, Varsha Rao, Sandro Bonazzola, Juan Miguel Olmo Martínez)
cephadm: batch backport for May (2) (pr#41219, Adam King, Sage Weil, Zac Dover, Dennis Körner, jianglong01, Avan Thakkar, Juan Miguel Olmo Martínez)
cephadm: june batch 1 (pr#41684, Sage Weil, Paul Cuzner, Juan Miguel Olmo Martínez, VasishtaShastry, Zac Dover, Sebastian Wagner, Adam King, Michael Fritch, Daniel Pivonka, sunilkumarn417)
cephadm: june batch 2 (pr#41815, Sebastian Wagner, Daniel Pivonka, Zac Dover, Michael Fritch)
cephadm: june batch 3 (pr#41913, Zac Dover, Adam King, Michael Fritch, Patrick Donnelly, Sage Weil, Juan Miguel Olmo Martínez, jianglong01)
cephadm: may batch 1 (pr#41151, Juan Miguel Olmo Martínez, Sage Weil, Zac Dover, Daniel Pivonka, Adam King, Stanislav Datskevych, jianglong01, Kefu Chai, Deepika Upadhyay, Joao Eduardo Luis)
cephadm: may batch 3 (pr#41463, Sage Weil, Michael Fritch, Adam King, Patrick Seidensal, Juan Miguel Olmo Martínez, Dimitri Savineau, Zac Dover, Sebastian Wagner)
cephfs-mirror backports (issue#50523, issue#50035, issue#50266, issue#50442, issue#50581, issue#50229, issue#49939, issue#50224, issue#50298, pr#41475, Venky Shankar, Lucian Petrut)
cephfs-mirror: backports (issue#50447, issue#50867, issue#51204, pr#41947, Venky Shankar)
cephfs-mirror: reopen logs on SIGHUP (issue#51413, issue#51318, pr#42097, Venky Shankar)
cephfs-top: self-adapt the display according the window size (pr#41053, Xiubo Li)
客户端:修复 root 用户可执行访问检查 (pr#41294, Kotresh HR)
client: fix the opened inodes counter increasing (pr#40685, Xiubo Li)
client: make Inode to inherit from RefCountedObject (pr#41052, Xiubo Li)
cls/rgw: 在非 ASCII 平面命名空间中查找普通条目 (pr#41774, Mykola Golub)
common/buffer: 在调用 posix_memalign() 之前调整 align (pr#41249, Ilya Dryomov)
common/mempool: 仅在分片非常糟糕的情况下才测试失败 (pr#40566, singuliere)
common/options/global.yaml.in: 增加默认的 bluestore_cache_trim_max_skip_pinned 值 (pr#40918, Neha Ojha)
crush/crush: ensure alignof(crush_work_bucket) is 1 (pr#41983, Kefu Chai)
debian,cmake,cephsqlite: hide non-public symbols (pr#40689, Kefu Chai)
debian/control: ceph-mgr-modules-core does not Recommend ceph-mgr-rook (pr#41877, Kefu Chai)
doc: pacific updates (pr#42066, Patrick Donnelly)
librbd/cache/pwl: fix parsing of cache_type in create_image_cache_state() (pr#41244, Ilya Dryomov)
librbd/mirror/snapshot: avoid UnlinkPeerRequest with a unlinked peer (pr#41304, Arthur Outhenin-Chalandre)
librbd: 清理时不要在第一个不可移除的镜像处停止 (pr#41664, Ilya Dryomov)
make-dist: 如果脚本路径包含冒号,则拒绝运行 (pr#41086, Nathan Cutler)
mds: “FAILED ceph_assert(r == 0 || r == -2)” (pr#42072, Xiubo Li)
mds: “cluster [ERR] Error recovering journal 0x203: (2) No such file or directory” in cluster log” (pr#42059, Xiubo Li)
mds: Add full caps to avoid osd full check (pr#41691, Patrick Donnelly, Kotresh HR)
mds: CephFS kclient gets stuck when getattr() on a certain file (pr#42062, “Yan, Zheng”, Xiubo Li)
mds: Error ENOSYS: mds.a started profiler (pr#42056, Xiubo Li)
mds: MDSLog::journaler pointer maybe crash with use-after-free (pr#42060, Xiubo Li)
mds: avoid journaling overhead for setxattr(“ceph.dir.subvolume”) for no-op case (pr#41995, Patrick Donnelly)
mds: do not assert when receiving a unknow metric type (pr#41596, Patrick Donnelly, Xiubo Li)
mds: journal recovery thread is possibly asserting with mds_lock not locked (pr#42058, Xiubo Li)
mds: mkdir on ephemerally pinned directory sometimes blocked on journal flush (pr#42071, Xiubo Li)
mds: scrub error on inode 0x1 (pr#41685, Milind Changire)
mds: standby-replay only trims cache when it reaches the end of the replay log (pr#40855, Xiubo Li, Patrick Donnelly)
mgr/DaemonServer.cc: prevent mgr crashes caused by integer underflow that is triggered by large increases to pg_num/pgp_num (pr#41862, Cory Snyder)
mgr/Dashboard: Remove erroneous elements in hosts-overview Grafana dashboard (pr#40982, Malcolm Holmes)
mgr/dashboard: API Version changes do not apply to pre-defined methods (list, create etc.) (pr#41675, Aashish Sharma)
mgr/dashboard: Alertmanager fails to POST alerts (pr#41987, Avan Thakkar)
mgr/dashboard: Fix 500 error while exiting out of maintenance (pr#41915, Nizamudeen A)
mgr/dashboard: Fix bucket name input allowing space in the value (pr#42119, Nizamudeen A)
mgr/dashboard: Fix for query params resetting on change-password (pr#41440, Nizamudeen A)
mgr/dashboard: Generate NPM dependencies manifest (pr#41204, Nizamudeen A)
mgr/dashboard: Host Maintenance Follow ups (pr#41056, Nizamudeen A)
mgr/dashboard: Include Network address and labels on Host Creation form (pr#42027, Nizamudeen A)
mgr/dashboard: OSDs placement text is unreadable (pr#41096, Aashish Sharma)
mgr/dashboard: RGW buckets async validator performance enhancement and name constraints (pr#41296, Nizamudeen A)
mgr/dashboard: User database migration has been cut out (pr#42140, Volker Theile)
mgr/dashboard: avoid data processing in crush-map component (pr#41203, Avan Thakkar)
mgr/dashboard: bucket details: show lock retention period only in days (pr#41948, Alfonso Martínez)
mgr/dashboard: crushmap tree doesn’t display crush type other than root (pr#42007, Kefu Chai, Avan Thakkar)
mgr/dashboard: disable NFSv3 support in dashboard (pr#41200, Volker Theile)
mgr/dashboard: drop container image name and id from services list (pr#41505, Avan Thakkar)
mgr/dashboard: fix API docs link (pr#41507, Avan Thakkar)
mgr/dashboard: fix ESOCKETTIMEDOUT E2E failure (pr#41427, Avan Thakkar)
mgr/dashboard: fix HAProxy (now called ingress) (pr#41298, Avan Thakkar)
mgr/dashboard: 修复 OSD 出计数 (pr#42153, 胡玮文)
mgr/dashboard: fix OSDs Host details/overview grafana graphs (issue#49769, pr#41324, Alfonso Martínez, Michael Wodniok)
mgr/dashboard: 修复 base-href (pr#41634, Avan Thakkar)
mgr/dashboard: 修复 base-href:恢复到之前的方法 (pr#41251, Avan Thakkar)
mgr/dashboard: fix bucket objects and size calculations (pr#41646, Avan Thakkar)
mgr/dashboard: 修复桶版本控制,当锁定启用时 (pr#41197, Avan Thakkar)
mgr/dashboard: 修复右侧边栏导航图标不可点击的问题 (pr#42008, Aaryan Porwal)
mgr/dashboard: 修复 set-ssl-certificate{,-key} 命令 (pr#41170, Alfonso Martínez)
mgr/dashboard: 修复拼写错误:文件系统到文件系统 (pr#42016, Navin Barnwal)
mgr/dashboard: ingress 服务创建后续 (pr#41428, Avan Thakkar)
mgr/dashboard: 通过 KCLI 运行 cephadm-backend e2e 测试 (pr#41633, Ernesto Puerta)
mgr/dashboard: provide the service events when showing a service in the UI (pr#41494, Aashish Sharma)
mgr/dashboard: run cephadm-backend e2e tests with KCLI (pr#42156, Alfonso Martínez)
mgr/dashboard: 在 run-backend-api-tests.sh 中设置所需环境变量 (pr#41069, Alfonso Martínez)
mgr/dashboard: 显示 RGW 客户端用户 ID 正确地显示在 ‘NFS 创建导出’ 表单中 (pr#41528, Alfonso Martínez)
mgr/dashboard: show partially deleted RBDs (mgr/dashboard: 简化“桶创建”表单中对象锁定字段 (, Tatjana Dehler)
mgr/dashboard: simplify object locking fields in ‘Bucket Creation’ form (pr#41777, Alfonso Martínez)
mgr/dashboard: 更新前端依赖项以解决安全漏洞 (pr#41402, Alfonso Martínez)
mgr/dashboard: 在池仪表板中包含压缩统计 (pr#41577, Ernesto Puerta, Paul Cuzner)
mgr/nfs: 不要依赖于 cephadm.utils (pr#41842, Sage Weil)
mgr/progress: ensure progress stays between [0,1] (pr#41312, Dan van der Ster)
mgr/prometheus: 改善池元数据 (pr#40804, Paul Cuzner)
mgr/pybind/snap_schedule: 当没有 fs 快照可用时不要失败 (pr#41044, Sébastien Han)
mgr/volumes/nfs: 在集群创建期间删除类型参数 (pr#41005, Michael Fritch)
mon,doc: 弃用 min_compat_client (pr#41468, Patrick Donnelly)
mon/MonClient: reset authenticate_err in _reopen_session() (pr#41019, Ilya Dryomov)
mon/MonClient: tolerate a rotating key that is slightly out of date (pr#41450, Ilya Dryomov)
mon/OSDMonitor: drop stale failure_info after a grace period (pr#41090, Kefu Chai)
mon/OSDMonitor: drop stale failure_info even if can_mark_down() (pr#41982, Kefu Chai)
mon: load stashed map before mkfs monmap (pr#41768, Dan van der Ster)
nfs 回滚 May (pr#41389, Varsha Rao)
os/FileStore: fix to handle readdir error correctly (pr#41236, Misono Tomohiro)
os/bluestore: fix unexpected ENOSPC in Avl/Hybrid allocators (pr#41655, Igor Fedotov, Neha Ojha)
os/bluestore: 引入 bluestore 的多线程同步修复器 (pr#41752, Igor Fedotov)
os/bluestore: tolerate zero length for allocators’ init_[add/rm]_free() (pr#41753, Igor Fedotov)
osd/PG.cc: handle removal of pgmeta object (pr#41680, Neha Ojha)
osd/osd_type: 在适当的情况下使用 f->dump_unsigned() (pr#42045, Kefu Chai)
osd/scrub: 用测试替换 a ceph_assert() (pr#41944, Ronen Friedman)
osd: 在 OSD 和 mclock 调度器初始化期间覆盖恢复、回填和睡眠相关配置选项 (pr#41125(Sridhar Seshasayee, Zac Dover)
osd: 清除数据摘要当 write_trunc (pr#42019, Zengran Zhang)
osd: compute OSD’s space usage ratio via raw space utilization (pr#41113, Igor Fedotov)
osd: 不要在飞行中的回填始终在恢复列表中断言 (pr#41320, Mykola Golub)
osd: 修复擦除重调度错误 (pr#41971, wencong wan)
pacific: 客户端: 在 MDS 块列表后中止 (issue#50530, pr#42070, Venky Shankar)
pybind/ceph_volume_client: 使用 cephfs mkdirs api (pr#42159, Patrick Donnelly)
pybind/mgr/devicehealth: 刮擦健康指标命令意外重命名为刮擦守护程序健康指标 (pr#41089, Patrick Donnelly)
pybind/mgr/progress: 忽略未报告的 pgs (pr#41872, Kamoltat)
pybind/mgr/snap_schedule: 无效命令:意外的参数 ‘fs=cephfs’ (pr#42064, Patrick Donnelly)
qa/config/rados: 添加调度延迟测试参数 (pr#41136, Deepika Upadhyay)
qa/distros/podman: 保留 registries.conf (pr#40729, Sage Weil)
qa/suites/rados/standalone: 删除 mon_election 符号链接 (pr#41212, Neha Ojha)
qa/suites/rados: 向 thrasher 添加同时进行的擦除 (pr#42120, Ronen Friedman)
qa/tasks/qemu: precise repos have been archived (pr#41643, Ilya Dryomov)
qa/tests: 修正点版本以反映最新发布 (pr#41313, Yuri Weinstein)
qa/tests: pacific-p2p 套件初始检查 (2) (pr#41208, Yuri Weinstein)
qa/tests: 用 ubuntu 20.04 替换 ubuntu_latest.yaml (pr#41460, Patrick Donnelly, Kefu Chai)
qa/upgrade: 条件禁用 update_features 测试 (pr#41629, Deepika)
qa/workunits/rbd: 使用 focal 的 bionic 版本 qemu-iotests (pr#41195, Ilya Dryomov)
qa: AttributeError: ‘RemoteProcess’ 对象没有 ‘split’ 属性 (pr#41811, Patrick Donnelly)
qa: 添加异步 dirops 测试 (pr#41823, Patrick Donnelly)
qa: 在 ctx 中检查挂载属性 (pr#40634, Jos Collin)
qa: 将一些遗留的 Filesystem.rados 调用转换为 (pr#40996, Patrick Donnelly)
qa: 从 fs 套件中删除 distro~HEAD 目录 (pr#41169, Radoslaw Zarzynski)
qa: fs:bugs 没有指定 distro (pr#42063, Patrick Donnelly)
qa: fs:upgrade 使用 teuthology 默认 distro (pr#42067, Patrick Donnelly)
qa: 擦除代码不将 scrubopts 与逗号连接 (pr#42065, Kefu Chai, Patrick Donnelly)
qa: test_data_scan.TestDataScan.test_pg_files AssertionError: 第二组中的项目但不在第一组中 (pr#42069, Xiubo Li)
qa: test_ephemeral_pin_distribution 失败 (pr#41659, Patrick Donnelly)
qa: 更新 RHEL 到 8.4 (pr#41822, Patrick Donnelly)
rbd-mirror: 修复快照重放器关闭时的段错误 (pr#41503, Arthur Outhenin-Chalandre)
rbd: --source-spec-file 应该是 --source-spec-path (pr#41122, Ilya Dryomov)
rbd: 不要尝试解释图像缓存状态 json (pr#41281, Ilya Dryomov)
rgw: 简化日志片段探测并在 omap 的一侧出错 (pr#41576, Adam C. Emerson)
rgw: 完成多部分上传后留下删除标记 (pr#41769, J. Eric Ivancich)
rgw: 向包含策略的桶的多部分上传时崩溃 (pr#41893, Or Friedmann)
rgw: radosgw_admin 删除桶不会清除超过 1,000 个对象 (pr#41863, J. Eric Ivancich)
rgw: radoslist incomplete multipart parts marker (pr#40819, J. Eric Ivancich)
rocksdb: 拾取检测 PMULL 指令的修复 (pr#41079, Kefu Chai)
会话转储包括 completed_requests 两次,一次作为整数,一次作为列表 (pr#42057, Dan van der Ster)
systemd: 删除ProtectClock=trueforceph-osd@.service (pr#41232, Wong Hoi Sing Edison)
test/librbd: 使用真正无效的域 (pr#42010, Mykola Golub)
win32*.sh: 在针对 Windows 时禁用 libcephsqlite (pr#40557, Lucian Petrut)
v16.2.4 Pacific
这是一个修复了若干安全问题和回归问题的热修复版本。我们建议所有用户更新到此版本。
更改日志
mgr/dashboard: 修复 base-href:恢复到之前的方法 (issue#50684, Avan Thakkar)
mgr/dashboard: 修复 cookie 注入问题 (CVE-2021-3509: 通过 token cookie 在 Dashboard 中进行跨站脚本攻击, Ernesto Puerta)
mgr/dashboard: 修复 set-ssl-certificate{,-key} 命令 (issue#50519, Alfonso Martínez)
rgw: RGWSwiftWebsiteHandler::is_web_dir 检查空 subdir_name (CVE-2021-3531: Swift API 服务拒绝服务, Felix Huettner)
rgw: 在 s3 CORSConfiguration 的 ExposeHeader 中清理 r (CVE-2021-3524: 通过 CORS 在 RGW 中注入 HTTP 头部, Sergey Bobrov, Casey Bodley)
systemd: 删除 ProtectClock=true for ceph-osd@.service (issue#50347, Wong Hoi Sing Edison)
v16.2.3 Pacific
这是太平洋系列的第三次回滚发布。我们建议所有用户
值得注意的变化
此发布修复了 cephadm 升级错误,该错误导致某些系统卡在重新启动第一个 mgr 守护程序的环境中。
v16.2.2 Pacific
这是太平洋系列的第二次回滚发布。我们建议所有
值得注意的变化
Cephadm 现在支持一种ingress服务类型,它为 RGW 服务(通过虚拟 IP 上的 haproxy 和 keepalived)提供负载RGW 的高可用性服务 )。 (实验性). (The experimental rgw-ha服务已被删除。)
更改日志
ceph-fuse: src/include/buffer.h: 1187: 失败 ceph_assert(_num <= 1024) (pr#40628, Yanhu Cao)
ceph-volume: 修复 “device” 输出 (pr#41054, Sébastien Han)
ceph-volume: 在从不同集群查找 OSD 时修复原始列表 (pr#40985, Sébastien Han)
ceph.spec.in: 在 IBM Power 和 Z 上启用 tcmalloc (pr#39488, Nathan Cutler, Yaakov Selkowitz)
cephadm april 批次 3 (issue#49737, pr#40922, Adam King, Sage Weil, Daniel Pivonka, Shreyaa Sharma, Sebastian Wagner, Juan Miguel Olmo Martínez, Zac Dover, Jeff Layton, Guillaume Abrioux, 胡玮文, Melissa Li, Nathan Cutler, Yaakov Selkowitz)
cephadm: april 批次 1 (pr#40544, Sage Weil, Daniel Pivonka, Joao Eduardo Luis, Adam King)
cephadm: april 批次回滚 2 (pr#40746, Guillaume Abrioux, Sage Weil, Paul Cuzner)
cephadm: 在引导的主机添加时指定 addr (pr#40554, Joao Eduardo Luis)
cephfs: ceph-dokan 的轻微改进 (pr#40627, Lucian Petrut)
客户端: 缓存中固定项目防止卸载 (pr#40629, Xiubo Li)
客户端: 仅对常规文件检查池权限 (pr#40686, Xiubo Li)
cmake: 定义全局 BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT (pr#40706, Kefu Chai)
cmake: 将未解析的参数传递给 add_ceph_test() (pr#40523, Kefu Chai)
cmake: 使用 --smp 1 --memory 256M 进行 crimson 测试 (pr#40568, Kefu Chai)
crush/CrushLocation: 构造函数中不要打印日志消息 (pr#40679, Alex Wu)
doc/cephfs/nfs: 向 FSAL 块添加用户 ID、fs 名称和密钥 (pr#40687, Varsha Rao)
include/librados: 修复文档构建的 doxygen 语法 (pr#40805, Josh Durgin)
mds: “集群 [WRN] 在 inode 0x1000000039d (/client.0/tmp/blogbench-1.0/src/blogtest_in) 上擦除错误,请查看 mds.a 日志和损坏 ls输出以获取详细信息” (pr#40825, Milind Changire)
mds: 在 UnknownPayload::decode() 中跳过缓冲区 (pr#40682, Xiubo Li)
mgr/PyModule: put mgr_module_path before Py_GetPath() (pr#40517, Kefu Chai)
mgr/dashboard: 设备健康状态未列在主机部分 (pr#40494, Aashish Sharma)
mgr/dashboard: Fix for alert notification message being undefined (pr#40588, Nizamudeen A)
mgr/dashboard: 修复损坏的用户管理角色克隆 (pr#40398, Nizamudeen A)
mgr/dashboard: 改进仪表板某些部分的描述 (pr#40545, Nizamudeen A)
mgr/dashboard: 从请求正文中删除用户名和密码 (pr#40981, Nizamudeen A)
mgr/dashboard: Remove username, password fields from Manager Modules/dashboard,influx (pr#40489, Aashish Sharma)
mgr/dashboard: Revoke read-only user’s access to Manager modules (pr#40648, Nizamudeen A)
mgr/dashboard: 无法登录到 ceph 仪表板,直到手动清除 cookies (pr#40586, Avan Thakkar)
mgr/dashboard: debug nodeenv hangs (pr#40815, Ernesto Puerta)
mgr/dashboard: filesystem pool size should use stored stat (pr#40980, Avan Thakkar)
mgr/dashboard: 修复损坏的功能切换 (pr#40474, Ernesto Puerta)
mgr/dashboard: 创建 NFS 导出时出现重复行 (pr#40990, Alfonso Martínez)
mgr/dashboard: 创建 NFS 导出时出现错误 (pr#40822, Alfonso Martínez)
mgr/dashboard: 改进遥测选择提醒通知消息 (pr#40887, Waad Alkhoury)
mgr/dashboard: test prometheus rules through promtool (pr#40929, Aashish Sharma, Kefu Chai)
mon: Modifying trim logic to change paxos_service_trim_max dynamically (pr#40691, Aishwarya Mathuria)
monmaptool: Don’t call set_port on an invalid address (pr#40690, Brad Hubbard, Kefu Chai)
os/FileStore: don’t propagate split/merge error to “create”/”remove” (pr#40989, Mykola Golub)
os/bluestore/BlueFS: do not _flush_range deleted files (pr#40677, weixinwei)
osd/PeeringState: fix acting_set_writeable min_size check (pr#40759, Samuel Just)
打包:要求 ceph-common 用于不可变对象缓存守护程序 (pr#40665, Ilya Dryomov)
pybind/mgr/volumes: deadlock on async job hangs finisher thread (pr#40630, Kefu Chai, Patrick Donnelly)
qa/suites/krbd: 不要要求 CEPHX_V2 用于 unmap 子套件 (pr#40826, Ilya Dryomov)
qa/suites/rados/cephadm: 停止在损坏的 focal kubic podman 上测试 (pr#40512, Sage Weil)
qa/tasks/ceph.conf: 缩短 cephx TTL 用于测试 (pr#40663, Sage Weil)
qa/tasks/cephfs: 创建足够的子卷 (pr#40688, Ramana Raja)
qa/tasks/vstart_runner.py: start max required mgrs (pr#40612, Alfonso Martínez)
qa/tasks: 在启动擦除之前添加 wait_for_clean() 检查 (pr#40461, Sridhar Seshasayee)
qa: “AttributeError: ‘NoneType’ 对象没有 ‘mon_manager’ 属性” (pr#40645, Rishabh Dave)
qa: “log [ERR] : 读取会话映射 ‘mds2_sessionmap’ 时出错” (pr#40852, Patrick Donnelly)
qa: 修复 ino_release_cb 存在竞争行为 (pr#40683, Patrick Donnelly)
qa: fs:cephadm 挂载不会等待 mds 创建 (pr#40528, Patrick Donnelly)
qa: 在工作负载中测试 standby_replay (pr#40853, Patrick Donnelly)
rbd-mirror: 修复注册性能计数器时的 UB (pr#40680, Arthur Outhenin-Chalandre)
rgw: 向操作的请求摘要添加延迟 (pr#40448, Ali Maredia)
rgw: 将 datalog 改进回滚到太平洋 (pr#40559, Yuval Lifshitz, Adam C. Emerson)
测试:禁用 mgr/mirroring fortest_mirroring_init_failure_with_recovery测试 (issue#50020, pr#40684, Venky Shankar)
tools/cephfs_mirror/PeerReplayer.cc: 添加缺失的 include (pr#40678, Duncan Bellamy)
vstart.sh: 禁用“auth_allow_insecure_global_id_reclaim” (pr#40957, Kefu Chai)
v16.2.1 Pacific
这是太平洋稳定系列中的第一个错误修复发布。它解决了 Ceph 身份验证框架中的安全漏洞。
我们建议所有太平洋用户升级。
Security fixes
此版本包含一个安全修复,确保全局_id 值(一个应该对集群中每个经过身份验证的客户端或守护程序都是唯一的数值)在网络断开连接或票证更新时以安全的方式被回收。在升级期间可能会出现两个新的健康警报,指示有客户端或守护程序尚未应用适当的修复。
为了在升级期间暂时静音不安全客户端周围的健康警报,您可能想要:
ceph health mute AUTH_INSECURE_GLOBAL_ID_RECLAIM 1h ceph health mute AUTH_INSECURE_GLOBAL_ID_RECLAIM_ALLOWED 1h
更多信息,请参阅CVE-2021-20288: cephx 中未经授权的全局_id 重用.
v16.2.0 Pacific
这是 Ceph Pacific 的第一个稳定发布。
与 Octopus 的主要变化
General
Cephadm 可以使用单个命令自动将 Octopus 集群升级到 Pacific 以启动该过程。
在过去的一年中,Cephadm 已显着改进,支持 RGW(独立和多点),并支持 NFS 和 iSCSI。这些更改中的大多数已经回滚到最近的 Octopus 点发布,但在太平洋发布中,我们将切换到仅回滚错误修复。
软件包为以下分发构建:
CentOS 8
Ubuntu 20.04 (Focal)
Ubuntu 18.04 (Bionic)
Debian Buster
容器镜像(基于 CentOS 8)
除了 Debian Buster 之外,软件包和容器为 x86_64 和 aarch64 (arm64) 架构构建。
注意,cephadm 集群可以在许多其他分发上工作,前提是管理容器需要 Python 3 和 Docker 或 Podman 的最新版本。更多信息,请参阅要求.
仪表板
The Ceph 仪表板在以下管理领域带来了改进:
Orchestrator/Cephadm:
主机管理:维护模式,标签。
服务:显示放置规范。
OSD:磁盘替换,显示正在删除的正在进行状态,并改进了健康/SMART 诊断报告。
-
OpenAPI v3 合规。
从太平洋发布开始提供稳定性承诺。
通过 HTTP 版本
Accept
标头(从 v1.0 开始)。彻底测试 (>90% 覆盖率和每个拉取请求的验证)。
完全文档化。
RGW:
多站点同步监控。
管理多个 RGW 守护程序及其资源(桶和用户)。
桶和用户配额使用可视化。
改进 S3 租户用户的配置。
安全性(多项增强和修复,由 IBM 进行的渗透测试导致):
在配置数量的失败登录尝试后锁定帐户。
改进了 cookie 政策以减轻 XSS/CSRF 攻击。
审查并改进了 HTTP 标头中的安全性。
审查并从日志和错误消息中删除敏感信息。
禁用 TLS 1.0 和 1.1 支持。
启用调试模式时触发 HEALTH_WARN。
池:
改进了复制和纠删码模式的可视化。
支持 Clay 纠删码插件。
警报和通知:
在集群网络中的 MTU 不匹配时触发警报。
图标根据集群状态更改。
其他:
登录页面:改进图表和可视化。
遥测配置向导。
OSDs: 管理单个 OSD 标志。
RBD: 每个RBD 图像 Grafana 仪表板。
CephFS: 显示目录和权限。
NFS: 仅支持 v4(计划向后兼容 v3)。
前端:Angular 10 更新。
RADOS
太平洋引入RocksDB 分片,这减少了磁盘空间需求。
Ceph 现在通过 mclock 调度程序在客户端 I/O 和后台操作之间提供 QoS。
平衡器现在在上map 模式下默认开启,以提高 OSD 之间 PG 的分布。
的输出
ceph -s
已经改进,以在一个进度条中显示恢复进度。更详细的进度条可通过ceph progress
command.
RBD block storage
图像活迁移功能已扩展以支持外部数据源。图像现在可以从本地文件、通过 HTTP(S) 提供的远程文件或远程 S3 桶即时导入
raw
(rbd export v1
)qcow
和qcow2
格式。预期未来版本将支持rbd export v2
格式、高级 QCOW 功能和rbd export-diff
快照差异添加了对客户端端加密的初始支持。这是基于 LUKS,未来版本将允许使用每个图像加密密钥,同时保持快照和克隆功能——以便父图像和可能多个克隆图像可以使用不同的密钥进行加密。
一个新的持久写回缓存可用。缓存以日志结构方式运行,为底层图像提供完整的点时间一致性。它特别适用于 PMEM 设备。
现在有一个 Windows 客户端可用,形式为
librbd.dll
和rbd-wnbd
(Windows 网络块设备) 守护程序。它允许映射、解除映射和操作图像,类似于rbd-nbd
.librbd API 现在提供暂停/恢复钩子,允许协调快照创建。
RGW object storage
添加了对 S3 Select 的初始支持。有关支持的查询,请参阅功能支持。
桶通知主题可以配置为
persistent
,其中事件记录在 rados 中以进行可靠交付。桶通知可以发送到 SSL 启用的 AMQP 端点。
Lua 脚本可以在请求期间运行并访问其元数据。
SSE-KMS 现在支持 KMIP 作为密钥管理服务。
多站点数据日志现在可以部署在
cls_fifo
以避免大型 omap 集群警告并使其修剪更便宜。见rgw_data_log_backing
.
CephFS distributed file system
CephFS MDS 修改 RADOS 元数据,因此新格式不再向后兼容。无法将文件系统从太平洋(或更高版本)降级到较旧的版本。
单个 Ceph 集群中的多个文件系统现在稳定。新的 Ceph 集群默认启用对多个文件系统的支持。现有集群仍需在 FS 上设置 “enable_multiple” 标志。另见多个 Ceph 文件系统.
一个新的
mds_autoscaler
ceph-mgr
插件可用于自动部署 MDS 守护程序以响应max_mds
配置更改。预计未来将进行进一步改进以简化和自动化 MDS 扩展。cephfs-top
是一个新实用程序,用于查看 CephFS 客户端的性能指标。它是开发预览质量的,可能会有错误。更多信息,请参阅CephFS Top Utility.一个新的
snap_schedule
ceph-mgr
插件提供一组命令工具集,用于在 CephFS 文件系统上安排快照。更多信息,请参阅快照调度模块.Ceph 中的一流 NFS 网关支持现已可用!现在可以通过几个命令创建可扩展的(“活动-活动”)NFS 网关集群,这些集群使用 CephFS 进行导出。网关通过 cephadm(或 Rook,未来)部署。CephFS 和 RGW 导出 over NFS.
多个活动 MDS 文件系统擦除现在稳定。不再需要设置
max_mds
为 1 并等待非零等级停止。擦除命令只能发送到等级 0:ceph tell mds.<fs_name>:0 scrub start /path ...
。Ceph 文件系统擦除.暂时固定——基于策略的子树固定——现在被认为是稳定的。
mds_export_ephemeral_random
和mds_export_ephemeral_distributed
现在默认为 true。更多信息,请参阅设置子树分区策略.一个新的
cephfs-mirror
守护程序可用,用于将 CephFS 文件系统镜像到CephFS 快照镜像.现在有一个 Windows 客户端可用于连接到 CephFS。这是通过一个新的
ceph-dokan
实用程序提供的,它通过 Dokan 用户空间 API 运行,类似于 FUSE。更多信息,请参阅在 Windows 上挂载 CephFS.
从 Octopus 或 Nautilus 升级
在开始之前,请确保您的集群稳定且健康(没有下或恢复的 OSD)。 (这是可选的,但建议。)警告:请不要将
Note
WARNING: Please do not set bluestore_fsck_quick_fix_on_mount设置为 true 或在太平洋版本 <= 16.2.6 中运行ceph-bluestore-tool修复或快速修复命令,因为这在太平洋版本中可能导致数据损坏,详细信息在https://tracker.ceph.com/issues/53062.
Note
在使用多个活动 Ceph 元数据服务器时,确保没有挂起的流浪条目,这些流浪条目是活动等级(除等级 0 外)的目录作为启动升级(这将设置max_mds为 1)可能会崩溃 Ceph 元数据服务器。以下命令应返回所有流浪目录的零(0)流浪条目:
# for idx in {0..9}; do ceph tell mds.<rank> dump tree ~mdsdir/stray$idx| jq '.[] | select (.nlink == 0 and .dir_layout.dir_hash > 0) | .stray_prior_path' | wc -l; done
确保除等级 320141: 如果您的集群正在运行 Octopus (15.2.x),您可以选择首先将其转换为使用 cephadm 以便自动执行太平洋升级(如上所述)。更多信息,请参阅http://tracker.ceph.com/issues/53597.
Upgrading cephadm clusters
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
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.
Upgrading non-cephadm clusters
Note
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). For more information, see Converting an existing cluster to cephadm.
Set the
noout
flag for the duration of the upgrade. (Optional,# ceph osd set noout
Upgrade monitors by installing the new packages and restarting the
# systemctl restart ceph-mon.target
Once all monitors are up, verify that the monitor upgrade is
octopus
string in the mon# ceph mon dump | grep min_mon_release
should report:
min_mon_release 16 (pacific)
If it doesn't, that implies that one or more monitors hasn’t been
Upgrade
ceph-mgr
daemons by installing the new packages and# systemctl restart ceph-mgr.target
Verify the
ceph-mgr
daemons are running by checkingceph -s
:# ceph -s ... services: mon: 3 daemons, quorum foo,bar,baz mgr: foo(active), standbys: bar, baz ...
Upgrade all OSDs by installing the new packages and restarting the
# systemctl restart ceph-osd.target
注意:如果您从 Nautilus 升级,则第一次每个 OSD 启动时,它将执行格式转换以改进 “omap” 数据的帐户。这可能需要几分钟到几个小时(对于具有大量 omap 数据的 HDD)。您可以通过以下方式禁用此自动转换:
# ceph config set osd bluestore_fsck_quick_fix_on_mount false
你可以使用
ceph versions
或ceph osd versions
命令监控 OSD 升级的进度:# ceph osd versions { "ceph version 14.2.5 (...) nautilus (stable)": 12, "ceph version 16.2.0 (...) pacific (stable)": 22, }
Upgrade all CephFS MDS daemons. For each CephFS file system,
禁用 FSMap 健康检查:
# ceph config set mon mon_mds_skip_sanity true
Disable standby_replay:
# ceph fs set <fs_name> allow_standby_replay false
Reduce the number of ranks to 1. (Make note of the original
# ceph status # ceph fs set <fs_name> max_mds 1
Wait for the cluster to deactivate any non-zero ranks by
# ceph status
Take all standby MDS daemons offline on the appropriate hosts with:
# systemctl stop ceph-mds@<daemon_name>
Confirm that only one MDS is online and is rank 0 for your FS:
# ceph status
Upgrade the last remaining MDS daemon by installing the new
# systemctl restart ceph-mds.target
Restart all standby MDS daemons that were taken offline:
# systemctl start ceph-mds.target
Restore the original value of
max_mds
for the volume:# ceph fs set <fs_name> max_mds <original_max_mds>
删除mon_mds_skip_sanity设置:
# ceph config rm mon mon_mds_skip_sanity
Upgrade all radosgw daemons by upgrading packages and restarting
# systemctl restart ceph-radosgw.target
通过禁止太平洋之前的 OSD 并启用所有新的太平洋独有功能来完成升级:
# ceph osd require-osd-release pacific
If you set
noout
at the beginning, be sure to clear it with:# ceph osd unset noout
Consider transitioning your cluster to use the cephadm deploymentConverting an existing cluster to cephadm.
Post-upgrade
Verify the cluster is healthy with
ceph health
.如果你的 CRUSH 调整值比 Hammer 更旧,Ceph 现在会发出健康警告。如果你看到相应的健康警报,你可以使用以下命令还原此更改:
ceph config set mon mon_crush_min_required_version firefly
然而,如果 Ceph 没有抱怨,那么我们建议你也将任何现有的 CRUSH 桶切换到 straw2,它在 Hammer 发布中再次添加。如果你有任何“straw”桶,这将导致适度的数据移动,但通常不会太严重。:
ceph osd getcrushmap -o backup-crushmap ceph osd crush set-all-straw-buckets-to-straw2
如果有问题,你可以轻松地还原:
ceph osd setcrushmap -i backup-crushmap
移动到“straw2”桶将解锁一些最近的功能,比如crush-compat balancer模式在 Luminous 中再次添加。
如果您在从 Mimic 升级时没有这样做,我们建议您启用新的v2 网络协议,然后发出以下命令:
ceph mon enable-msgr2
这将指示所有绑定到旧默认端口
ceph mon dump
and verify that each monitor has both a
v2:
和v1:
addressConsider enabling the telemetry moduleto send
ceph mgr module enable telemetry ceph telemetry show
如果您对报告的数据感到满意,您可以选择自动报告高级集群元数据,使用:
ceph telemetry on
The public dashboard that aggregates Ceph telemetry can be found at https://telemetry-public.ceph.com/.
有关遥测模块的更多信息,请参阅文档.
从预 Nautilus 发布(如 Mimic 或 Luminous)升级
您必须首先升级到 Nautilus (14.2.z) 或 Octopus (15.2.z) 才能升级到太平洋。
值得注意的变化
一个新的库可用,libcephsqlite。它提供了一个 SQLite 虚拟文件系统 (VFS) 在 RADOS 之上。数据库和日记跨多个对象在 RADOS 上条带化,以实现几乎无限的扩展性和吞吐量,仅受 SQLite 客户端的限制。使用 SQLite 的应用程序可以更改到 Ceph VFS,通常只需通过指定备用 VFS。我们预计该库对存储状态在 RADOS omap 中的应用程序影响最大且最有用,尤其是没有条带化,这限制了可扩展性。
New
bluestore_rocksdb_options_annex
config 参数。补充bluestore_rocksdb_options
并允许设置 rocksdb 选项而无需重复现有的默认值。$pid 扩展名在像
admin_socket
这样的配置路径中现在将正确扩展ceph-mds
或ceph-osd
这样的命令。以前,只有ceph-fuse
/rbd-nbd
扩展$pid
使用实际的守护程序 pid。某些命令的可接受选项已更改。
radosgw-admin
commands have been changed.mdlog-list
,datalog-list
,sync-error-list
no longer acceptsmdlog-trim
,datalog-trim
,sync-error-trim
only accept a类似地,日期范围和标记范围已从 RESTful DATALog 和 MDLog 列表和修剪操作中删除。
ceph-volume: The
lvm batch
子命令收到重大重写。这关闭了若干错误并提高了在大小指定和计算、以及 idempotency 行为和磁盘替换过程中的可用性。https://docs.ceph.com/en/latest/ceph-volume/lvm/batch/以获取更详细的信息。允许的擦除时间的配置变量已更改。允许的
osd_scrub_begin_hour
和osd_scrub_end_hour
值为 0 - 23。0
for both values causes every hour to be allowed. The legal values forosd_scrub_begin_week_day
和osd_scrub_end_week_day
值为 0 - 6。使用 7 现在非法。指定0
对于这两个值会导致每天都允许。volume/nfs: 最近从集群 ID 和 nfs-ganesha 常见配置对象中删除了 “ganesha-” 前缀,以确保跨不同的编排后端保持一致的命名空间。请在升级前删除任何现有的 nfs-ganesha 集群,并在升级到太平洋后重新部署新集群。
一个新的健康检查,DAEMON_OLD_VERSION,如果守护程序上运行不同版本的 Ceph,则发出警告。如果检测到多个版本,则生成健康错误。此条件必须存在超过 mon_warn_older_version_delay(默认设置为 1 周)才能触发健康条件。这允许大多数升级继续进行而不会错误地看到警告。如果升级因长时间暂停而暂停,可以使用类似这样的健康静音:“ceph health mute DAEMON_OLD_VERSION --sticky”。在这种情况下,升级完成后使用“ceph health unmute DAEMON_OLD_VERSION”。
MGR: 进度模块现在可以使用命令:
ceph progress on
和ceph progress off
.一个 AWS 合规 API:添加了 “GetTopicAttributes” 以替换现有的 “GetTopic” API。应使用此 API 来获取有关用于桶通知的主题的信息。
librbd: 共享的、只读父缓存的配置选项
immutable_object_cache_watermark
现在已更新为反映在回收空间之前的上缓存利用率。默认immutable_object_cache_watermark
现在是0.9
。如果容量达到 90%,守护程序将删除冷缓存。OSD:引入了
osd_fast_shutdown_notify_mon
选项,允许 OSD 在osd_fast_shutdown
启用的情况下通知监控器它正在关闭。这有助于监控器在较大集群上的日志记录,这些日志记录可能收到许多“osd.X 立即由 osd.Y 报告失败”的消息,并使工具混淆。mclock 调度程序已得到改进。现在提供一组内置配置文件,它们在 Ceph 的内部和外部客户端之间提供 QoS。要启用 mclock 调度程序,请将 config 选项 “osd_op_queue” 设置为 “mclock_scheduler”。默认情况下,启用了 “high_client_ops” 配置文件,它比内部客户端操作(如后台恢复和擦除)分配更多的 OSD 带宽给外部客户端操作。其他内置配置文件包括 “high_recovery_ops” 和 “balanced”。这些内置配置文件优化了 mclock 调度程序提供给客户端的 QoS。
平衡器现在在上map 模式下默认开启。由于 upmap 模式需要
require_min_compat_client
luminous,新集群默认仅支持 luminous 和更新版本客户端。现有集群可以通过运行ceph osd set-require-min-compat-client luminous
启用 upmap 支持。仍然可以使用ceph balancer off
命令关闭平衡器。在早期版本中,平衡器包含在always_on_modules
列表中,但需要使用ceph balancer on
command.明确使用 cephx 身份验证协议的版本 2 (
CEPHX_V2
功能位) 现在默认要求。它于 2018 年引入,为授权者添加了重放攻击保护并使 msgr v1 消息签名更强 (CVE-2018-1128 和 CVE-2018-1129)。支持存在于 Jewel 10.2.11、Luminous 12.2.6、Mimic 13.2.1、Nautilus 14.2.0 及以后的版本;上游内核cephx_require_version
和cephx_service_require_version
config 选项为 1。黑名单 has been replaced with 已在整个文档中替换为黑名单已替换为 blocklist 全文。以下命令已更改:
ceph osd blacklist ...
are nowceph osd blocklist ...
ceph <tell|daemon> osd.<NNN> dump_blacklist
is nowceph <tell|daemon> osd.<NNN> dump_blocklist
The following config options have changed:
mon osd blacklist default expire
is nowmon osd blocklist default expire
mon mds blacklist interval
is nowmon mds blocklist interval
mon mgr blacklist interval
is now ‘’mon mgr blocklist interval``116c27: is nowrbd blacklist on break lock
is nowrbd blocklist on break lock
rbd blacklist expire seconds
is nowrbd blocklist expire seconds
mds session blacklist on timeout
is nowmds session blocklist on timeout
mds session blacklist on evict
is nowmds session blocklist on evict
以下 librados API 调用已更改:
rados_blacklist_add
is nowrados_blocklist_add
; 前者将发出弃用警告并在未来版本中删除。rados.blacklist_add
is nowrados.blocklist_add
在 C++ API 中。
以下命令的 JSON 输出现在显示
blocklist
instead ofblacklist
:ceph osd dump
ceph <tell|daemon> osd.<N> dump_blocklist
监控器现在有一个 config 选项
mon_allow_pool_size_one
,默认情况下禁用。但是,如果启用,用户现在必须将--yes-i-really-mean-it
标志传递给osd pool set size 1
,如果他们确实确定要配置池大小为 1。ceph pg #.# list_unfound
输出已增强以提供OSD: 添加了一个新的配置选项
osd_compact_on_start
在启动时触发 OSD 压缩 (true
并重启 OSD 将导致在启动之前 OSD 离线压缩。OSD: 已删除名为
bdev_nvme_retry_count
的选项。由于在 SPDK v20.07 中无法轻松访问 bdev_nvme 选项,并且此选项很少使用,因此已将其删除。Alpine 构建相关的脚本、文档和测试已删除,因为 Ceph 最新的 APKBUILD 脚本已经包含在 Alpine Linux 的 aports 仓库中。
由 Ceph 基金会带给您
Ceph 文档是一个社区资源,由非盈利的 Ceph 基金会资助和托管Ceph Foundation. 如果您想支持这一点和我们的其他工作,请考虑加入现在加入.