三节点Ceph分布式存储搭建指南
环境准备
- 三台服务器(节点),建议配置相同硬件(CPU、内存、磁盘)。
- 每台节点至少一块SSD(用于OSD日志)和多块HDD(用于数据存储)。
bash
ceph-deploy install
操作系统:Ubuntu
- 所有节点配置SSH免密登录(`ssh-keygen`和`ssh-copy-id`)。
**配置基础环境**
在所有节点上执行以下操作:
1. 修改主机名并更新`/etc/hosts`,确保节点间能通过主机名通信。
2. 关闭防火墙和SELinux(生产环境需按需调整规则):
```bash
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config
-
安装NTP服务确保时间同步:
bashyum install -y ntp || apt-get install -y ntp systemctl enable ntpd --now
安装Ceph部署工具
在主管理节点(如ceph-node1
)执行:
-
添加Ceph仓库并安装
ceph-deploy
:bashwget -q -O- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add - echo "deb https://download.ceph.com/debian-{ceph-stable-release}/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/ceph.list apt-get update && apt-get install -y ceph-deploy
(CentOS使用
yum install -y ceph-deploy
)
初始化Ceph集群
-
创建集群目录并初始化配置:
bashmkdir ~/ceph-cluster && cd ~/ceph-cluster ceph-deploy new ceph-node1 ceph-node2 ceph-node3
-
编辑
ceph.conf
配置文件,追加以下内容:iniosd_pool_default_size = 3 osd_pool_default_min_size = 1 public_network = {你的公共网络CIDR} cluster_network = {你的集群网络CIDR}
-
安装Ceph软件包到所有节点:
bashceph-deploy install ceph-node1 ceph-node2 ceph-node3
部署Monitor服务
在主节点执行:
bash
ceph-deploy mon create-initial
ceph-deploy admin ceph-node1 ceph-node2 ceph-node3
配置OSD存储
-
列出所有节点的磁盘:
bashceph-deploy disk zap ceph-node1 /dev/sdb ceph-deploy disk zap ceph-node2 /dev/sdb ceph-deploy disk zap ceph-node3 /dev/sdb
-
创建OSD(假设
sdb
为数据盘,sdc
为日志盘):bashceph-deploy osd create --data /dev/sdb --journal /dev/sdc ceph-node1 ceph-deploy osd create --data /dev/sdb --journal /dev/sdc ceph-node2 ceph-deploy osd create --data /dev/sdb --journal /dev/sdc ceph-node3
验证集群状态
执行以下命令检查集群健康状态:
bash
ssh ceph-node1 "ceph -s"
输出中应显示HEALTH_OK
,且所有OSD和Monitor均在线。
扩展功能(可选)
-
部署MDS服务支持CephFS:
bashceph-deploy mds create ceph-node1
-
创建存储池和块设备:
bashceph osd pool create rbd_pool 128 rbd create myimage --size 1024 --pool rbd_pool
注意事项
- 生产环境建议分离
public_network
和cluster_network
以提高性能。 - OSD日志盘建议使用SSD以降低延迟。
- 若使用虚拟机测试,确保每节点至少2核CPU和4GB内存。
通过以上步骤,一个基础的Ceph三节点集群即部署完成。后续可根据需求扩展节点或调整CRUSH map优化数据分布。