2024年最全分布式存储Ceph(一)_分布式文件存储 开源 c++(3)

#对象存储使用架构
​​

client
|
namenode 元数据服务器-管理服务器,存储这个文件的属性信息
|
------------------------------------
| | |
datanode datanode datanode #存储数据的数据节点

#注意:
1.分布式存储不一定是对象存储,所有的对象存储一定是分布式存储
2.分布式文件系统的元数据服务器存储的各个数据的位置信息
3.对象存储服务的的元数据服务器存储的是数据的属性信息

非分布式文件系统
#典型设备: FTP、NFS服务器
为了克服块存储文件无法共享的问题,所以有了文件存储。在服务器上安装FTP与NFS服务,就是文件存储。
优点:
造价低,随便一台机器就可以了。
方便文件共享。
缺点:
读写速率低。
传输速率慢。
使用场景:
日志存储。
有目录结构的文件存储。


3.分布式文件系统的特性
可扩展
分布式存储系统可以扩展到几百台甚至几千台的集群规模,而且随着集群规模的增长,系统整体性能表现为线性增长。分布式存储的水平扩展有以下几个特性:
1) 节点扩展后,旧数据会自动迁移到新节点,实现负载均衡,避免单点故障的情况出现;
2) 水平扩展只需要将新节点和原有集群连接到同一网络,整个过程不会对业务造成影响;

低成本
分布式存储系统的自动容错、自动负载均衡机制使其可以构建在普通的PC机之上。

易管理
可通过一个简单的WEB界面就可以对整个系统进行配置管理,运维简便,极低的管理成本。

4.块存储
#块存储的特点:
1.主要是将裸磁盘空间映射给主机使用的,共享的最小单位是块
2.使用的交换机是光纤交换机价格贵成本高
3.性能最好,扩展性好
4.不能做文件系统的共享

最典型的就是SAN(storage area network)(存储区域网)----有一个局域网里面有一个交换机,交换机上面连着服务器,所有服务器都是专业存储的设备,他们组成一个存储区域网,当我们用的时候只需要在这个区域网里面拿空间使用


#典型设备: 磁盘阵列,硬盘
优点:
通过Raid与LVM等手段,对数据提供了保护。
多块廉价的硬盘组合起来,提高容量。
多块磁盘组合出来的逻辑盘,提升读写效率。
缺点:
采用SAN架构组网时,光纤交换机,造价成本高。
主机之间无法共享数据。
使用场景:
虚拟机磁盘存储分配。
日志存储。
文件存储。

5.对象存储
为什么需要对象存储?
首先,一个文件包含了属性(术语叫metadata,元数据,例如该文件的大小、修改时间、存储路径等)以及内容(以下简称数据)。

而对象存储则将元数据独立了出来,控制节点叫元数据服务器(服务器+对象存储管理软件),里面主要负责存储对象的属性(主要是对象的数据被打散存放到了那几台分布式服务器中的信息),而其他负责存储数据的分布式服务器叫做OSD,主要负责存储文件的数据部分。当用户访问对象,会先访问元数据服务器,元数据服务器只负责反馈对象存储在哪些OSD,假设反馈文件A存储在B、C、D三台OSD,那么用户就会再次直接访问3台OSD服务器去读取数据。

由于是3台OSD同时对外传输数据,所以传输的速度就加快了。当OSD服务器数量越多,这种读写速度的提升就越大,通过此种方式,实现了读写快的目的。

另一方面,对象存储软件是有专门的文件系统的,所以OSD对外又相当于文件服务器,那么就不存在文件共享方面的困难了,也解决了文件共享方面的问题。

#所以对象存储的出现,很好地结合了块存储与文件存储的优点。

#优点:
具备块存储的读写高速。
具备文件存储的共享等特性。

使用场景: (适合更新变动较少的数据)
图片存储。
视频存储。


