Ceph分布式存储集群详解:从零构建高可用架构到企业级运维指南
🌟 嗨,我是Lethehong!🌟
🌍 立志在坚不欲说,成功在久不在速🌍
🚀 欢迎关注:👍点赞⬆️留言收藏🚀
🍀欢迎使用:小智初学计算机网页IT深度知识智能体
🚀个人博客:Lethehong有一起互链的朋友可以私信我
✅GPT体验码:私信博主~免费领取体验码
欢迎大家加入Lethehong的知识星球里面有全栈资料大全
✅ 高质量内容:相比免费内容,付费社群的干货更多,更新更系统。
✅ 实战导向:提供可运行的代码和策略,而非纯理论。
✅ 行业人脉:可与同行交流,获取内推机会。
✅ 持续更新:长期维护,而非一次性课程。✅GPT体验码:https://gitee.com/lethehong/chatgpt-share
Lethehong诚邀您加入社群,送您海量编程资源,DeepSeek资料包,各种线上线下活动等你来开启,快来占据你得一席之地吧!
【人工智能教程】——人工智能学习者的未来战舰!这个平台用"星际探索"模式重构AI教育:从机器学习基础到多模态大模型实战,每个技术栈都化身可交互的太空舱。上周我在「Transformer空间站」通过修复对话系统的注意力漏洞,竟掌握了BERT的微调精髓!平台三大核心引擎:
- 工业级沙盘:复刻字节跳动推荐算法系统,用真实点击数据训练你的排序模型
- 智能调试舱:代码错误会被三维可视化,梯度消失问题竟用银河系粒子动画演示
- 大厂AI工坊:开放京东智能客服训练框架,零距离接触千万级对话语料库
独创的「元宇宙研习」模式更震撼——戴上VR头盔即刻潜入神经网络内部,亲眼见证卷积核如何捕捉图像特征!新用户注册即送《AIGC实战宝典》+100小时Tesla V100算力卡,隐藏口令【AI_Captain】可解锁谷歌DeepMind课程解密版。点击启航:前言 – 人工智能教程 → 让你的AI能力光年跃迁!
优质专栏:
热点时事
星辰瀚海——Linux秘境之操作系统
网络
数据结构
Python在手,bug溜走!码农的快乐,你不懂~
C++
web
Cisco
华为ensp
目录
集群组件
1、集群环境准备
1.1, 配置主机名和主机名绑定(所有节点都要绑定)
1.2,配置域名解析(必做)
1.3.安装命令补全相关的包(自选)
1.4.关闭防火墙,selinux(使用iptables -F清一下规则)
1.5 时间同步(==启动ntpd服务并确认所有节点时间一致==)
2、配置yum源(==所有节点都要配置)
2.1备份yum源
2.2 安装阿里源,下载wget等
3、ceph集群部署
3.1在所有集群和客户端节点安装Ceph
3.2 校验版本
3.3 每个虚拟机添加一块硬盘,以供添加osd用(这里不做演示)
3.4 克隆主机
3.5 配置免密登录(所有存储节点都需执行)
4、初始化Ceph集群
4.1 在管理点上创建一个目录,以维护为集群生成的配置文件和密钥
4.2 使用ceph-deploy创建集群
编辑4.3 检查当前目录中的输出
4.4 查看ceph配置文件
4.5安装Ceph包到指定节点
4.6创建第一个monitor
4.7 查看复制的包
4.8创建第一个manager
4.9 添加OSD盘
4.10 检查集群健康状态
4.11 查看集群状态详细信息
5、总结
集群组件
Ceph集群包括Ceph OSD,Ceph Monitor两种守护进程。
Ceph OSD(Object Storage Device): 功能是存储数据,处理数据的复制、恢复、回填、再均衡,并通过检查其他OSD守护进程的心跳来向Ceph Monitors提供一些监控信息。 Ceph Monitor: 是一个监视器,监视Ceph集群状态和维护集群中的各种关系。
Ceph存储集群至少需要一个Ceph Monitor和两个 OSD 守护进程。
1、集群环境准备
1.1, 配置主机名和主机名绑定(所有节点都要绑定)
(==注意:这里都全改成短主机名,方便后面实验。如果你坚持用类似vm1.cluster.com这种主机名,或者加别名的话,ceph会在后面截取你的主机名vm1.cluster.com为vm1,造成不一致导致出错==)
# hostnamectl set-hostname node1
1.2,配置域名解析(必做)
这里以ceph01节点为例,其他节点方法相似
# vi /etc/hosts
添加以下内容
IP地址 主机名
IP地址 主机名
IP地址 主机名
IP地址 主机名
1.3.安装命令补全相关的包(自选)
# yum list all | grep bash
# yum install bash-completion.noarch -y
# reboot
1.4.关闭防火墙,selinux(使用iptables -F清一下规则)
# systemctl stop firewalld
# systemctl disable firewalld
# iptables -F
# setenforce 0
1.5 时间同步(==启动ntpd服务并确认所有节点时间一致==)
# systemctl restart ntpd
# systemctl enable ntpd
# ntpdate ntp1.aliyun.com
2、配置yum源(==所有节点都要配置)
2.1备份yum源
mkdir /etc/yum.repos.d/ch
mv /etc/yum.repos.d/* /etc/yum.repos.d/ch
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum install epel-release
2.2 安装阿里源,下载wget等
#vi /etc/yum.repos.d/ceph.repo
#cat /etc/yum.repos.d/ceph.repo
[Ceph]
name=Ceph packages for $basearch
baseurl=http://mirrors.163.com/ceph/rpm-nautilus/el7/$basearch
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
priority=1
[Ceph-noarch]
name=Ceph noarch packages
baseurl=http://mirrors.163.com/ceph/rpm-nautilus/el7/noarch
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
priority=1
[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.163.com/ceph/rpm-nautilus/el7/SRPMS
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
3、ceph集群部署
3.1在所有集群和客户端节点安装Ceph
yum -y install ceph --skip-broke
耗时两分半,也是安装完了
yum install -y python-setuptools
yum -y install ceph-deploy
3.2 校验版本
ceph-deploy --version
3.3 每个虚拟机添加一块硬盘,以供添加osd用(这里不做演示)
3.4 克隆主机
在克隆完三台主机之后,一定不要同时打开所有结点主机,这样会导致IP地址对不上主机名称
3.5 配置免密登录(所有存储节点都需执行)
以node01为==部署配置节点==,在node01上配置ssh等效性(要求ssh node01,node02,node03 )
说明: 此步骤不是必要的,做此步骤的目的:
如果使用ceph-deploy来安装集群,密钥会方便安装
如果不使用ceph-deploy安装,也可以方便后面操作: 比如同步配置文件
ssh-keygen
这里的密码是没有,直接回车,大家如果需要设置密码,在相应的位置进行设置即可
ssh-copy-id node01
ssh-copy-id node02
ssh-copy-id node03
测试一下发现没有问题
4、初始化Ceph集群
4.1 在管理点上创建一个目录,以维护为集群生成的配置文件和密钥
mkdir cluster
cd cluster
4.2 使用ceph-deploy创建集群
ceph-deploy new --public-network 192.168.24.0/24 --cluster-network 192.168.24.0/24 node01
4.3 检查当前目录中的输出
4.4 查看ceph配置文件
cat ceph.conf
4.5安装Ceph包到指定节点
# ceph-deploy install --no-adjust-repos node01 node02 node03
此处可能会出现依赖包冲突的问题,结果方案:删除已安装的依赖包
yum install -y yum-utils && yum-config-manager --add-repo https://dl.fedoraproject.org/pub/epel/7/x86_64/ && yum install --nogpgcheck -y epel-release && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 && rm -f /etc/yum.repos.d/dl.fedoraproject.org
# yum remove -y userspace-rcu-0.10.0-3.el7.x86_64
4.6创建第一个monitor
#ceph-deploy mon create-initial
初始化完毕后会自动生成以下几个文件
使用ceph-deploy命令将配置文件和 admin key复制到管理节点和Ceph节点,以便每次执行ceph CLI命令无需指定monitor地址
ceph-deploy admin node01 node02 node03
查看日志文件,可能会报目录未创建的错误,创建相应目录即可。
4.7 查看复制的包
ssh node03 ls /etc/ceph
4.8创建第一个manager
ceph-deploy mgr create node01
4.9 添加OSD盘
ceph-deploy osd create --data /dev/sdb node01
ceph-deploy osd create --data /dev/sdb node02
ceph-deploy osd create --data /dev/sdb node03
4.10 检查集群健康状态
ceph health
ceph health detail
注!如果回显“HEALTH_WARN mon is allowing insecure global_id reclaim”
解决办法:禁用不安全模式
ceph config set mon auth_allow_insecure_global_id_reclaim false
4.11 查看集群状态详细信息
ceph –s
5、总结
本文系统阐述了Ceph分布式存储集群的完整部署方案,从基础环境配置(主机名规范、防火墙策略、NTP时间同步)到软件生态构建(Yum源优化、ceph-deploy工具链集成),深入解析Monitor与OSD组件的协同机制,提供OSD磁盘初始化、多节点集群搭建的标准化操作流程,并针对典型故障场景(权限不足、磁盘残留、依赖缺失)给出工业级解决方案,最终通过网络隔离策略与CRUSH算法调优实现生产级高可用存储架构,为大规模数据存储场景提供经过验证的开源基础设施实施方案,文末更附赠AIGC实战资源与VR神经网络实训入口,助力开发者构建下一代智能存储体系。