一文了解Ceph原理以及常见ceph指令

news2024/9/23 1:29:05

一、Ceph介绍
什么是分布式存储?
与集中式存储相反,分布式存储通常采用存储单元集群的形式。并且具有在集群节点之间进行数据同步协调的机制。其目的是为了通过服务器解决大规模,高并发情况下的Web访问问题。

Ceph是一个统一的、分布式的存储系统,设计初衷是提供较好的性能、可靠性和可扩展性。涉及初衷是成为一个可避免单点故障的分布式文件系统,提供较好的性能、可靠性和可扩展性。通过网络将数据分散存储在多台独立的设备上。
特性:
统一性:支持多种存储的应用形式,如块存储、文件存储、对象存储。
**1、块存储:**存储设备共享给客户端的是一块裸盘,那么该存储设备提供的就是块存储
2、文件存储:为了解决数据共享,并且保持一致,存储设备中分出一块空间,然后制作文件系统,然后在存储设备中完成挂载,再共享给客户端。
典型代表:FTP 、NFS 为了克服块存储无法共享的问题,所以有了文件存储,在服务器上架设FTP与NFS服务就是文件存储。
3、对象存储:为了解决多服务器之间共享数据,并且保证一致,没有文件系统的概念,数据的存储分为两部分元数据+内容,客户端通过url地址的方式提交元数据与内容
分布式:
   传统集群架构,集群规模增大,mysql数据库的集群规模必然也随之增大,这完全就是集中式的思想带来的弊端。
   ceph内部集群的数据共享完全是通过算法算出来,根本不需要数据库这个组件。
   ceph缺点:耗费CPU
任何集群追求的三大特点:
   1、性能
   2、可靠性:没有单点故障
   3、可扩展性,未来可以理论上无限扩展集群规模

二、Ceph服务架构
一个Ceph存储集群至少需要一个 Ceph Monitor(监视器)、Ceph Manager(管理器)和 Ceph OSD(对象存储守护进程)
在这里插入图片描述
Monitors
Ceph Monitor (ceph-mon) 通过维护包括监视器表(MonMap)、管理表(MGRMap)、OSD表(OSDMap)等组件状态表的保障集群正常运行。ceph-osd 相互之间协调工作时,需要从 ceph-mon 中获取这些表的信息。ceph-mon 还负责管理 ceph-osd 和客户端之间的身份验证。一个Ceph集群为了保证冗余和高可用性通常需要至少三个监视器,它们之间通过Paxos同步数据。
Managers
Ceph Manager(ceph-mgr)负责跟踪运行时指标和 Ceph 集群的当前状态,包括存储利用率、当前性能指标、集群报警和系统负载等。ceph-mon 和 ceph-mgr 协调配合共同维持集群稳定。高可用性通常需要至少两个管理器。
OSDS
Ceph OSD(ceph-osd)全称是Object Storage Device,负责包括处理数据复制、恢复、重新平衡在内的实际数据存储工作,并且一个 OSD 检查可以通过检查其他 OSD 的心跳的方式将其他 OSD 的异常状态上报给 MON。一个Ceph集群一般都有很多个OSD。

注:总结起来,MON是Ceph集群的监视器,MDS是CephFS元数据服务器,OSD是实际存储数据的守护进程,而 PG 是用于对象的分布和复制的逻辑分组。这些组件共同协作,以提供高可靠性、高性能和可扩展性的存储服务。

Ceph逻辑组件
Object
Ceph 最底层的存储单元是 Object 对象,每个 Object 包含元数据和原始数据。

PG
PG 全称 Placement Grouops,是一个逻辑的概念,一个 PG 包含多个 OSD。引入 PG 这一层其实是为了更好的分配数据和定位数据。

CRUSH
CRUSH 是 Ceph 使用的数据分布算法,类似一致性哈希,让数据分配到预期的地方。

