Ceph——部署

news2025/1/13 15:53:51

Ceph简介

        Ceph是一款开源的 SDS 分布式存储,它具备极高的可用性、扩展性和易用性,可用于存
储海量数据
        
        Ceph的存储节点可部署在通用服务器上,这些服务器的 CPU 可以是 x86 架构的,也可以
ARM 架构的。 Ceph 存储节点之间相互通信,以便对存储的数据进行动态复制和重分配

 Ceph的技术优势

采用 RADOS 系统将所有数据作为对象,存储在存储池中
使用 CRUSH 算法计算出对象所对应的存储位置
去中心化,客户端可根据 CRUSH 算法自行计算出对象存储位置,然后进行数据读写
集群可自动进行扩展、数据再平衡、数据恢复等

Ceph的组件总览

• MON MGR MDS OSD 属于 ceph 的后端存储组件
• RADOSGW RBD CEPHFS LIBRADOS 属于 ceph 的访问方式

 


1、ceph的安装

192.168.186.100 ceph01.novalocal ceph01
192.168.186.101 ceph02.novalocal ceph02
192.168.186.102 ceph03.novalocal ceph03
192.168.186.103 Client

1.1 前期准备

1、更改主机名
[root@localhost ~]# hostnamectl hostname ceph01.novalocal
[root@localhost ~]# hostnamectl hostname ceph02.novalocal
[root@localhost ~]# hostnamectl hostname ceph03.novalocal
2、更改hosts文件
[root@ceph02 ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.186.100 ceph01.novalocal ceph01
192.168.186.101 ceph02.novalocal ceph02
192.168.186.102 ceph03.novalocal ceph03
3、添加完成后,在 ceph01 上 ping 各个主机名,保证网络通信正常。

4、关闭防火墙和SElinux,配置时间同步
systemctl disable firewalld
yum install -y chrony
systemctl enable chronyd --now

1.2 下载安装cephadm

1、安装git
[root@ceph01 ~]#dnf install -y git
[root@ceph01 ~]# git --version
git version 2.33.0
2、下载cephadm
[root@ceph01 ~]#git clone https://gitee.com/yftyxa/openeuler-cephadm.git
3、下载完成后,将下载到的 cephadm 复制到/usr/sbin/下,并为其添加可执行权限,具体命令为:
[root@ceph01 ~]# cp openeuler-cephadm/cephadm /usr/sbin && chmod a+x /usr/sbin/cephadm

1.3 添加ceph所需要的yum源

[root@ceph01 ~]# vim /etc/yum.repos.d/ceph.repo 
[Ceph]
name=Ceph packages for $basearch
baseurl=http://download.ceph.com/rpm-nautilus/el7/$basearch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
priority=1
 
[Ceph-noarch]
name=Ceph noarch packages
baseurl=http://download.ceph.com/rpm-nautilus/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
priority=1
 
[ceph-source]
name=Ceph source packages
baseurl=http://download.ceph.com/rpm-nautilus/el7/SRPMS
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
priority=1

1.4 安装官方推荐容器引擎

1、在所有主机上使用以下命令添加容器引擎所需 yum 源:
[root@ceph01 ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-8-reg.repo
2、使用以下命令安装对应容器引擎
[root@ceph01 ~]# yum install podman-3.3.1-9.module_el8.5.0+988+b1f0b741.x86_64 lvm2 -y
3、完成后,重启所有主机

2、 安装部署ceph集群

2.1 在ceph01上初始化ceph集群

2.2 为集群添加node节点 

2、为集群添加 node 节点,使用以下命令创建 ceph 的管理容器
[root@ceph02 ~]# cephadm shell
3、使用以下命令生成集群公钥,并将其拷贝到剩余主机:
[root@ceph01 ~]# ssh-keygen  -t rsa
[root@ceph01 ~]# ssh-copy-id ceph02.novalocal 
[root@ceph01 ~]# ssh-copy-id ceph03.novalocal 
 
4、使用以下命令将全部主机添加到集群内:
[ceph: root@ceph01 /]# ceph orch host add ceph02.novalocal
Added host 'ceph02.novalocal' with addr '192.168.186.101'
[ceph: root@ceph01 /]# ceph orch host add ceph03.novalocal

5、添加完成后,使用以下命令查看当前集群中主机状态:
[ceph: root@ceph01 /]# ceph orch host ls
HOST              ADDR             LABELS  STATUS  
ceph01.novalocal  192.168.186.100  _admin          
ceph02.novalocal  192.168.186.101                  
ceph03.novalocal  192.168.186.102                 
3 hosts in cluster

6、等待系统自动将服务部署到所有节点中(时间较长,请耐心等待),部署完成后状态如下:
[ceph: root@ceph01 /]# ceph orch ls
NAME           PORTS        RUNNING  REFRESHED  AGE  PLACEMENT  
alertmanager   ?:9093,9094      1/1  107s ago   4d   count:1    
crash                           3/3  109s ago   4d   *          
grafana        ?:3000           1/1  107s ago   4d   count:1    
mgr                             2/2  109s ago   4d   count:2    
mon                             3/5  109s ago   4d   count:5    
node-exporter  ?:9100           1/3  109s ago   4d   *          
prometheus     ?:9095           1/1  107s ago   4d   count:1    
[ceph: root@ceph01 /]# 
​
7、使用以下命令取消 mon 服务的自动扩展功能:
[ceph: root@ceph01 /]# ceph orch apply mon --unmanaged=true
Scheduled mon update...
8、取消以后,mon 对应的“PLACEMENT”值变为“unmanaged”,如下图所示:
[ceph: root@ceph01 /]# ceph orch ls
NAME           PORTS        RUNNING  REFRESHED  AGE  PLACEMENT    
alertmanager   ?:9093,9094      1/1  3m ago     4d   count:1      
crash                           3/3  5m ago     4d   *            
grafana        ?:3000           1/1  3m ago     4d   count:1      
mgr                             2/2  5m ago     4d   count:2      
mon                             3/5  5m ago     93s  <unmanaged>  
node-exporter  ?:9100           1/3  5m ago     4d   *            
prometheus     ?:9095           1/1  3m ago     4d   count:1  

9、使用以下命令为 ceph02 和 ceph03 添加标签“_admin”:
[ceph: root@ceph01 /]#  ceph orch host label add ceph02.novalocal _admin
Added label _admin to host ceph02.novalocal
[ceph: root@ceph01 /]#  ceph orch host label add ceph03.novalocal _admin
Added label _admin to host ceph03.novalocal
​
10、使用以下命令将 mon 和 mgr 组件部署到指定节点中:
[ceph: root@ceph01 /]#  ceph orch apply mon --placement="label:_admin"
Scheduled mon update...
[ceph: root@ceph01 /]# ceph orch apply mgr --placement="label:_admin"
Scheduled mgr update...
 

2.3 添加OSD

1、使用以下命令,将所有主机上的硬盘添加为 OSD:
[ceph: root@ceph01 /]# ceph orch apply osd --all-available-devices
Scheduled osd.all-available-devices update...

2、添加完成后,使用命令“ceph orch ps”查看所有主机上的组件:

3、 其他 ceph 常用操作

3.1 移除服务

1、首先将 ceph02 中的服务筛选出来,具体命令如下

2、首先删除命令“ceph orch apply <name> --unmanaged=true”关闭集群组件的自动扩展,
[ceph: root@ceph01 /]# ceph orch apply crash --unmanaged=true
Scheduled crash update...
[ceph: root@ceph01 /]# ceph orch apply mon --unmanaged=true
Scheduled mon update...
[ceph: root@ceph01 /]# ceph orch apply mgr --unmanaged=true
Scheduled mgr update...

3、使用对应命令删除指定服务:
[ceph: root@ceph01 /]# ceph orch daemon rm crash.ceph02
Removed crash.ceph02 from host 'ceph02.novalocal'
[ceph: root@ceph01 /]# ceph orch daemon rm mon.ceph02 --force
Removed mon.ceph02 from host 'ceph02.novalocal' 
[ceph: root@ceph01 /]# ceph orch daemon rm mgr.ceph02.bkrmmo
Removed mgr.ceph02.bkrmmo from host 'ceph02.novalocal'

 3.2 移除OSD

1、使用以下命令停止ceph02中的osd:
[ceph: root@ceph01 /]# ceph orch daemon stop osd.0
Scheduled to stop osd.0 on host 'ceph02.novalocal'
[ceph: root@ceph01 /]# ceph orch daemon stop osd.1
Scheduled to stop osd.1 on host 'ceph03.novalocal'
[ceph: root@ceph01 /]# ceph orch daemon stop osd.2
Scheduled to stop osd.2 on host 'ceph01.novalocal'

2、待所有osd停止后,使用以下命令移除osd:
[ceph: root@ceph01 /]# ceph osd rm 0
removed osd.0
[ceph: root@ceph01 /]# ceph osd rm 1
removed osd.1
[ceph: root@ceph01 /]# ceph osd rm 2
removed osd.2
[ceph: root@ceph01 /]# 

3、然后擦除对应磁盘的数据:
[ceph: root@ceph01 /]# ceph orch device zap ceph02.novalocal /dev/sdb --force
zap successful for /dev/sdb on ceph02.novalocal

4、最后删除CURSH的osd映射:
[ceph: root@ceph01 /]# ceph osd crush rm osd.0
removed item id 0 name 'osd.0' from crush map

5、等待CRUSH中的osd映射删除完成后,关闭自动osd部署功能,命令为:
[ceph: root@ceph01 /]# ceph orch apply osd --all-available-devices --unmanaged=true
Scheduled osd.all-available-devices update...
[ceph: root@ceph01 /]# ceph orch ls
NAME                       PORTS        RUNNING  REFRESHED  AGE  PLACEMENT    
alertmanager               ?:9093,9094      1/1  7m ago     5d   count:1      
crash                                       2/3  7m ago     35m  <unmanaged>  
grafana                    ?:3000           1/1  7m ago     5d   count:1      
mgr                                         2/2  7m ago     34m  <unmanaged>  
mon                                         2/5  7m ago     35m  <unmanaged>  
node-exporter              ?:9100           3/3  8m ago     5d   *            
osd.all-available-devices                     0  8m ago     12s  <unmanaged>  
prometheus                 ?:9095           1/1  7m ago     5d   count:1 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1548066.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

国内ip怎么来回切换:操作指南与注意事项

在数字化时代&#xff0c;互联网已经成为我们日常生活、学习和工作中不可或缺的一部分。然而&#xff0c;随着网络应用的不断深化&#xff0c;用户对于网络环境的稳定性和安全性要求也越来越高。其中&#xff0c;IP地址作为网络中的关键标识&#xff0c;其切换与管理显得尤为重…

软件产品在哪个阶段容易产生缺陷

软件产品在哪个阶段容易产生缺陷 软件缺陷由许多原因造成&#xff0c;如果把这些缺陷按照整个软件研发周期归纳起来&#xff0c;统计发现&#xff0c;需求规格说明书是软件存在缺陷最多的地方。 软件研发周期&#xff1a;需求文档->需求规格说明书->设计文档->编码-&g…

Pillow教程04:学习ImageDraw+Font字体+alpha composite方法,给图片添加文字水印

---------------Pillow教程集合--------------- Python项目18&#xff1a;使用Pillow模块&#xff0c;随机生成4位数的图片验证码 Python教程93&#xff1a;初识Pillow模块&#xff08;创建Image对象查看属性图片的保存与缩放&#xff09; Pillow教程02&#xff1a;图片的裁…

大数据分析案例-基于决策树算法构建大学毕业生薪资预测模型

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

Web开发基本流程

Web是全球广域网&#xff0c;能够通过浏览器访问的网站。我们要访问网站&#xff0c;首先要在浏览器输入对应的域名。 浏览器也是一个程序&#xff0c;京东的网站也是一个程序&#xff0c;在京东那边电脑运行着&#xff0c;我们只是通过浏览器远程访问。京东的程序由三个部分组…

Redis入门到实战-第十六弹

Redis实战热身Cuckoo filter篇 完整命令参考官网 官网地址 声明: 由于操作系统, 版本更新等原因, 文章所列内容不一定100%复现, 还要以官方信息为准 https://redis.io/Redis概述 Redis是一个开源的&#xff08;采用BSD许可证&#xff09;&#xff0c;用作数据库、缓存、消息…

Java毕业设计-基于springboot开发的学生就业管理系统-毕业论文+答辩PPT(附源代码+演示视频)

文章目录 前言一、毕设成果演示&#xff08;源代码在文末&#xff09;二、毕设摘要展示1、开发说明2、需求分析3、系统功能结构 三、系统实现展示1、前台功能模块2、后台功能模块2.1 管理员功能2.2 学生功能2.3 企业功能 四、毕设内容和源代码获取总结 Java毕业设计-基于spring…

CDLF20-80_立式不锈钢多级泵

一、产品概述CDLF20-80 立式不锈钢多级泵是一款高效能、节能型的多级离心泵&#xff0c;它采用了先进的设计和制造技术&#xff0c;以确保泵的高效率和长期稳定运行。该泵主要用于城市供水、锅炉给水、高层建筑供水及消防系统等场合&#xff0c;能够处理清洁的或稍有污染的冷热…

智能医疗-方案优势

实时更新&#xff0c;信息展示更便利 电子标签床头信息卡可设计特定的信息模板展示病患信息&#xff0c;并可根据治疗进展实时更新&#xff0c;病患通过床头电子标签即可了解病情信息。 —签多能&#xff0c;医护管理更高效 电子墨水屏技术改进了传统院内展示内容单一、更换成…

Autosar Crypto Interface学习笔记

文章目录 前言Functional specificationError classificationError detection API specificationType DefinitionsFunction definitionsGeneral APICryIf_InitCryIf_GetVersionInfo Job Processing InterfaceCryIf_ProcessJobDispatch Key IDs匹配KeyId Job Cancellation Inter…

vmware,linux,centos7,NAT模式下的网络配置

centos7的NAT网络配置 NAT模式说明虚拟机网络配置工具本机配置net8网络&#xff08;NAT的网域&#xff09;本机的IP配置(用于net8局域网内解析主机IP和域名对应关系使用)&#xff08;可选&#xff09;虚拟机内的网络配置虚拟机ping不通www.baidu.com的情况下虚拟机ping可以ping…

【双指针】Leetcode 三数之和

题目解析 15. 三数之和 这道题有两个需要注意的地方&#xff1a;1. 三个数字也不可以是同一个位置上的 2. 最终结果里面的三元组不可以是重复的 所以这道题就需要对结果实现去重这一个逻辑&#xff0c;遇到相同的数字就需要往后面移动&#xff0c;忽略 算法讲解 1. 首先对数…

2024蓝桥杯每日一题(状压DP)

备战2024年蓝桥杯 -- 每日一题 Python大学A组 试题一&#xff1a;毕业旅行问题 试题二&#xff1a;蒙德里安的梦想 试题三&#xff1a;最短Hamilton路径 试题四&#xff1a;国际象棋 试题一&#xff1a;毕业旅行问题 【题目描述】 小明目前在做一份毕…

集合系列(十六) -集合知识回顾整理

一、摘要 在 Java 中&#xff0c;集合大致可以分为两大体系&#xff0c;一个是 Collection&#xff0c;另一个是 Map&#xff0c;都位于java.util包下。 Collection &#xff1a;主要由 List、Set、Queue 接口组成&#xff0c;List 代表有序、重复的集合&#xff1b;其中 Set…

一文读懂Cache一致性原理

1. 为何需要cache一致性 访问memory数据的速度相比core的运行速度来说&#xff0c;要花费更多的时钟周期&#xff0c;为了减轻这个差异引进了存储器层次结构&#xff0c;如图1所示。在层次结构中&#xff0c;越往上&#xff0c;读写速度越快&#xff0c;价格更贵&#xff0c;存…

Prometheus(六):Blackbox监控安装配置

目录 1 Blackbox Exporter安装配置1.1 Blackbox Exporter简介1.2 安装1、安装-使用源码包安装下载安装blackbox.yml文件配置快速启动文件 2、安装-使用docker 1.3 Prometheus配置1、http监控2、ping探测-ip3、https probe-DNS解析4、metrics配置5、TCP监控-探测端口 总结 1 Bla…

Element UI中日期选择日(date-picker)等其他选择器下拉显示错位、位置错误解决

省流版 给选择器加上唯一key&#xff08;下面的想看就看&#xff09; 问题复现 需求是用一个下拉切换时间维度的选择&#xff0c;分别为年度、季度、月度&#xff0c;但是开发的时候发现&#xff0c;当切换的时候&#xff0c;视图可正常切换&#xff0c;但点击选择时却发现选…

InfoNCE loss

InfoNCE loss是一种用于自监督学习的损失函数&#xff0c;通常用于训练对比学习模型&#xff0c;如自编码器或神经网络。全称是"InfoNCE: Contrastive Estimation of Neural Entropy"&#xff0c;基于对比学习的思想&#xff0c;旨在最大化正样本的相似性&#xff0c…

关于 C/C++ 1Z(17)开源项目 openppp2 协同程式切换工作流

下述为开源项目 openppp2&#xff08;github&#xff09;构建工作在 C/C 17 的 stackful 有栈协同程式的工作流切换示意图&#xff1a; 在 openppp2 之中采用人工手动方式管理协同程式之间的切换&#xff0c;每个中断过程只是保存线程栈信息&#xff08;如寄存器、当前#PC EIP&…

利用idea创建一个maven web工程

1.创建Maven项目 2.选择不使用Web项目骨架&#xff08;即普通maven项目&#xff09; 3.创建成功后在pom.xml设置打包方式为war&#xff0c;并重构maven项目 <packaging>war</packaging> 4.补齐Maven Web项目缺失webapp的目录结构 右键项目名打开模块设置&#xf…