上一篇
分布式存储ceph之快速安装
- 行业动态
- 2025-05-17
- 2
Ceph快速安装需先部署监控节点并配置集群,各节点安装ceph-deploy工具,执行 ceph-deploy new初始化,随后批量安装软件包,配置OSD磁盘路径,初始化并启动MON、OSD服务,最后创建PGS与池,完成
分布式存储Ceph之快速安装
Ceph是一个开源的分布式存储系统,提供对象存储、块存储和文件存储三种存储接口,其高可用性、可扩展性和灵活性使其成为企业级存储的主流选择,本文将详细介绍如何在多台服务器上快速部署Ceph集群,涵盖环境准备、组件安装、配置优化及验证步骤。
环境准备
硬件要求
| 组件 | 最低配置 |
|—————|————————————————————————–|
| Monitor节点 | 1台服务器,至少1个硬盘(建议SSD),2GB+内存 |
| OSD节点 | 每节点至少1块硬盘(容量根据需求),4GB+内存 |
| 可选MDS节点 | 仅文件存储场景需要,配置与OSD节点类似 |软件要求
- 操作系统:CentOS 7/8、Ubuntu 20.04(需兼容Ceph版本)
- 网络:所有节点互通,建议千兆网卡,关闭防火墙(或开放必要端口)
- 时间同步:通过NTP确保所有节点时间一致(如
ntpdate
或chrony
) - SSH免密登录:所有节点需配置SSH互信(
ssh-keygen
+ssh-copy-id
)
主机名与IP规划
# 示例主机名与IP分配 Node1: monitor1 (192.168.1.10) Node2: osd1 (192.168.1.20) Node3: osd2 (192.168.1.30)
快速安装步骤
部署Monitor节点
安装Ceph软件包
# 添加Ceph仓库(以CentOS为例) rpm -Uvh https://download.ceph.com/keys/release.asc curl -s https://download.ceph.com/keys/release.asc | sudo apt-key add # Ubuntu yum install -y ceph-deploy ceph-common ceph-mds ceph-osd ceph-mon --enablerepo=ceph-testing # CentOS apt-get install -y ceph-deploy ceph-common ceph-mds ceph-osd ceph-mon # Ubuntu
初始化集群并部署Monitor
ceph-deploy new monitor1 # 初始化集群并部署第一个Monitor节点 ssh monitor1 "sudo ceph-volume lvm create --bluestore" # 创建逻辑卷(BlueStore引擎)
部署OSD节点
磁盘分区与格式化
# 以/dev/sdb为例,创建XFS文件系统 ssh osd1 "sudo mkfs.xfs -f /dev/sdb" ssh osd2 "sudo mkfs.xfs -f /dev/sdb"
部署OSD并激活磁盘
ceph-deploy osd osd1 osd2 # 自动发现磁盘并部署OSD服务 ssh osd1 "sudo ceph-volume lvm create --bluestore --data /dev/sdb" # 指定数据盘 ssh osd2 "sudo ceph-volume lvm create --bluestore --data /dev/sdb"
配置集群参数
编辑
ceph.conf
文件(所有节点需同步)[global] fsid = <随机生成> monitor_interface = eth0 # 替换为实际网卡名称 host = monitor1 # Monitor节点主机名 public_network = 192.168.1.0/24
同步配置到所有节点
rsync -avz /etc/ceph/ceph.conf osd1:/etc/ceph/ rsync -avz /etc/ceph/ceph.conf osd2:/etc/ceph/
验证集群状态
查看集群健康状态
ceph -s # 输出示例:HEALTH_OK
检查OSD与PG状态
ceph osd tree # 确认OSD已加入集群 ceph pg ls # 查看Placement Group分布
常见问题与优化
问题:集群健康状态显示
HEALTH_WARN
- 原因:可能是OSD未激活、网络延迟或副本数不足。
- 解决:运行
ceph health detail
查看具体错误,执行ceph osd crush reweight-by-utilization
平衡负载。
优化:调整CRUSH地图
ceph osd crush add-bucket host # 按主机划分存储池 ceph osd crush move <osd_id> root=default host=<hostname>
相关问答FAQs
Q1:如何扩展Ceph集群添加新OSD?
- 步骤:
- 在新节点上格式化磁盘(如
mkfs.xfs /dev/sdc
)。 - 运行
ceph-deploy osd <新节点>
自动部署。 - 执行
ceph osd reweight-by-utilization
平衡数据分布。
- 在新节点上格式化磁盘(如
Q2:Monitor节点故障后如何恢复?
- 步骤:
- 在剩余Monitor节点上执行
ceph mon remove <故障节点>
。 - 部署新Monitor节点:
ceph-deploy mon new_monitor
。 - 更新
ceph.conf
并同步至所有节点。
- 在剩余Monitor节点上执行
通过以上步骤,可在小时内完成一个基础Ceph集群的快速部署,实际生产环境中需结合业务需求调整参数(如副本数、PG数量),并部署Dashboard