☰
Ceph搭建-Ubuntu 24.04.3
2026/11/5 10:08:32 网站建设 项目流程
主机名IP 地址角色
ceph-node1172.19.0.61MON, MGR, OSD, 管理节点
ceph-node2172.19.0.62MON, MGR, OSD
ceph-node3172.19.0.63MON, MGR, OSD

一、系统初始化

1、安装系统依赖

sudo apt update
sudo apt install -y podman chrony lvm2 python3
sudo systemctl enable --now chrony/

2、配置主机名与 hosts 解析

# 在各节点分别设置(以 node1 为例)
sudo hostnamectl set-hostname ceph-node1

# 所有节点执行,确保互相能解析
sudo tee -a /etc/hosts <<EOF
172.19.0.61 ceph-node1
172.19.0.62 ceph-node2
172.19.0.63 ceph-node3
EOF

3、关闭 Swap

sudo swapoff -a
sudo sed -i '/swap/s/^/#/' /etc/fstab

4、关闭防火墙

sudo systemctl stop ufw
sudo systemctl disable ufw

二、安装 cephadm(仅在 ceph-node1 执行)

sudo apt install -y cephadm
cephadm --version # 验证,应显示类似 19.2.x

三、引导集群(Bootstrap)

在ceph-node1上执行,这会使用 Podman 拉取 Ceph 容器镜像并启动第一个 MON 和 MGR。

sudo cephadm bootstrap \
--mon-ip 192.168.1.11 \
--initial-dashboard-user admin \
--initial-dashboard-password "你的强密码" \
--dashboard-ssl

注意:如果你的服务器无法直接访问quay.io,bootstrap 会在拉取镜像时卡住。国内环境可能需要提前为 Podman 配置镜像加速或私有仓库。

成功后,终端会输出 Dashboard 地址(https://192.168.1.11:8443)和登录凭据。

四、启用宿主机 ceph 命令

sudo apt install -y ceph-common

ceph -v # 验证

五、加入其余节点并扩展 MON

1、分发 SSH 公钥并添加节点

在 ceph-node1 上执行

sudo ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph-node2
sudo ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph-node3

sudo ceph orch host add ceph-node2 192.168.1.12 --labels _admin
sudo ceph orch host add ceph-node3 192.168.1.13 --labels _admin

扩展 MON 到 3 个(高可用必须)

sudo ceph orch apply mon --placement="ceph-node1 ceph-node2 ceph-node3"

六、部署 OSD

先确认各节点上的可用磁盘

sudo ceph orch device ls

生产建议精确指定磁盘,避免--all-available-devices误清空其他数据盘:

sudo ceph orch daemon add osd ceph-node1:/dev/sdb
sudo ceph orch daemon add osd ceph-node2:/dev/sdb
sudo ceph orch daemon add osd ceph-node3:/dev/sdb

七、验证集群状态

ceph -s

关键指标应看到:

mon: 3 daemons

osd: 3 osds: 3 up, 3 in

状态为 HEALTH_OK(或 HEALTH_WARN 且无严重错误)

同时检查 Podman 容器运行情况:
bash

sudo podman ps --format "table {{.Names}}\t{{.Status}}"

应能看到 ceph-<fsid>-mon-*、ceph-<fsid>-mgr-*、ceph-<fsid>-osd-* 等容器处于 Up 状态。

八、创建存储池(示例)

sudo ceph osd pool create mypool 128 128
sudo ceph osd pool application enable mypool rbd
sudo ceph osd pool set mypool size 3

九、生产环境注意事项

镜像拉取:cephadm 依赖容器镜像。若生产环境网络受限,需提前配置 Podman 的 /etc/containers/registries.conf 或使用 --registry-json 指定私有仓库凭据。

不要手动操作容器:Ceph 的 Podman 容器由 cephadm 通过 systemd 管理,不要用 podman stop/rm 直接操作,否则会导致状态不一致。

OSD 磁盘独立性:再次强调,OSD 数据盘必须独立于系统盘。这是 Ceph 性能与故障隔离的硬性要求。

内存自动调优:cephadm 默认开启 OSD 内存自动调优,按主机总内存的 70% 作为目标。如果机器不是专用 Ceph 节点(混合部署),需要调低该比例:
bash

sudo ceph config set mgr mgr/cephadm/autotune_memory_target_ratio 0.2

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询