官方推荐cephadm为新集群唯一部署工具,它基于容器运行、自动分发组件、规避依赖冲突;osd部署前必须用ceph-volume lvm zap彻底清理磁盘残留元数据;需分离public与cluster网络,并指定quay.io镜像源以保障bootstrap成功。

Linux 下部署 Ceph 存储集群实现高性能分布式对象存储,关键不在堆硬件,而在于选对工具、清干净磁盘、配好网络、用对版本。官方已明确推荐 cephadm 作为新集群唯一主流部署方式,它基于容器运行,规避依赖冲突,自动分发组件,比已停更的 ceph-deploy 更稳定可靠。
选对部署工具:cephadm 是当前唯一推荐路径
从 Ceph Quincy(v17)起,cephadm 成为默认且唯一被积极维护的部署工具。它用 Podman 或 Docker 封装所有服务(MON、MGR、OSD、RGW),不污染系统环境,升级只需拉取新镜像。而 ceph-deploy 已进入维护模式,常见报错如 ImportError: No module named pkg_resources 或 “command not found” 多因 Python 环境不一致、未手动安装 Ceph 包所致——它不自动同步软件,仅执行命令。
- 所有节点需预装:
podman(或docker)、python3-pip、curl、gnupg、lvm2 - 引导命令简洁:
sudo cephadm bootstrap --mon-ip 192.168.1.101 --image quay.io/ceph/ceph:v17 - 国内用户务必指定
quay.io镜像源,避免docker.io拉取超时;若仍失败,可先手动执行sudo podman pull quay.io/ceph/ceph:v17
准备 OSD 磁盘:擦除残留是成功前提
OSD 启动卡在 activating 或集群状态为 HEALTH_WARN,90% 以上源于磁盘残留元数据。Ceph 拒绝复用含 LVM 卷组、旧文件系统或分区表的设备,哪怕只写过一个字节。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 切勿仅用
dd if=/dev/zero of=/dev/sdb bs=1M count=100—— 这无法清除 LVM 标签和 GPT 备份头 - 必须使用官方清理命令:
sudo ceph-volume lvm zap /dev/sdb --destroy - 清理后验证:
lsblk不显示该盘的子分区,sudo pvs和sudo blkid均无输出 - 若用目录方式部署 OSD(不推荐生产),确保父目录属主为
ceph:ceph,权限为0755
网络与性能调优:分离网段 + 合理 PG 数量
Ceph 性能瓶颈常出在网络和数据分布策略上。public 网络用于客户端访问和 monitor 通信,cluster 网络专用于 OSD 间数据同步(如恢复、再平衡)。两者物理隔离可避免带宽争抢。
- 部署时建议通过
--public-network和--cluster-network显式指定网段,例如:--public-network 192.168.1.0/24 --cluster-network 192.168.100.0/24 - 创建 RBD 存储池时,PG 数量影响并行度和负载均衡。公式为:
PGs ≈ (OSD 数 × 100) / 副本数,三节点集群建议设为128或256,避免设为 64 或 512 这类非 2 的幂次值 - 启用 BlueStore 引擎(默认),禁用 FileStore;确认内核 ≥ 5.4(v17 要求),老系统如 CentOS 7 应降级使用 v16(Pacific)
启用对象存储接口(RGW)与验证
RADOS Gateway(RGW)提供 S3/Swift 兼容的对象存储服务,是实现高性能对象存储的关键出口。它不是默认启动的组件,需显式部署并配置。
- 添加 RGW 实例:
ceph orch apply rgw mystore --realm=myrealm --zone=myzone - 创建 S3 用户并获取密钥:
radosgw-admin user create --uid=john --display-name="John Doe" --email=john@example.com - 用
s3cmd或awscli测试上传:aws --endpoint-url https://rgw-host:8080 s3 mb s3://mybucket - 验证集群健康:
ceph -s应返回HEALTH_OK;查看对象服务状态:ceph orch ps | grep rgw










