ceph存储原理_热门的分布式存储系统ceph入门介绍

e602245f13dbb195e5fb9b7871bdfa53.png

一、什么是ceph

ceph是当前最热门的分布式存储系统之一,是软件定义存储(SDS,SoftwareDefinedStorage)解决方案中的典范。其具备良好的可靠性、可扩展性,应用范围包括块存储(RBD,RadosBlockDevice)、文件存储(CephFS,CephFileSystem)和对象存储(RADOSGW,Reliable、Autonomic、Distributed、ObjectStorageGateway),被广泛应用于云计算底层IAAS平台,更是OpenStack首选的后端存储,不管是互联网企业还是金融等传统行业,都被广泛应用。

ceph使用C++语言开发,采用分布式、无中心化的设计,具备横向扩展能力和故障容灾能力,每个组件都能够线性扩展且不存在单点故障,支持到EB级的存储扩展,对应用程序提供标准统一的访问入口。

ceph每半年发布一个版本,版本分为长期稳定版(LTS)和开发版本,同时会维护多个稳定版本,推进bug的修复。目前最新的版本是v14.2.2 Nautilus,历史的一些版本如下:

9ee74c3717187e42b1a7b8bc859bac79.png

可以看到,ceph基本是按照半年一个版本的速度更新,较为稳定。

二、ceph功能组件

Ceph对于三大存储类型的支持是依赖底层的RADOS存储系统,整体架构上包含了OSD、MDS、Monitor等核心功能组件,如下图所示:

2381463433257a1e1b60095c2765bad1.png

Ceph整体上包含了很多个模块,各个模块均负责不同的功能,以下是一些重点模块:

  • Ceph OSD
    OSD全称是Object Storage Device,用于数据存储、复制、恢复,上报相关数据给Monitor,是Ceph的核心组件之一。一个Ceph集群至少需要两个Ceph OSD实现active+clean的健康状态。一个磁盘、一个分区都可以作为一个OSD,所以实验环境下可以在单机上搭建。
  • Ceph Monitor
    Ceph Monitor用于整个集群的状态监控和决策,实现整个集群视图的一致性,这是Ceph无中心化设计的一个重点。包含了Monitor map、OSD map、PG map和CRUSH map。
  • Monitor map
    Monitor节点也是可以横向扩展的,Monitor map包含所有Monitor节点的信息,包括集群ID,主机名,IP和端口等信息。
  • OSD map
    OSD map包含Ceph Pool的id、名称、类型,副本以及PGP信息,包含OSD的数量、状态、最细清理间隔、OSD所在主机等信息。多个OSD形成一个Ceph Pool。
  • PG map
    Placement Group map包含当前的PG版本、时间戳、空间使用比例以及每个PG的基本信息。
  • CRUSH map
    CRUSH是英文Controlled Replication Under Scalable Hashing的缩写,是一种可扩展哈希发的可控复制算法。CRUSH map存储集群存储设备信息,故障层次结构以及存储数据时失败域规则信息。
  • Ceph MDS
    Ceph Metadata Server,顾名思义,是包含Ceph文件系统(Ceph FS)的元数据的模块。ceph的块存储和对象存储都不需要用到MDS。

三、技术架构

Ceph底层都是依赖于RADOS,提供了一个可靠的具有自我修复能力的分布式存储,如下图所示:

30144fc788826c7a0da717904026fad7.png
  • LIBRADOS

RADOS的应用程序库,提供应用程序的直接访问,提供了Java和Python等类库,这是接口统一性的体现。

  • RADOSGW

RADOSGW是基于restful的网关,兼容S3和Swift,提供统一的访问入口,利用RADOSGW可以实现跨机房的访问和基于近端的负载均衡。

  • RBD

RBD提供Ceph的块设备的功能,其通过内核与QEMU/KVM交互来创建一个块设备挂载到VM上提供使用。

  • Ceph FS

