当前位置: 首页 > news >正文

cephadm部署ceph集群

一、什么是Ceph?

ceph是一个统一的、分布式的存储系统,设计初衷式提供较好的性能(io)、可靠性(没有单点故障)和可扩展性(未来可以理论上无限扩展集群规模),这三点也是集群架构所追求的。

  • “统一的”:意味着Ceph可以一套存储系统同时提供对象存储块存储文件系统存储三种功能,以便在满足不同应用需求的前提下简化部署和运维
  • “分布式”:在Ceph系统中则意味着真正的无中心结构和没有理论上限的系统规模可扩展性

二、Ceph系统的层次结构

三、寻址流程

四、cephadm部署ceph集群

1、环境准备

OS:

[root@ceph1 ~]# cat /etc/rocky-release
Rocky Linux release 8.10 (Green Obsidian)

存储节点: 3 个存储节点使用/dev/vdb、/dev/vdc、/dev/vdd 作为 OSD 硬盘

ceph1(管理节点)192.168.8.197
ceph2192.168.8.198
ceph3

192.168.8.199

设置主机名、hosts解析、关闭防火墙、禁用SELinux、时间同步 

分布式系统对时间同步要求极高,若节点间时钟不一致(通常由 NTP 服务未正确配置或同步异常导致),会影响监控节点间的通信与协作,触发健康警告

主机名:
[root@Rocky8 ~]# hostnamectl set-hostname ceph1 ...
hosts解析:
[root@Rocky8 ~]# cat >> /etc/hosts << EOF
192.168.8.197 ceph1
192.168.8.198 ceph2
192.168.8.199 ceph3
EOF关闭防火墙:
[root@Rocky8 ~]# systemctl stop firewalld
[root@Rocky8 ~]# systemctl disable firewalld禁用SELinux:
[root@Rocky8 ~]# setenforce 0
[root@Rocky8 ~]# sed -i '/^SELINUX/ c SELINUX=disabled' /etc/selinux/config时间同步:
[root@Rocky8 ~]# yum install chrony -y
[root@Rocky8 ~]# vi /etc/chrony.conf 
pool ntp.aliyun.com iburst
[root@Rocky8 ~]# systemctl restart chronyd
[root@Rocky8 ~]# chronyc sources
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^~ 203.107.6.88                  2   6   377    10  -319.3s[-319.3s] +/-  124ms

2、cephadm 配置

2.1.配置ceph yum 源

cat > /etc/yum.repos.d/ceph.repo <<EOF
[ceph]
name=ceph x86_64
baseurl=https://repo.huaweicloud.com/ceph/rpm-pacific/el8/x86_64
enabled=1
gpgcheck=0
[ceph-noarch]
name=ceph noarch
baseurl=https://repo.huaweicloud.com/ceph/rpm-pacific/el8/noarch
enabled=1
gpgcheck=0
[ceph-source]
name=ceph SRPMS
baseurl=https://repo.huaweicloud.com/ceph/rpm-pacific/el8/SRPMS
enabled=1
gpgcheck=0
EOF

2.2.安装python3

[root@Rocky8 ~]# dnf install python3 -y

2.3.安装docker-ce

[root@Rocky8 ~]# yum install -y wget
[root@Rocky8 ~]# wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.huaweicloud.com/docker-ce/linux/centos/docker-ce.repo
[root@Rocky8 ~]# sed -i 's+download.docker.com+mirrors.huaweicloud.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
[root@Rocky8 ~]# dnf install docker-ce -y
[root@Rocky8 ~]# systemctl restart docker
# 安装常用软件
[root@Rocky8 ~]# yum install vim bash-completion net-tools tree -y

2.3.ceph1 上安装cephadm

[root@ceph1 ~]# yum install cephadm -y

2.4.ceph1 使用cephadm 初始化ceph集群

[root@ceph1 ~]# cephadm --docker bootstrap \
--mon-ip 192.168.8.197 \
--initial-dashboard-user admin \
--initial-dashboard-password redhat \
--dashboard-password-noupdate \
--allow-fqdn-hostname

3、集群扩容

3.1、拷贝公钥至ceph2、ceph3

[root@ceph1 ~]# ssh-keygen   #一路回车
[root@ceph1 ~]# ssh-copy-id -f -i /etc/ceph/ceph.pub ceph2  
[root@ceph1 ~]# ssh-copy-id -f -i /etc/ceph/ceph.pub ceph3

3.2、添加节点到集群

[root@ceph1 ~]# cephadm shell ceph orch host add ceph2
[root@ceph1 ~]# cephadm shell ceph orch host add ceph3

 3.3、安装 ceph-common

[root@ceph1 ~]# yum install epel-release -y
[root@ceph2 ~]# yum install ceph-common -y

3.4、添加osd (对象存储设备) 

#添加所有
[root@ceph1 ~]# ceph orch apply osd --all-available-devices#添加个别
ceph orch daemon add osd ceph1:/dev/sdb 
ceph orch daemon add osd ceph1:/dev/sdc 
ceph orch daemon add osd ceph1:/dev/sdd 
ceph orch daemon add osd ceph2:/dev/sdb 
ceph orch daemon add osd ceph2:/dev/sdc 
ceph orch daemon add osd ceph2:/dev/sdd 
ceph orch daemon add osd ceph3:/dev/sdb 
ceph orch daemon add osd ceph3:/dev/sdc 
ceph orch daemon add osd ceph3:/dev/sdd 

3.5、设置ceph1为管理节点

[root@ceph1 ~]# ceph orch host label add ceph1 _admin

 3.6、将 mon 和 mgr 组件部署到指定节点中

[root@ceph1 ~]# ceph orch apply mon "ceph1 ceph2 ceph3"
[root@ceph1 ~]# ceph orch apply mgr --placement "ceph1 ceph2 ceph3"

4、验证

如果时间不同步就会出现以下警告:

验证web:

相关文章:

  • Flowable7.x学习笔记(二十)查看流程办理进度图
  • 从零开始学习人工智能Day6-Python3标准库概览
  • 【AI提示词】六顶思考帽工具专家
  • 智能学习空间的范式革新:基于AI驱动的自习室系统架构与应用研究
  • 使用DevTools工具调试前端页面,便捷脚本,鸿蒙调试webView
  • PyTorch常用命令详解:助力深度学习开发
  • day18-API(常见API,对象克隆)
  • yolov8 输出数据解释
  • 游戏的TypeScript(6)TypeScript的元编程
  • Spring 中四种常见初始化方法,对比 static {} 和 @PostConstruct 在并发,Spring 加载顺序大致为: JVM 加载类
  • 4.29 tag的完整实现和登录页面的初步搭建
  • Python 数据智能实战 (13):AI的安全可靠 - 电商数据智能的红线与指南
  • qt国际化翻译功能用法
  • 哈尔滨服务器租用
  • 亿级流量系统架构设计与实战(四)
  • 第九节:图像处理基础-图像几何变换 (缩放、旋转、平移、翻转)
  • 数据结构(一)——线性表的顺序表示和实现
  • Xcode16提交App Store审核时提示bitcode报错
  • 【coze】工作流(B站视频总结改写)
  • 什么是原子变量
  • 全国首例在沪完成,这项近视治疗手术不到10秒
  • 王耀庆化身“罗朱”说书人,一人挑战15个角色
  • 习近平在俄罗斯媒体发表署名文章
  • 央行行长:未来还可以扩大结构性货币政策工具规模或创设新的政策工具
  • 象屿集团:对去化压力大、市场有效需求不足区域坚决暂停投资,打造多元上市路径
  • 李翔宁:城市的每个人都参与了上海的建造,这一过程还在持续