v16.2.13 Pacific 发布
这是 Pacific 系列中的第十三个反向移植版本。
重要变更 ¶
CEPHFS: 将
mds_max_retries_on_remount_failure选项重命名为client_max_retries_on_remount_failure并将其从 mds.yaml.in 移动到 mds-client.yaml.in,因为此选项从诞生起就只被 MDS 客户端使用。ceph mgr dump命令现在在顶层输出last_failure_osd_epoch和active_clients字段。以前,这些字段是在always_on_modules字段下输出的。
变更日志 ¶
反向移植 PR #39607 (pr#51344, Rishabh Dave)
ceph-crash: 降权以 "ceph" 用户而不是 root 身份运行 (CVE-2022-3650) (pr#48804, Tim Serong, Guillaume Abrioux)
ceph-mixing: 修复 ceph_hosts 变量 (pr#48933, Tatjana Dehler)
ceph-volume/tests: 添加 allowlist_externals 到 tox.ini (pr#49789, Guillaume Abrioux)
ceph-volume: 不要在 util.lsblk 中引发 RuntimeError (pr#50145, Guillaume Abrioux)
ceph-volume: 修复 get_all_devices_vgs() 中的一个错误 (pr#49454, Guillaume Abrioux)
ceph-volume: 修复 lsblk_all() 中的一个错误 (pr#49869, Guillaume Abrioux)
ceph-volume: 修复当每个 VG 有多个 PV 时快速设备分配的问题 (pr#50878, Cory Snyder)
ceph-volume: 修复 activate 中的回归问题 (pr#49972, Guillaume Abrioux)
ceph-volume: 当设备是 'tmpfs' 时 legacy_encrypted() 不应该调用 lsblk() (pr#50162, Guillaume Abrioux)
ceph-volume: 在部署 Ceph (pacific) 之前更新操作系统 (pr#50996, Guillaume Abrioux)
ceph.spec.in: 用常规版本检查替换 %usrmerged 宏 (pr#49830, Tim Serong)
ceph_fuse: 如果 test_dentry_handling 失败则重试 (pr#49944, Xiubo Li)
cephadm: 添加 poststop 动作并将 TimeoutStartSec 设置为 200s (pr#50514, Redouane Kachach)
cephadm: 不要覆盖集群 logrotate 文件 (pr#49927, Adam King)
cephadm: 为所有 ceph 守护程序设置 pids-limit unlimited (pr#50512, Adam King, Teoman ONAY)
cephfs-top: 添加排序功能和限制选项 (pr#49303, Neeraj Pratap Singh, Jos Collin)
cephfs-top: 删除 curses.A_ITALIC (pr#50029, Jos Collin)
cephfs-top: 处理用于排序的
METRIC_TYPE_NONE字段 (pr#50597, Neeraj Pratap Singh)cls/rgw: 取消最后一个竞争删除操作后删除索引条目 (pr#50243, Casey Bodley)
doc/ceph-volume: 修复 cephadm 引用 (pr#50116, Piotr Parczewski)
doc/ceph-volume: 完善 encryption.rst (pr#49793, Zac Dover)
doc/ceph-volume: 更新 LUKS 文档 (pr#49758, Zac Dover)
doc/cephadm/host-management: 添加服务 spec 链接 (pr#50255, thomas)
doc/cephadm/troubleshooting: 删除重复的词 (pr#50223, thomas)
doc/cephadm: install.rst 中的语法/句法 (pr#49949, Piotr Parczewski)
doc/cephadm: 整理 compatibility.rst (pr#50368, Anthony D'Atri)
doc/cephadm: 更新 cephadm 兼容性和稳定性页面 (pr#50337, Adam King)
doc/cephfs: 添加关于 CephFS 扩展属性和 getfattr 的说明 (pr#50069, Zac Dover)
doc/cephfs: 在 quota 文档中描述 conf opt "client quota df" (pr#50253, Rishabh Dave)
doc/cephfs: 改进 fs-volumes.rst (pr#50832, Anthony D'Atri)
doc/dev: 在 basic-wo 中的句子末尾添加句号 (pr#50401, Zac Dover)
doc/dev: 添加 git 分支管理命令 (pr#49739, Zac Dover)
doc/dev: 将 Slack 添加到 Dev Guide 要点 (pr#49875, Zac Dover)
doc/dev: 反向移植 49908 到 P (升级测试文档) (pr#49911, Zac Dover)
doc/dev: 格式化 cephfs-mirroring 中的命令 (pr#51109, Zac Dover)
doc/dev: 在配置变量中使用下划线 (pr#49893, Ville Ojamo)
doc/glossary: 将 "application" 添加到词汇表 (pr#50259, Zac Dover)
doc/glossary: 添加 "Bucket" (pr#50225, Zac Dover)
doc/glossary: 将 "client" 添加到词汇表 (pr#50263, Zac Dover)
doc/glossary: 添加 "Hybrid Storage" (pr#51098, Zac Dover)
doc/glossary: 将 "Period" 添加到词汇表 (pr#50156, Zac Dover)
doc/glossary: 添加 "Placement Groups" 定义 (pr#51186, Zac Dover)
doc/glossary: 将 "realm" 添加到词汇表 (pr#50135, Zac Dover)
doc/glossary: 添加 "Scrubbing" (pr#50703, Zac Dover)
doc/glossary: 添加 "User" (pr#50673, Zac Dover)
doc/glossary: 将 "zone" 添加到 glossary.rst (pr#50272, Zac Dover)
doc/glossary: 添加 AWS/OpenStack bucket 信息 (pr#50248, Zac Dover)
doc/glossary: 改进 "CephX" 条目 (pr#51065, Zac Dover)
doc/glossary: 链接到 CephX Config ref (pr#50709, Zac Dover)
doc/index: 从登陆页面删除 "uniquely" (pr#50478, Zac Dover)
doc/install: 链接到 "cephadm installing ceph" (pr#49782, Zac Dover)
doc/install: 完善 index.rst (pr#50436, Zac Dover)
doc/install: 更新 index.rst (pr#50433, Zac Dover)
doc/mgr/prometheus: 修复 confval 引用 (pr#51094, Piotr Parczewski)
doc/msgr2: 更新双栈状态 (pr#50801, Dan van der Ster)
doc/operations: 修复 bluestore-migration 中的提示 (pr#50663, Zac Dover)
doc/rados/config: 编辑 auth-config-ref (pr#50951, Zac Dover)
doc/rados/operations: 编辑 monitoring.rst (pr#51037, Zac Dover)
doc/rados/operations: 修复双重提示 (pr#49899, Ville Ojamo)
doc/rados/operations: 修复缩进 (pr#49896, Ville Ojamo)
doc/rados/operations: 修复 erasure-code.rst 中的错别字 (pr#50753, Sainithin Artham)
doc/rados/operations: 改进措辞、大小写和格式 (pr#50454, Anthony D'Atri)
doc/rados/ops: 添加 ceph-medic 文档 (pr#50854, Zac Dover)
doc/rados/ops: 在 mon-osd-pg.rst 中添加连字符 (pr#50961, Zac Dover)
doc/rados/ops: 编辑 health checks.rst (5 of x) (pr#50968, Zac Dover)
doc/rados/ops: 编辑 health-checks.rst (1 of x) (pr#50798, Zac Dover)
doc/rados/ops: 编辑 health-checks.rst (2 of x) (pr#50913, Zac Dover)
doc/rados/ops: 编辑 health-checks.rst (3 of x) (pr#50954, Zac Dover)
doc/rados/ops: 编辑 health-checks.rst (4 of x) (pr#50957, Zac Dover)
doc/rados/ops: 编辑 health-checks.rst (6 of x) (pr#50971, Zac Dover)
doc/rados/ops: 编辑 monitoring-osd-pg.rst (1 of x) (pr#50866, Zac Dover)
doc/rados/ops: 编辑 monitoring-osd-pg.rst (2 of x) (pr#50947, Zac Dover)
doc/rados/ops: 行编辑 operating.rst (pr#50935, Zac Dover)
doc/rados/ops: 从 monitoring 中删除 ceph-medic (pr#51089, Zac Dover)
doc/rados: 添加 ops/health-checks.rst 的链接 (pr#50763, Zac Dover)
doc/rados: 清理 ops/bluestore-migration.rst (pr#50679, Zac Dover)
doc/rados: 编辑 operations/bs-migration (1 of x) (pr#50588, Zac Dover)
doc/rados: 编辑 operations/bs-migration (2 of x) (pr#50591, Zac Dover)
doc/rados: 编辑 ops/monitoring.rst (1 of 3) (pr#50824, Zac Dover)
doc/rados: 编辑 ops/monitoring.rst (2 of 3) (pr#50850, Zac Dover)
doc/rados: 编辑 user-management.rst (1 of x) (pr#50642, Zac Dover)
doc/rados: 行编辑 mon-lookup-dns 顶部内容 (pr#50583, Zac Dover)
doc/rados: 行编辑 common.rst (pr#50944, Zac Dover)
doc/rados: 行编辑 erasure-code.rst (pr#50620, Zac Dover)
doc/rados: 行编辑 pg-repair.rst (pr#50804, Zac Dover)
doc/rados: 行编辑 upmap.rst (pr#50567, Zac Dover)
doc/rados: 完善 ceph-conf.rst (pr#49833, Zac Dover)
doc/rados: 完善 pool-pg-config-ref.rst (pr#49822, Zac Dover)
doc/rados: 更新 OSD_BACKFILLFULL 描述 (pr#50219, Ponnuvel Palaniyappan)
doc/radosgw: 格式化警告 (pr#50357, Zac Dover)
doc/radosgw: 格式化 s3select 的一部分 (pr#51118, Cole Mitchell)
doc/radosgw: 格式化 s3select 的一部分 (pr#51106, Cole Mitchell)
doc/radosgw: multisite - 编辑 "functional changes" (pr#50278, Zac Dover)
doc/radosgw: 完善 multisite.rst 中的 "Maintenance" (pr#50026, Zac Dover)
doc/radosgw: multisite.rst 中的 s/execute/run/ (pr#50174, Zac Dover)
doc/radosgw: s/zone group/zonegroup/g et alia (pr#50298, Zac Dover)
doc/rbd/rbd-exclusive-locks: 警告自动锁定转换 (pr#49805, Ilya Dryomov)
doc/rbd: 更好地格式化 iscsi-initiator-linux.rbd (pr#49750, Zac Dover)
doc/rgw - 修复 s3.rst 表格中的语法错误 (pr#50389, Zac Dover)
doc/rgw: "Migrating Single Site to Multi-Site" (pr#50094, Zac Dover)
doc/rgw: 为图表添加标题 (pr#50294, Zac Dover)
doc/rgw: 澄清 multisite.rst 顶部内容 (pr#50205, Zac Dover)
doc/rgw: 清理 zone-sync.svg (pr#50363, Zac Dover)
doc/rgw: 修复标题 (pr#50396, Zac Dover)
doc/rgw: 改进图表标题 (pr#50332, Zac Dover)
doc/rgw: multisite ref. 顶部内容清理 (pr#50190, Zac Dover)
doc/rgw: 完善 "Configuring Secondary Zones" (pr#50075, Zac Dover)
doc/rgw: 完善 "Failover and Disaster Recovery" (pr#50079, Zac Dover)
doc/rgw: 完善 "Multi-site Config Ref" (1 of x) (pr#50118, Zac Dover)
doc/rgw: 完善 "Realms" 部分 (pr#50140, Zac Dover)
doc/rgw: 完善 "Setting a Zonegroup" (pr#51073, Zac Dover)
doc/rgw: 完善 multisite.rst 中的 "Zones" (pr#49983, Zac Dover)
doc/rgw: 完善 multisite.rst 的 1-50 行 (pr#49996, Zac Dover)
doc/rgw: 完善 keycloak.rst (pr#50379, Zac Dover)
doc/rgw: 完善 multisite 到 "config 2ndary zones" (pr#50032, Zac Dover)
doc/rgw: 完善 multisite.rst 的 ~50-~140 行 (pr#50009, Zac Dover)
doc/rgw: 删除 "tertiary",链接到程序 (pr#50288, Zac Dover)
doc/rgw: s/[Zz]one [Gg]roup/zonegroup/g (pr#50137, Zac Dover)
doc/rgw: session-tags.rst - 修复 keycloak 链接 (pr#50188, Zac Dover)
doc/start: 为粗体添加 RST 转义字符规则 (pr#49752, Zac Dover)
doc/start: documenting-ceph - 添加 squash 程序 (pr#50741, Zac Dover)
doc/start: 编辑 documenting-ceph 的前 150 行 (pr#51183, Zac Dover)
doc/start: 格式化 documenting-ceph 中的程序 (pr#50789, Zac Dover)
doc/start: 更新 "notify us" 部分 (pr#50771, Zac Dover)
doc: 文档化 scrub 可以修复的损坏类型 (pr#49933, Neeraj Pratap Singh)
doc: 文档化 libcephsqlite 的调试 (pr#50034, Patrick Donnelly)
doc: 修剪 cephadm/troubleshooting.rst 和 radosgw/placement.rst (pr#50229, Anthony D'Atri)
drive_group: 修复 drive_selection.selector 中的 limit 过滤器 (pr#50371, Guillaume Abrioux)
kv/RocksDBStore: 添加 CompactOnDeletion 支持 (pr#50894, Radoslaw Zarzynski, Mark Nelson)
libcephsqlite: CheckReservedLock 结果将始终为零 (pr#50036, Shuai Wang)
librbd/crypto: 修复 libcryptsetup 的错误返回检查 (pr#49413, Or Ozeri)
librbd: 避免 "rbd rm" 中断后出现 EUCLEAN 错误 (pr#50129, weixinwei)
librbd: 在设置 librados_thread_count 后调用 apply_changes() (pr#50289, Ilya Dryomov)
librbd: 修复本地 rbd 镜像日志永远增长的问题 (pr#50158, Ilya Dryomov, Josef Johansson)
librbd: 修复 rbd_quiesce_complete API 的错误属性 (pr#50872, Dongsheng Yang)
librbd: 在无法为镜像启用镜像时报告更好的错误 (pr#50836, Prasanna Kumar Kalever)
mds/PurgeQueue: 当 _calculate_ops 时不考虑 filer_max_purge_ops (pr#49656, haoyixing)
mds/Server: 不允许 -ve reclaim 标志导致客户端逐出 (pr#49956, Dhairya Parmar)
mds: 在决定拆分或合并目录时考虑快照项目 (issue#55215, pr#49867, Venky Shankar)
mds: 避免 ~mdsdir 的清理和报告损坏健康状态 (pr#49440, Neeraj Pratap Singh)
mds: 在持久化之前捕获 CDentry 第一个成员的损坏 (issue#58482, pr#50781, Patrick Donnelly)
mds: 在 xlockdone 状态下不获取 xlock (pr#49538, Igor Fedotov)
mds: 修复并跳过提交无效的 osd 请求 (pr#49941, Xiubo Li)
mds: 修复 scan_stray_dir 在每次运行 stray inode 时不重置 next.frag 的问题 (pr#49669, ethanwu)
mds: md_log_replay 线程阻塞等待被唤醒 (pr#49671, zhikuodu)
mds: 将 submit_mutex 切换为 MDLog 的公平互斥锁 (pr#49632, Xiubo Li)
mgr/cephadm: 为 ssl rgw 服务添加 ingress 支持 (pr#49917, Frank Ederveen)
mgr/cephadm: 注意主机的短名称和 FQDN (pr#50516, Adam King)
mgr/cephadm: 从 serve loop 调用 iscsi post_remove (pr#49928, Adam King)
mgr/cephadm: 如果 mgr 已经在 iscsi trusted_ip_list 中,则不要添加它 (pr#50515, Mykola Golub)
mgr/cephadm: 如果 migration current > migration last,不要说迁移正在进行中 (pr#49919, Adam King)
mgr/cephadm: 修复 haproxy config 中具有相同排名的多个 nfs 的 backends 服务 (pr#50511, Adam King)
mgr/cephadm: 修复检查设备是否已更改的逻辑 (pr#49916, Adam King)
mgr/cephadm: 修复处理 3 个或更多 mgrs 的 mgr 升级 (pr#49921, Adam King)
mgr/cephadm: 修复检查主机是否属于公共网络的方式 (pr#50007, Redouane Kachach)
mgr/cephadm: 修复删除带有 ingress 守护程序的离线主机 (pr#49926, Adam King)
mgr/cephadm: 增加 ingress 超时值 (pr#49923, Frank Ederveen)
mgr/cephadm: iscsi 用户名和密码默认为 admin (pr#49310, Nizamudeen A)
mgr/cephadm: 一些 master -> main 清理 (pr#49285, Adam King)
mgr/cephadm: 为 iscsi 指定端口 (pr#49918, Adam King)
mgr/cephadm: 支持额外的 entrypoint 参数 (pr#49925, Adam King)
mgr/cephadm: 尝试在获取容器镜像信息时避免拉取 (pr#50513, Mykola Golub, Adam King)
mgr/cephadm: 应用服务后写入客户端文件 (pr#49920, Adam King)
mgr/dashboard: 为镜像池表添加工具提示 (pr#49503, Pedro Gonzalez Gomez)
mgr/dashboard: 为表单输入添加模式验证 (pr#47330, Pedro Gonzalez Gomez)
mgr/dashboard: kcli bootstrap 脚本的自定义镜像 (pr#50917, Nizamudeen A)
mgr/dashboard: 修复 "can't read .ssh/known_hosts: No such file or directory" (pr#50123, Nizamudeen A)
mgr/dashboard: 修复 cephadm e2e 表达式更改错误 (pr#51081, Nizamudeen A)
mgr/dashboard: 修复创建 osd 时默认选择推荐选项不工作的问题 (pr#51038, Nizamudeen A)
mgr/dashboard: 修复显示镜像进度 (pr#50870, Pere Diaz Bou)
mgr/dashboard: 修复逐出所有 FS 客户端的问题 (pr#51009, Pere Diaz Bou)
mgr/dashboard: 修复 osd 详情中的奇怪数据 (pr#50121, Pedro Gonzalez Gomez, Nizamudeen A)
mgr/dashboard: 强制使用 TLS 1.3 (pr#50527, Ernesto Puerta)
mgr/dashboard: 在扩展集群时隐藏维护选项 (pr#47725, Nizamudeen A)
mgr/dashboard: 在 dashboard kcli e2e 中忽略 rules 400 错误 (pr#50914, Nizamudeen A)
mgr/dashboard: osd 表单预选择 db/wal 设备过滤器 (pr#50122, Nizamudeen A)
mgr/dashboard: 将 vonage-status-panel 替换为原生 grafana stat panel (pr#50044, Aashish Sharma)
mgr/nfs: 添加 sectype 选项 (pr#49929, John Mulligan)
mgr/orchestrator: 修复升级状态帮助信息 (pr#49922, Adam King)
mgr/prometheus: 导出值为零的 pg 状态指标 (pr#49786, Avan Thakkar)
mgr/prometheus: 暴露守护程序健康指标 (pr#49520, Pere Diaz Bou)
mgr/prometheus: 修复尝试收集 OSD 指标时模块崩溃的问题 (pr#49931, Redouane Kachach)
mgr/rbd_support: 在模块启动期间删除本地化计划选项 (pr#49650, Ramana Raja)
mgr/snap_schedule: 将 .snap 替换为客户端配置的快照目录名称 (pr#47726, Neeraj Pratap Singh)
mon/MgrMap: 在顶层转储 last_failure_osd_epoch 和 active_clients (pr#50305, Ilya Dryomov)
mon/MonCommands: 支持 dump_historic_slow_ops (pr#49233, Matan Breizman)
mon: 如果 _generate_command_map() 失败则退出 handle_command() (pr#48846, Nikhil Kshirsagar)
mon: 禁用 fsmap 池的快照 id 分配 (pr#50050, Milind Changire)
mon: 修复检查 ceph 版本不匹配的条件 (pr#49988, Prashant D)
os/bluestore: 修复 onode 引用计数 (pr#50072, Igor Fedotov)
os/memstore: 修复内存泄漏 (pr#50092, Adam Kupczyk)
pybind/mgr: 检查 empty metadata mgr_module:get_metadata() (issue#57072, pr#49966, Venky Shankar)
qa/rgw: 使用符号链接指定发行版 (pr#50940, Casey Bodley)
qa/suites/rbd: 修复零星的 "rx-only direction" 测试失败 (pr#50112, Ilya Dryomov)
qa/suites/rgw: 修复并更新 tempest 和 barbican 测试 (pr#50000, Tobias Urdin)
qa/tasks/cephadm.py: 修复从 git.ceph.com 拉取 cephadm 的问题 (pr#49915, Adam King)
qa/tests: 添加 pacific client upgrade => reef (pr#50352, Yuri Weinstein)
qa: 检查每个 fs 的健康状况 (pr#51232, Patrick Donnelly)
qa: 忽略预期的 scrub 错误 (pr#50775, Patrick Donnelly)
qa: 在 osd thrashing 时忽略 MDS_TRIM 警告 (pr#50757, Patrick Donnelly)
qa: 延长健康警告等待时间 (pr#50760, Patrick Donnelly)
qa: 如果文件系统未创建则加载文件系统信息 (pr#50923, Patrick Donnelly)
qa: 在 kclient 工作流中测试 "ms_mode" 选项 (pr#50712, Jeff Layton)
qa: test_recovery_pool 使用错误的恢复程序 (pr#50860, Patrick Donnelly)
qa: 等待 scrub 完成 (pr#49458, Milind Changire)
rbd-mirror: 在镜像状态中添加关于上次快照同步的信息 (pr#50265, Divyansh Kamboj)
rbd-mirror: 修复 get_replay_status() 中的 syncing_percent 计算逻辑 (pr#50181, N Balachandran)
rgw/beast: 修复 keepalive 和 100-continue 之间的交互 (pr#49841, Casey Bodley, Yixin Jin)
rgw/coroutine: 在 wakeup 时检查空栈 (pr#49097, Casey Bodley)
rgw/s3: 即使为空,也在 Error 响应中转储 Message 字段 (pr#51200, Casey Bodley)
rgw: "reshard cancel" 错误为 "invalid argument" (pr#49091, J. Eric Ivancich)
rgw: 添加 BUCKET_REWRITE 和 OBJECT_REWRITE OPS 到 (pr#49095, Pritha Srivastava)
rgw: S3 允许空标签集 (pr#49809, Volker Theile, Liu Lan)
rgw: 反向移植 issue 57562 到 Pacific (pr#49682, Adam C. Emerson)
rgw: 在特殊场景下 bucket list 操作变慢 (pr#49086, zealot)
rgw: 多对象删除的并发性 (pr#49327, Casey Bodley, Cory Snyder)
rgw: 修复 bi list 时重复 idx 的问题 (pr#49829, wangtengfei)
rgw: 优化处理来自 get_obj_state 内部的 ECANCELED 错误 (pr#50886, Cory Snyder)
rgw: rgw_parse_url_bucket() 在 'tenant:' 之后拒绝空 bucket 名称 (pr#50624, Casey Bodley)
rgw: RGWPutLC 不需要 Content-MD5 (pr#49089, Casey Bodley)
tools/cephfs: 在 scan_links 中包含 lost+found (pr#50784, Patrick Donnelly)
Wip nitzan pglog ec getattr error (pr#49937, Nitzan Mordechai)