Ubuntu24.04升级Ceph至19.1.0(rc)后添加OSD失败求助
Ceph 19.1.0(rc) 在Ubuntu 24.04添加OSD失败:ValueError: too many values to unpack (expected 2)
问题描述
在Ubuntu 24.04上部署3节点Ceph集群,添加OSD前操作均正常:
- 安装时遇到Ubuntu 24.04相关bug(编号2063456),已通过指定源解决
- 使用
ceph orch host add等命令完成主机、mon和mgr服务添加,无异常 - 通过Web控制台成功将Ceph从19.0.x(dev)升级至19.1.0(rc)
- 尝试
ceph orch apply osd --all-available-devices和ceph orch daemon add osd node-01:/dev/sdb两种方式添加OSD均失败,报错cephadm退出码1,最终触发ValueError: too many values to unpack (expected 2)
对比验证:未升级Ceph时重新部署一切正常;已确认OSD节点硬盘无硬件或挂载异常。
系统及集群信息:
root@node-03:~# hostnamectl Static hostname: node-03 Icon name: computer-server Chassis: server 🖳 Machine ID: dbf44e1ea4ce499f962a93325471fa3b Boot ID: 3962c0814ffb4f6dafb2b850a79da3c1 Operating System: Ubuntu 24.04 LTS Kernel: Linux 6.8.0-38-generic Architecture: x86-64 Hardware Vendor: Dell Inc. Hardware Model: PowerEdge R640 Firmware Version: 2.3.10 Firmware Date: Thu 2019-08-15 Firmware Age: 4y 10month 4w root@node-03:~# ceph orch host ls HOST ADDR LABELS STATUS node-01 10.148.250.250 node-02 10.148.250.249 node-03 10.148.250.248 _admin 3 hosts in cluster root@node-03:~# ceph -s cluster: id: 318e75df-405e-11ef-8f77-ca15ac0e63bc health: HEALTH_WARN Failed to apply 1 service(s): osd.all-available-devices failed to probe daemons or devices 2 mgr modules have recently crashed OSD count 0 < osd_pool_default_size 1 services: mon: 3 daemons, quorum node-03,node-01,node-02 (age 3h) mgr: node-03.ttcvsv(active, since 3h), standbys: node-01.qcixwc osd: 0 osds: 0 up, 0 in data: pools: 0 pools, 0 pgs objects: 0 objects, 0 B usage: 0 B used, 0 B / 0 B avail pgs:
解决方法
1. 替换cephadm二进制文件适配Ubuntu 24.04
19.1.0(rc)的cephadm可能存在对Ubuntu 24.04磁盘探测逻辑的适配问题,手动替换为官方编译的对应版本:
wget https://download.ceph.com/tarballs/cephadm-v19.1.0 chmod +x cephadm-v19.1.0 cp cephadm-v19.1.0 /usr/sbin/cephadm
替换后重新执行OSD添加命令,验证是否解决问题。
2. 修复磁盘信息解析逻辑
该报错源于cephadm解析磁盘工具(如lsblk)输出时字段不匹配,可临时调整:
- 在OSD节点执行磁盘探测命令,查看输出格式:
lsblk -d -n -o NAME,ROTA,SIZE,SUBSYSTEMS,MOUNTPOINT - 对比未升级集群的同命令输出,若格式差异,编辑
/usr/sbin/cephadm中处理磁盘信息的代码段,调整字段拆分逻辑(仅应急使用,需等待官方补丁)。
3. 回退至19.0.x(dev)版本
既然未升级时功能正常,可先回退版本:
# 替换为你之前使用的19.0.x源地址 ceph orch repo set ceph --url https://download.ceph.com/quincy/ ceph orch upgrade start --ceph-version 19.0.x
回退后重新添加OSD,待官方发布19.1.0正式版或适配补丁后再升级。
4. 手动部署OSD绕开自动探测
若上述方法无效,手动创建并注册OSD:
- 在目标节点用ceph-volume准备磁盘:
ceph-volume lvm create --data /dev/sdb - 查看生成的OSD目录(格式为
/var/lib/ceph/osd/ceph-<OSD_ID>),手动注册到集群:ceph orch daemon add osd node-01:/var/lib/ceph/osd/ceph-<OSD_ID>
内容的提问来源于stack exchange,提问作者Berners Lee
相关产品推荐
相关产品推荐