文件存储
不管是来自 Ceph 块设备、 Ceph 对象存储、 Ceph 文件系统、还是基于 librados 的自定义存储,将数据存储到 Ceph 集群上的步骤大致相同,大概可以归纳为Ceph客户端将数据存放在存储对象中,存储对象经过Ceph集群处理被发送给了 OSD ,由 OSD 将对象持久化到磁盘上。
在这里插入图片描述
三、Ceph常用命令
1、启动一个ceph进程
2、查看机器的监控状态【查看集群健康状态细节】

ceph health 【detail】

3、查看ceph的实时运行状态(常用)

ceph -w

4、检查ceph状态信息

ceph -s

5、查看ceph存储空间

ceph df

6、查看ceph集群中的认证用户及相关的key

ceph auth list

7、查看ceph log日志所在的目录

ceph-conf --name mon.node1 --show-config-value log_file

2、mon
MON(Monitor):MON是Ceph集群的监视器,负责维护Ceph集群的状态和元数据信息。它们定期互相通信以确保集群中各个组件的正确运行。MON还负责存储Ceph Map,它是存储集群的全局拓扑和配置信息,用于帮助客户端和其他组件了解数据在集群中的分布情况。
1、查看mon的状态信息

ceph mon stat

输出信息:

e5: 5 mons at {ceph01=[v2:10.30.129.85:3300/0,v1:10.30.129.85:6789/0],ceph02=[v2:10.30.129.86:3300/0,v1:10.30.129.86:6789/0],ceph03=[v2:10.30.129.87:3300/0,v1:10.30.129.87:6789/0],ceph04=[v2:10.30.129.83:3300/0,v1:10.30.129.83:6789/0],ceph05=[v2:10.30.129.84:3300/0,v1:10.30.129.84:6789/0]}, election epoch 26, leader 0 ceph01, quorum 0,1,2,3,4 ceph01,ceph02,ceph03,ceph04,ceph05

2、查看mon的选举状态

ceph quorum_status

3、查看mon的映射信息

ceph mon dump

4、删除一个mon节点

ceph mon remove node1

5、获得一个正在运行的mon map,为二进制mon.bin

ceph mon getmap -o mon.bin

3、mds
MDS(Metadata Server):MDS是Ceph文件系统(CephFS)的元数据服务器。它负责存储并维护CephFS中文件系统的目录和文件元数据信息。MDS使得多个客户端可以同时访问CephFS,并提供了高度可扩展的文件系统服务。
1、查看msd状态

ceph mds stat

输出结果:

cephfs-1/1/1 up  {0=openstack1=up:active}

2、查看msd的映射信息

ceph mds dump

3、删除一个mds节点

ceph  mds rm 0 mds.node1

4、osd
OSD(Object Storage Daemon):OSD是Ceph存储集群的核心组件,也是实际存储数据的地方。每个OSD是一个存储节点,由一个守护进程管理。它负责接收、存储和处理RADOS对象存储的实际数据。OSD还负责数据的复制、回复、恢复和平衡等功能,以确保数据的高可用性和可靠性。
1、查看ceph osd运行状态

ceph osd stat

2、查看osd映射信息

ceph osd dump

3、查看osd的目录树

ceph osd tree

4、查看osd各硬盘使用率

ceph osd df

5、查看osd延时

ceph osd perf

5、PG组
PG(Placement Group):PG是一组对象的逻辑分组,用于将数据在OSD节点之间进行分布和复制。PG是Ceph中数据存储和复制的基本单元。PG 使用 CRUSH 算法决定对象在存储集群中的位置和复制策略。
PG所表达的是对象的分布和副本放置规则,通过将对象分布在多个OSD节点上,确保数据的可靠性和性能。
1、查看pg组的映射信息

ceph pg dump

2、查看一个PG的map

ceph pg map 2.c

6、pool
1、查看ceph集群中的pool数量

ceph osd lspools

2、在ceph集群中创建一个pool

ceph osd pool create jiayuan 100            #这里的100指的是PG组

3、为一个ceph pool配置配额

ceph osd pool set-quota data max_objects 10000

4、在集群中删除一个pool

