Ceph搭建
一、系统环境初始化
时间同步
关闭selinux和防火墙(Centos)
配置主机域名解析或通过DNS解析
所有节点安装podman
1 | apt install -y podman lvm2 |
| 主机名 | ip |
|---|---|
| ceph1 | 192.168.11.10 | 192.168.75.10 |
| ceph2 | 192.168.11.11 | 192.168.75.11 |
| ceph3 | 192.168.11.12 | 192.168.75.12 |
1 | root@ceph3:~# cat /etc/hosts |
配置时间同步 使用自带的timedate
1 | timedatectl set-timezone Asia/Shanghai |
二、部署RADOS集群
1 | https://mirrors.aliyun.com/ceph/ |
2.1仓库准备
各节点配置ceph 仓库
aliyun默认带了ceph
1 | root@ceph3:~# apt-cache madison ceph |
2. 2安装 Cephadm(仅在主节点 ceph1)
1 | apt update |
初始化主节点
1 | root@ceph1:~# cephadm bootstrap --mon-ip 192.168.11.10 |
此命令将
- 在本地主机上为新集群创建一个 Monitor 和一个 Manager 守护程序。
- 为 Ceph 集群生成一个新的 SSH 密钥,并将其添加到 root 用户的
/root/.ssh/authorized_keys文件中。- 将公钥副本写入
/etc/ceph/ceph.pub。- 将最小配置文件写入
/etc/ceph/ceph.conf。此文件是与 Ceph 守护程序通信所必需的。- 将
client.admin管理(特权!)密钥副本写入/etc/ceph/ceph.client.admin.keyring。- 将
_admin标签添加到引导主机。默认情况下,任何具有此标签的主机都将(也)获得/etc/ceph/ceph.conf和/etc/ceph/ceph.client.admin.keyring的副本。
免密失败了 /etc/ceph/ceph.pub
ssh-keygen
重新初始化
1 | root@ceph1:~# cephadm bootstrap \ |
2.3 安装 Ceph 命令行工具
为了方便直接在终端输入 ceph 命令,在 ceph1 上安装客户端:
1 | root@ceph1:~# apt install -y ceph-common |
三、编排三节点集群
3.1 允许主节点免密登录其他节点
Cephadm 需要通过 SSH 管理 ceph2 和 ceph3。
3.2 将主机加入集群
在 ceph1 上执行命令,把其他两个 Ubuntu 节点拉进集群:
1 | root@ceph1:~# ceph orch host add ceph2 192.168.11.11 |
验证节点状态: ceph orch host ls
1 | root@ceph1:~# ceph orch host ls |
四、 部署高可用组件(Mon & Mgr)
为了让 3 个节点对等且具备高可用性,将 Monitor 和 Manager 拓扑应用到所有节点:
1 | # 让 3 个节点都运行 mon |
五、 添加 OSD(存储裸盘)
确保你准备用于存储数据的硬盘没有分区表,没有被挂载过。
5.1 检查可用硬盘
1 | root@ceph1:~# ceph orch device ls |
如果看到各节点的硬盘(如 /dev/sdb)状态为 Available: Insufficient space (0B) 或 False,说明盘不干净,需要用 wipefs -a /dev/sdb 清理。
5.2 自动挂载所有可用裸盘
1 | ceph orch apply osd --all-available-devices |
六、 完工检查
在 ceph1 上输入:
1 | root@ceph1:~# ceph -s |
只要看到 health: HEALTH_OK,且 mon 和 mgr 的数量都显示为 3,三节点 Ceph 集群就已经搭建成功了!