Ceph FS提供了一个兼容POSIX的文件系统,值得注意的是因为历史原因,Ceph FS的支持比较弱,功能还不够完善。

四、安装部署

Ceph-Deploy

Ceph为了方便用户安装Ceph集群简化过程,提供了Ceph-Deploy工具,通过配置免密的SSH自动登录到服务器 安装相关的组件,过程十分的简便。

Step-By-Step Deploy
除了使用Ceph-Deploy之外,官方亦提供了一步步手工安装的方案,过程比较复杂麻烦,很多文章都建议初学 者直接使用Ceph-Deploy,笔者却认为手工一步步安装的方案虽然复杂但是可以对Ceph集群理解更深,安装过程中不免遇到各种各样的问题,一步步去解决以后,绝对会收获良心。

本文是对Ceph的整体技术架构的介绍,后续会对ceph的安装部署、各模块详细功能和原理进行分析,欢迎继续关注。

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

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

相关文章

小程序点击调转带参数_带你走遍苏大的每个角落,校园导览小程序上线!

精彩推荐 1. 招新 | 携手趁韶华,约你同做“校媒人”!2. 迎新现场 | 今天,“小20”是苏大的主角3. 苏州大学与亨通集团签订战略合作协议钟楼、红楼、精正楼……存菊堂、敬贤堂、子实堂……初至校园的“小20”们是否会有这样的烦恼在这楼宇亭台…

爬虫

爬虫 1、设计 分布式爬虫系统允许位于多个不同主机上的爬虫程序并行爬取提交的爬虫作业,进而协调他们之间的爬取能力。爬取队列由redis管理,每个spider通过修改的调度程序从queue中拉取job。 页面被spider成功爬取后,就交给管线进行进一步处理…

python下划线怎么输入_python下划线怎么打出来

python中下划线使用键盘上的Shift减号键即可打出,减号键位于0和加号键之间。 在Python中下划线还具有 private 和 protected 类似的访问权限作用,下面我们具体分析。Python主要存在四种命名: (1)object #公用方法 &…

二、先在SD卡上启动U-boot,再烧写新的U-boot进Nandflash

1. 制作SD卡 先准备一张2G的SD卡(不能用8G的,2G的卡和8G的卡协议不一样),和烧写SD卡的工具write_sd以及需要烧写到SD卡中的u-boot-movi.bin。将SD卡格式化后连接到Ubuntu虚拟机中,注意在SD卡需要插入到读卡器中&#x…

java comparator_Java基础之String漫谈(二)

Java-String1. 导读上期分享了本人关于String四个问题, 本期我们继续探讨String中的两个问题:.1 String既然已经实现了Comparable接口, 为什么还要提供内部类----CaseInsensitiveComparator;.2 使用 "" 拼接String究竟干了什么? 为什么在循环中不让使用""…

掌握Java字节码

嘿! Happy Advent:D我是ZeroTurnaround的技术布道者Simon Maple( sjmaple) 。 您知道, JRebel伙计们! 由于编写了类似于JRebel的产品,该产品与字节码进行交互的结果比您想像的更多,因此&#xf…

敲代码括号技巧_理解代码块概念,养成良好编程习惯 | 亲子课堂 第 3 课

亲子课堂关卡解析 / 英语教学 / 编程讲解 做亲子编程教育的好帮手! 每周二、四定期更新 地牢面向真正0编程基础的孩子们,关卡被设计成迷宫的形式,引导孩子们使用编程思维解决问题。以循序渐进的方式,让大家理解掌握几个Pyth…

在struts2中push方法的使用_电脑使用中怎么截屏的几种方法

电脑在日常工作中经常需要用到截屏的操作,为了截取画面提供证明或者说明,像我就经常需要用到,当然我在写文章的时候更是需要用到,来配合文字的描述,使大家能更直观更容易的去操作,以达到快速解决电脑问题的…

卸载WPS后,原office出现各种问题,报错,图标混乱

