当前位置:网站首页>释放数据力量的Ceph-尚文网络xUP楠哥
释放数据力量的Ceph-尚文网络xUP楠哥
2022-07-03 03:30:00 【尚文网络】
进Q群11372462领取专属报名福利!
#说在前面
小时候,特别希望自己能够变身"绿巨人",释放无穷的力量;长大后,参加了工作,投身于IT行业,在探索和前进的过程中,发现身边有这么一位可靠的伙伴,能够为我们提供关于数据存储的多种形式的融合架构,提供极致的性能,并且支持多种业务,释放数据能量;俨然实现了小时候我们希望自己变成绿巨人,释放力量的梦想;这位可靠的伙伴,就是来自于红帽的开源分布式存储解决方案Ceph!
(图片摘自网络)
近几年,随着云计算诞生、企业上云、DevOPS、数字化转型等关键名词的出现,使得整个IT业界发生快速的变化,导致数据存储类型也变得更加的丰富多样,数据量也变得更加的庞大;什么块存储、文件存储、对象存储包括对接公有云上各类的存储服务等,也就是说,分布式存储技术的需求越来越多,此时我们需要的是能够和存储设备硬件实现松耦合的软件定义存储相关的解决方案,能够将以上提到的各类数据存储类型整合,实现统一的存储管理和监控平台。
(图片摘自网络)
红帽的Ceph就是侧重于基于块、对象和文件的数据提供统一存储和管理这样的解决方案。接下来我们就要唠一下Ceph的定义、它在分布式存储软件定义方向中占有绝对的Leader地位。
#什么是Ceph
Ceph是开源的分布式存储系统,用于块数据、对象等。通过原生API中AWS S3或者OpenStack swfit API方式进行访问。基于块存储访问通过块协议以及iscsi提供。
Ceph的官方文档地址:
https://docs.ceph.com/en/pacific/
#Ceph的架构
(图片摘自网络)
Ceph应用到不同的场景中,如对象存储是通过RADOSGW来进行数据存储的,能够提供亚马逊AWS中的S3风格以及红帽OpenStack云平台架构中的Swift风格所对应的接口;块存储的话,是通过RBD将块设备映射给主机或者虚拟机中,作为持久化的块设备(磁盘)进行关联使用;另外,文件存储方式提供了客户端Linux内核级别和FUSE级别的访问方式。组后,LIBRADOS库是可以直接支持原生访问存储,通过Go、C、C++、Python等语言调用访问存储。
#Ceph的组成

- pCeph OSDs:
Ceph OSD 守护进程( Ceph OSD )的功能是存储数据,处理数据的复制、恢复、回填、再均衡,并通过检查其他OSD 守护进程的心跳来向 Ceph Monitors提供一些监控信息。当 Ceph存储集群设定为有2个副本时,至少需要2个 OSD 守护进程,集群才能达到 active+clean状态(Ceph默认有3个副本,可以调整副本数)。 - pMonitors: Ceph
Monitor维护着展示集群状态的各种图表,包括监视器图、 OSD 图、归置组( PG )图、和 CRUSH 图。
Ceph保存着发生在Monitors 、 OSD 和 PG上的每一次状态变更的历史信息(称为 epoch )。 - pManager:管理器:
Ceph管理器守护程序(Cephmgr)负责跟踪运行时指标和Ceph群集的当前状态,包括存储利用率、当前性能指标和系统负载。Ceph管理器守护进程还托管基于python的模块,以管理和公开Ceph集群信息,包括基于web的Ceph仪表板和Restful
APT。高可用性通常需要至少两个管理器。 - pMDSs: Ceph元数据服务器( MDS )
为Ceph文件系统存储元数据(也就是说,Ceph块设备和 Ceph对象存储不使用MDS )。元数据服务器使得 POSIX文件系统的用户们,可以在不对 Ceph存储集群造成负担的前提下,执行诸如 ls、find 等基本命令。
#Ceph的数据写入流程

