虚拟机环境部署Ceph集群的详细指南(含Dashboard和Prometheus)
零、写在最前
本文是基于deepseek搜素的ceph集群部署指南,但是按文档执行过程中也是遇到了很多问题,最大的问题莫过于安装ceph软件,找可用资源是最费劲的,我安装的版本是luminous ,这个版本的dashboard比较基础,如果你安装,建议用nautilus版本,其次是prometheus和grafana的整合,这种运维软件我也第一次使用,只是简单的研究了下,prometheus需要和各种exporter配合来报告监控节点的学习,ceph的mgr管理服务自带了监控节点,配置到prometheus就可以收集到数据,然后通过grafana配置仪表盘ID即可展示对应的信息,这里感觉可以自己开发exporter并配置特有的模板之类的,但是我看官网已经给出了例如数据库、中间等各种配套服务和仪表盘模板。最后ceph集群安装方式官方最新最推荐的是使用Cephadm这个是基于k8s和容器化来部署和管理,由于我对k8s不太了解,所以没有选择,其次是ceph-ansible方式,但是这个方式并没有我想要的仪表盘功能,所以我最终选择了使用ceph-deploy这个被官方已经放弃的方式,这部分可参考中文官方 ,最后如果您使用我的文档来搭建集群,一定先通读全文,然后再开始。
一、环境规划与准备
1.0 虚拟机配置要求
节点数量:至少3台虚拟机(1管理节点+2OSD节点)
操作系统:CentOS 7/8或Ubuntu 18.04/20.04(推荐CentOS 7.9)
硬件配置:
每节点至少2vCPU(推荐4vCPU)
每节点至少4GB内存(推荐8GB)
管理节点:系统盘(20GB)+1数据盘(10GB,用于Monitor)
OSD节点:系统盘(20GB)+2-3数据盘(每盘10GB,用于OSD)
网络:所有节点在同一子网,建议配置主机名解析
1.1 虚拟机节点规划(扩展版)
| 主机名 | IP地址 | 角色 | 建议配置 |
|---|---|---|---|
| ceph-mon1 | 192.168.10.10 | Monitor1, Manager1, Deploy | 2vCPU/4GB RAM |
| ceph-mon2 | 192.168.10.11 | Monitor2, Manager2 | 2vCPU/4GB RAM |
| ceph-mon3 | 192.168.10.12 | Monitor3 | 2vCPU/4GB RAM |
| ceph-osd1 | 192.168.10.21 | OSD节点(3磁盘) | 4vCPU/8GB RAM |
| ceph-osd2 | 192.168.10.22 | OSD节点(3磁盘) | 4vCPU/8GB RAM |
| ceph-osd3 | 192.168.10.23 | OSD节点(3磁盘) | 4vCPU/8GB RAM |
部署ceph集群可以最少需要三个虚拟机,如本机配置较低,可规划如下:
| 主机名 | IP地址 | 角色 | 建议配置 |
|---|---|---|---|
| ceph-mon1 | 192.168.10.10 | Monitor1, Manager1, Deploy | 2vCPU/4GB RAM |
| ceph-osd1 | 192.168.10.21 | OSD节点(3磁盘) | 4vCPU/8GB RAM |
| ceph-osd2 | 192.168.10.22 | OSD节点(3磁盘) | 4vCPU/8GB RAM |
1.2 基础环境配置(所有节点)
注意:可以先创建一台虚拟机,把hosts文件域名和ip映射加好,NTP时间同步软件装好,防火墙设置和ceph用户创建好,然后通过虚拟机克隆,其中作为osd节点的虚拟机器可能还涉及添加磁盘的情况【参考 3.5 添加OSD存储】,克隆osd节点的时候先配置好其中一台然后以此台为基准克隆另外两个osd节点,如果你还没安装虚拟机,我这有一份尚硅谷出品的虚拟机安装材料
1.2.1 设置主机名和hosts解析
# 命令说明:设置永久主机名并更新hosts文件,确保集群节点能互相解析
# 在各节点分别执行(以ceph-mon1为例)
sudo hostnamectl set-hostname ceph-mon1
# 在所有节点统一编辑/etc/hosts文件
# 使用<<EOF(Here Document)方式避免手动编辑错误
sudo bash -c 'cat <<EOF >> /etc/hosts
192.168.10.10 ceph-mon1
192.168.10.11 ceph-mon2
192.168.10.12 ceph-mon3
192.168.10.21 ceph-osd1
192.168.10.22 ceph-osd2
192.168.10.23 ceph-osd3
EOF'
1.2.2 关闭SELinux和防火墙
# 命令说明:关闭安全增强功能(SELinux)和防火墙,避免Ceph通信被拦截
# CentOS/RHEL系统
sudo setenforce 0 # 临时关闭SELinux
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config # 永久关闭
sudo systemctl stop firewalld # 停止防火墙
sudo systemctl disable firewalld # 禁用开机启动
# Ubuntu系统
sudo ufw disable # 禁用Uncomplicated Firewall
1.2.3 配置NTP时间同步
# 命令说明:确保所有节点时间同步,Ceph对时钟同步要求严格(差异不能超过0.05秒)
# 这种配置方式采用的应该是以网络时钟为基准的,还可以设置集群中的某一台机器的时间为基准,
# 这里就不讨论了,你们知道即可
# CentOS/RHEL
sudo yum install -y chrony # 安装chrony时间服务
sudo systemctl enable chronyd # 设置开机启动
sudo systemctl start chronyd # 启动服务
sudo chronyc sources # 查看时间源状态
# Ubuntu
sudo apt install -y chrony
sudo systemctl enable chrony
sudo systemctl start chrony
1.2.4 创建专用部署用户
# 命令说明:创建专用ceph用户并配置sudo权限,避免直接使用root
sudo useradd -m -d /home/ceph -s /bin/bash ceph # 创建用户
echo

最低0.47元/天 解锁文章
2260

被折叠的 条评论
为什么被折叠?