1.运行环境win7专业版64位操作系统,之前电脑上装了WPS和office2013,后来卸载了WPS,导致office图标显示不正常(因为WPS与office有很多冲突的地方,卸载的时候会影响到注册表,导致office的注册表损坏&#xff…

C#中的CultureInfo类

CultureInfo类位于System.Globalization命名空间内,这个类和命名空间许多人都不是很熟悉,实际我们在写程序写都经常间接性的接触这个类,当进行数字,日期时间,字符串匹配时,都会进行CultureInfo的操作&#…

clistctrl控件最后插入在后面_老板让我把图片放到Excel表格中,批量插入效率高...

私信回复关键词【福利】,获取丰富办公资源!助你高效办公早下班!大家好,我是懂点 Excel 的小E~初入「江湖」,还请大家多多关照!今天我们来学学 Excel 图片的 6 个小技巧,满满都是干货&#xff0c…

python天气预报的功能介绍_python实现智能语音天气预报

本系统主要包括四个函数: 1、获取天气数据 1、输入要查询天气的城市 2、利用urllib模块向中华万年历天气api接口请求天气数据 3、利用gzip解压获取到的数据,并编码utf-8 4、利用json转化成python识别的数据,返回为天气预报数据复杂形式的字典…

部署环境_Hyperledger Fabric Composer环境部署(一)

声明:本体系Hyperledger Fabric Composer相关分享都是基于MacPro进行多次亲测和体验。今天我这里主要介绍的是这些先决条件安装完成后,如何搭建和使用一个基础环境的问题,适合有一定基础的同学一起交流,也欢迎随时留言交流&#x…

输入参数的数目不足_sklearn.decomposition.PCA 参数速查手册

sklearn常用的API参数解析:sklearn.linear_model.LinearRegression调用sklearn.decomposition.PCA(n_componentsNone, copyTrue, whitenFalse, svd_solverauto, tol0.0, iterated_powerauto, random_stateNone)参数n_components释义PCA 算法中所要保留的主成分个数 …

了解位图

几周前,我和Alistair一起研究了用于对Neo4j数据库中节点已附加到其上的标签进行建模的代码。 这种工作方式是将32个节点ID的块表示为每个标签的32位位图 ,其中位1表示节点具有标签,而0表示没有标签。 例如,假设我们有节点ID 0-3…

各种说明方法的答题格式_语文万能答题公式,给孩子收藏吧!

1、某句话在文中的作用1、文首:开篇点题;渲染气氛(散文),埋下伏笔(记叙类文章),设置悬念(小说),为下文作辅垫;总领下文;2、文中:承上启下;总领下文;总结上文&…

pr文字转语音有插件吗_文字转语音软件深度解析

网络时代的迅猛发展,丰富了我们的眼见,便利了我们的生活,升华了我们的素养。那你知道近年来配音行业的迅速崛起吗?视频配音,广告配音,小视频配音等等,其实配音处处都陪伴在我们身边,…

装饰图案

装饰图案 我不经常使用的一种设计模式是Decorator 。 我不确定为什么这种模式不受欢迎,因为它很方便。 装饰器模式允许以受控方式向对象添加功能。 即使在使用静态类型的语言时,也可以在运行时运行! 装饰器模式是子类的替代方法。 子类化在编…

Neural Networks

神经网络能够使用torch.nn包构建神经网络。 现在你已经对autogard有了初步的了解,nn基于autograd来定义模型并进行微分。一个nn.Module包含层,和一个forward(input)方法并返回output。 以如下分类数字图片的网络所示: 这是一个简单的前馈网络…

文件服务器磁盘配额管理,Windows2008 (FSRM)文件服务器资源管理器网站文件夹磁盘配额管理...

在windows server里提供了一个功能强大的管理工具,就是文件服务器资源管理器。简称FSRM(File Server Resource Manager)通过此工具,可能对网站进去配额以及相关服务。我们通过使用FSRM,可以为文件夹和卷设置配额,主动屏蔽文件&…