ceph osd pool delete testpool testpool  --yes-i-really-really-mean-it  #集群名字需要重复两次

备注:删除pool需要在配置文件ceph.conf中 [mon]添加mon allow pool delete = true并重启mon服务, 如:

systemctl restart ceph-mon.target

5、显示集群中pool的详细信息

rados df

8、查看data池的pg数量

ceph osd pool get volumes pg_num

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

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

相关文章

2017年认证杯SPSSPRO杯数学建模D题(第二阶段)教室的合理设计全过程文档及程序

2017年认证杯SPSSPRO杯数学建模 D题 教室的合理设计 原题再现: 某培训机构租用了一块如图(见附件)所示的场地,由于该机构开设了多种门类的课程,所以需要将这块场地通过加入一些隔墙来分割为多个独立的教室和活动区。…

数据目录驱动测试——深入探讨Pytest插件 pytest-datadir

在软件测试中,有效管理测试数据对于编写全面的测试用例至关重要。Pytest插件 pytest-datadir 提供了一种优雅的解决方案,使得数据目录驱动测试变得更加简单而灵活。本文将深入介绍 pytest-datadir 插件的基本用法和实际案例,助你更好地组织和利用测试数据。 什么是pytest-da…

分布式锁实现(mysql,以及redis)以及分布式的概念(续)redsync包使用

道生一,一生二,二生三,三生万物 这张尽量结合上一章进行使用:上一章 这章主要是讲如何通过redis实现分布式锁的 redis实现 这里我用redis去实现: 技术:golang,redis,数据结构 …

github 推送报错 ssh: connect to host github.com port 22: Connection timed out 解决

🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 仓库主页: Gitee 💫 Github 💫 GitCode 💖 欢迎点赞…

未来已来:概念车展漫游可视化的震撼之旅

随着科技的飞速发展,汽车行业正经历着前所未有的变革。而在这场变革中,概念车展无疑是一个引领潮流、展望未来的重要舞台。 想象一下,你站在一个巨大的展厅中,四周陈列着各式各样的概念车。它们有的造型独特,有的功能先…

[BJDCTF2020]ZJCTF,不过如此(特详解)

php特性 1.先看代码,提示了next.php,绕过题目的要求去回显next.php 2.可以看到要求存在text内容而且text内容强等于后面的字符串,而且先通过这个if才能执行下面的file参数。 3.看到用的是file_get_contents()函数打开text。想到用data://协…

真心话大冒险!关于自动驾驶的现状和未来,Mobileye的回答是?

过去的十年,可以说是从主动安全、辅助驾驶到自动驾驶快速演进的周期。这其中,无论是技术迭代,还是成本优化,以及技术和商业化路线的争论,备受行业关注。 同时,市场上的声音,也很多。有激进、谨慎…

详细Nginx和PHP-FPM的进程间通信使用

工作中考虑到PHP-FPM效率,发现PHP-FPM和NGINX的进程通信不止配置端口这一种方式:bowtie: Nginx和PHP-FPM的进程间通信有两种方式,一种是TCP,一种是UNIX Domain Socket. 其中TCP是IP加端口,可以跨服务器.而UNIX Domain Socket不经过网络,只能用于Nginx跟PHP-FPM都在同…

基于YOLOv8的摔倒行为检测系统(Python源码+Pyqt6界面+数据集)

💡💡💡本文主要内容:通过实战基于YOLOv8的摔倒行为检测算法,从数据集制作到模型训练,最后设计成为检测UI界面 人体行为分析AI算法,是一种利用人工智能技术对人体行为进行检测、跟踪和分析的方法。通过计算…

linux基础指令【中篇】

📙 作者简介 :RO-BERRY 📗 学习方向:致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 📒 日后方向 : 偏向于CPP开发以及大数据方向,欢迎各位关注,谢谢各位的支持 目录 补充上篇的细节1.sta…

C#~Winform代码调整快捷键

右移 选中要移动的代码 -> Tab 结果: 左移 选中要移动的代码 -> ShiftTab 结果: 自动调整 选中需要调整的代码 -> CtrlKD 调整后:

论文解读--Wideband 120 GHz to 140 GHz MIMO Radar:System Design and Imaging Results

120~140GHz宽带MIMO雷达:系统设计和成像结果 摘要 本文提出了一种工作频率在120 GHz ~ 140 GHz之间的宽带FMCW MIMO雷达传感器。该传感器基于SiGe技术制造的雷达芯片组,并使用MIMO方法来提高角度分辨率。MIMO操作通过发射机的时域复用实现。该雷达能够通…

[蓝桥杯]真题讲解:冶炼金属(暴力+二分)

蓝桥杯真题视频讲解&#xff1a;冶炼金属&#xff08;暴力做法与二分做法&#xff09; 一、视频讲解二、暴力代码三、正解代码 一、视频讲解 视频讲解 二、暴力代码 //暴力代码 #include<bits/stdc.h> #define endl \n #define deb(x) cout << #x << &qu…

Python 中的多进程(01/2):简介

一、说明 本文简要而简明地介绍了 Python 编程语言中的多处理&#xff08;多进程&#xff09;。解释多处理的基本信息&#xff0c;如什么是多处理&#xff1f;为什么用多处理&#xff1f;在python中怎么办等。 二、什么是多处理&#xff1f; 多处理是指系统同时支持多个处理器的…

【Android】Android中的系统镜像由什么组成?

文章目录 总览Boot Loader 的加锁与解锁Boot 镜像内核RAM diskARM 中的设备树 (Device Tree) /System 和/Data 分区镜像参考 总览 各种Android设备都只能刷专门为相应型号的设备定制的镜像。 厂商会提供一套系统镜像把它作为“出厂默认”的 Android 系统刷在设备上。 一个完…

Obsidian - 使用小记(Typora切换过来)

文章目录 关于 Obsidian打开已有的 文件夹将图片改为 Typora 的保存文件夹 关于 Obsidian 官网 https://obsidian.md/github : https://github.com/obsidianmd 个人版免费 一直习惯用 Typora 编写markdown git 记录笔记&#xff0c;多次被安利 Obsidian 后&#xff0c;今天尝…

OFD格式文件预览解决方案

问题 项目中文件预览统一采用的是pc端转pdf后在移动端上面采用Pdfview这个组件进行查看&#xff0c;现后端暂不支持ofd转pdf采用ofd.umd.js查看ofd文件&#xff0c;用WebView直接访问后端给的预览地址会出现跨域问题。 解决办法 拿到pc端预览的ofd.umd.js文件编写预览ofd文件…

JSON-handle工具安装及使用

目录 介绍下载安装简单操作 介绍 JSON-Handle 是一款非常好用的用于操作json的浏览器插件&#xff0c;对于开发人员和测试人员来说是一款很好用的工具&#xff0c;如果你还没有用过&#xff0c;请赶紧下载安装吧&#xff0c;下面是安装过程和具体使用。 下载安装 点击下载JSON…

IaC基础设施即代码:使用Terraform 连接huaweicloud华为云 并创建后端OBS

目录 一、实验 1.环境 2.huaweicloud华为云创建用户 3.Windows使用Terraform 连接 huaweicloud 4.Windows给Terraform项目添加huaweicloud华为云OBS &#xff08;实现代码与资源分离&#xff09; 二、问题 1. Windows terraform 初始化失败 2.Terraform 初始化后端资源失…

Sulfo Cy2 Biotin,水溶性 Cy2 生物素,能够与各种氨基基团特异性结合

您好&#xff0c;欢迎来到新研之家 文章关键词&#xff1a;Sulfo Cyanine2 Biotin&#xff0c;Sulfo Cy2 Biotin&#xff0c;水溶性 Cy2 生物素&#xff0c;Sulfo-Cy2-Biotin&#xff0c;水溶性-Cy2-生物素 一、基本信息 产品简介&#xff1a;Sulfo Cyanine2 Biotin, also k…