需要更多教程,微信扫码即可


 ![](https://img-blog.csdnimg.cn/6ade99f981cd4927b9ee5bd0aa40fd14.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5Y2D6ZSL5pWZ6IKy5a6Y5pa55Y2a5a6i,size_8,color_FFFFFF,t_70,g_se,x_16)


👆👆👆


****别忘了扫码领资料哦【******高清Java学习路线图******】****


****和****【**********全套学习视频及配套资料********】******


Ceph简介


Ceph使用C++语言开发,Sage Weil(Ceph论文发表者)于2011年创立了以Inktank公司主导Ceph的开发和社区维护。2014年Redhat收购inktank公司,并发布Inktank Ceph企业版(ICE)软件,业务场景聚焦云、备份和归档,支持对象存储和块存储以及文件系统存储应用。出现Ceph开源社区版本和Redhat企业版。


Ceph主要设计的初衷是变成一个可避免单节点故障的统一的分布式文件系统,提供较好的性能、可靠性和PB级别的扩展能力,而且是一种开源自由软件,许多融合的分布式文件系统都是基于Ceph开发的。


#### Ceph特性



高扩展性:使用普通x86服务器,支持10~1000台服务器,支持TB到EB级的扩展。
高可靠性:没有单点故障,多数据副本,自动管理,自动修复。

#可用于对象存储,块设备存储和文件系统存储


#### Ceph架构


![](https://img-blog.csdnimg.cn/img_convert/9cc928946779da1d15f81c655e5ceba9.png)


#### **基础存储系统RADOS**



Reliable, Autonomic, Distributed Object Store,即可靠的、自动化的、分布式的对象存储。所有存储在Ceph系统中的用户数据事实上最终都是由这一层来存储的。Ceph的高可靠、高可扩展、高性能、高自动化等等特性本质上也是由这一层所提供的。


#### **基础库librados**



这一层的功能是对RADOS进行抽象和封装,并向上层提供API,以便直接基于RADOS进行应用开发。由于RADOS是一个对象存储系统,因此,librados实现的API也只是针对对象存储功能的。

RADOS是协议很难直接访问,因此上层的RBD、RGW和CephFS都是通过librados访问的,目前提供PHP、Ruby、Java、Python、C和C++支持。


#### **高层应用接口**



radosgw: 对象网关接口(对象存储)
rbd: 块存储
cephfs:文件系统存储
其作用是在librados库的基础上提供抽象层次更高、更便于应用或客户端使用的上层接口。


#### Ceph的基本组件


![](https://img-blog.csdnimg.cn/img_convert/ca4669c1439ca1135a8af8b6ef3cbe4f.png)


Ceph主要有三个基本进程


Osd



OSD全称Object Storage Device,也就是负责响应客户端请求返回具体数据的进程。一个Ceph集群一般都有很多个OSD。用于集群中所有数据与对象的存储。处理集群数据的复制、恢复、回填、再均衡。并向其他osd守护进程发送心跳,然后向Mon提供一些监控信息。
当Ceph存储集群设定数据有两个副本时(一共存两份),则至少需要两个OSD守护进程即两个OSD节点,集群才能达到active+clean状态.


MDS



MDS全称Ceph Metadata Server,是CephFS服务依赖的元数据服务。为Ceph文件系统提供元数据计算、缓存与同步(也就是说,Ceph 块设备和 Ceph 对象存储不使用MDS )。在ceph中,元数据也是存储在osd节点中的,mds类似于元数据的代理缓存服务器。只有需要使用CEPHFS时,才需要配置MDS节点。


Monitor



监控整个集群的状态,保证集群数据的一致性。


Manager(ceph-mgr)



用于收集ceph集群状态、运行指标,比如存储利用率、当前性能指标和系统负载。对外提供 ceph dashboard(ceph ui)。


Ceph 结构包含两个部分



ceph client:访问 ceph 底层服务或组件,对外提供各种接口。比如:对象存储接口、块存储接口、文件级存储接口。

ceph node:ceph 底层服务提供端,也就是 ceph 存储集群。


#### Ceph组件及概念介绍


Object



Ceph最底层的存储最小单位是Object–对象,每个Object包含元数据和原始数据。


PG



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


CRUSH



写在最后

在结束之际,我想重申的是,学习并非如攀登险峻高峰,而是如滴水穿石般的持久累积。尤其当我们步入工作岗位之后,持之以恒的学习变得愈发不易,如同在茫茫大海中独自划舟,稍有松懈便可能被巨浪吞噬。然而,对于我们程序员而言,学习是生存之本,是我们在激烈市场竞争中立于不败之地的关键。一旦停止学习,我们便如同逆水行舟,不进则退,终将被时代的洪流所淘汰。因此,不断汲取新知识,不仅是对自己的提升,更是对自己的一份珍贵投资。让我们不断磨砺自己,与时代共同进步,书写属于我们的辉煌篇章。

需要完整版PDF学习资源私我

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 17
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值