以上是Ceph的存储和读写的流程图,从图中可以看出,Ceph保存的都一些对象,每一个对象都会有自己的id叫做oid,之后装载到类似存放对象的文件夹PGs,通过hash+掩码运算oid的方式产生pgid,表明对象所在的PG中。
再通过CRUSH算法分别放到对应的Ceph集群节点中对应的OSD,算法不同,落到OSD的位置也是不同,即产生副本。可以按照机架Rack 主机host等作为算法的依据分布不同的OSD。
#说在最后
正是因为Ceph具备了开源和完善存储的功能,国内不少做分布式存储的大厂都在借鉴Ceph的技术,加以功能扩展化。
举几个国内厂商的产品案例。其中,国内安全厂商深信服的企业级分布式存储产品EDS,可以看出其支持的存储协议完全都是借鉴Ceph所支持的功能。
另外就是xsky星辰天合,发布各类型的存储,也是在Ceph的基础之上进行自定义扩展。
国家在"十四五"规划中提出将开源列入数字经济发展的计划中,相信在国家政策支持开源的的大好环境下,开源系列的Ceph一定会成为分布式存储解决方案的半壁江山。UP楠哥先帮小伙伴们支棱到这里,后面通过大家伙使用的反馈,我再进行其它工具的详细分解。欢迎小伙伴们加群11372462,交流IT行业发展和知识,感觉这篇文章有用,也可以求个关注CSDN或者是扫描二维码,关注UPWEN的公众号。UP楠哥持续输出最纯粹的IT行业发展和知识!
边栏推荐
- Small guide for rapid formation of manipulator (VIII): kinematic modeling (standard DH method)
- 解决高並發下System.currentTimeMillis卡頓
- Hi3536c v100r001c02spc040 cross compiler installation
- New programmers use the isXXX form to define Boolean types in the morning, and are discouraged in the afternoon?
- [mathematical logic] propositional logic (propositional and connective review | propositional formula | connective priority | truth table satisfiable contradiction tautology)
- 别再用 System.currentTimeMillis() 统计耗时了,太 Low,StopWatch 好用到爆!
- MySQL practice 45 lecture [transaction isolation]
- Numpy warning visibledeprecationwarning: creating an ndarray from ragged needed sequences
- ffmpeg录制屏幕和截屏
- MongoDB簡介
猜你喜欢

Unity3d RPG implementation (medium)

VS 2019 配置tensorRT生成engine

The idea cannot be loaded, and the market solution can be applied (pro test)

Mongodb installation & Deployment

Applet get user avatar and nickname

Hi3536C V100R001C02SPC040 交叉编译器安装

Mysql Mac版下载安装教程

Summary of electromagnetic spectrum

递归:深度优先搜索

MySQL MAC download and installation tutorial
随机推荐
静态网页 和 动态网页的区别 & WEB1.0和WEB2.0的区别 & GET 和 POST 的区别
MongoDB主配置文件
C# WebRequest POST模式 ,基于“Basic Auth”口令认证模式,使用multipart/form-data方式上传文件及提交其他数据
900W+ 数据,从 17s 到 300ms,如何操作
解决高並發下System.currentTimeMillis卡頓
Node start server
Nce detail of softmax approximation
Don't use the new Dede collection without the updated Dede plug-in
Application of derivative in daily question
[set theory] partial order relation (partial order relation definition | partial order set definition | greater than or equal to relation | less than or equal to relation | integer division relation |
com. fasterxml. jackson. databind. Exc.invalidformatexception problem
MongoDB简介
VS克隆时显示403错误
Applet (continuous update)
Mysql Mac版下载安装教程
ffmpeg录制屏幕和截屏
[mathematical logic] normal form (conjunctive normal form | disjunctive normal form | major item | minor item | maximal item | minor item | principal conjunctive normal form | principal disjunctive no
The idea setting code is in UTF-8 idea Properties configuration file Chinese garbled
The difference between static web pages and dynamic web pages & the difference between Web1.0 and Web2.0 & the difference between get and post
LVGL使用心得