当前位置: 首页 > news >正文

甘肃网站建设开发徐州免费模板建站

甘肃网站建设开发,徐州免费模板建站,为什么备案关闭网站,杏坛网站制作ceph体系结构 rados:reliable, autonomous, distributed object storage, rados rados采用c开发 对象存储 ceph严格意义讲只提供对象存储能力,ceph的块存储能力实际是基于对象存储库librados的rbd 对象存储特点 对象存储采用put/get/delete&#xf…

ceph体系结构

rados:reliable, autonomous, distributed object storage, rados

rados采用c++开发

对象存储

ceph严格意义讲只提供对象存储能力,ceph的块存储能力实际是基于对象存储库librados的rbd

对象存储特点

对象存储采用put/get/delete,不支持修改

对象存储结构是扁平结构,不支持多层容器嵌套结构

rados

rados集群主要由两种节点组成,osd和monitor。osd节点负责数据维护和存储,monitor节点负责检测和维护系统状态。osd和monitor节点之间相互传递节点状态信息,共同得出系统总体运行状态,并将其保存在一个全局数据结构中(集群运行图)

使用rados系统时,客户端向monitor索取最新集群运行图,然后直接在本地运算,得到存储的位置,便直接与osd通信,完成数据操作

osd,monitor,ceph客户端均可直接通信,意味osd也可以分担monitor等重要节点的部分业务,缓解节点压力

osd

osd可被抽象为系统进程和守护进程

osd节点实质是一个安装了os和fs的节点,同时还应当 保证osd拥有一定的计算能力,内存能力,网络带宽

osd的守护进程可完成osd的所有逻辑功能,包括monitor和其他osd的通信,维护系统及更新状态等

rados接收来自ceph客户端发送的数据,然后存储为对象,对象在节点是fs中的一个文件。对象存储中,是扁平结构,没有目录层次。文件只有文件id,对象内容的二进制格式和文件的元数据。文件元数据取决于客户端请求发送的一些信息,如文件创建者,创建日期,最后修改日期等

osd状态

osd状态直接影响数据重新分配

osd状态用两个维度表示:up或down(daemon和monitor连接是否正常)和in或out(osd是否有pg),两种状态叠加起来,osd总共有四种状态

up && in:osd正常工作状态

up && out:一般是osd刚启动,osd还没有pg

down && in:可能网络中断或daemon意外退出

down && out:osd无法恢复,

PG:Placement Group,用来映射osd节点和存储的对象

osd状态检测

ceph是基于通用计算机硬件构建的分布式系统,故障概率远高于专用硬件构建的分布式系统。如何检测节点故障和网络故障是ceph高可用的一个重点,ceph采用了心跳检测机制,但增加了监控维度

osd之间心跳包:如果osd之间都相互发送心跳,则时间复杂度是pow(n,2),ceph选择仅peerOSD之间发送心跳包,这样时间复杂度是pow(n,1)。peerOSD是osd存储对象和其PG副本所在的osd。ceph同时提供公共网络(osd和客户端通信)和集群网络(osd之间通信网络),peerOSD心跳包也可按网络进行分类。

osd和monitor之间心跳包:osd之间心跳检测结果通过osd和monitor心跳包传送

数据寻址

分布式系统有两个最基本的问题:数据放在哪,数据写在哪。ceph寻址过程如图

file:面向客户的文件对象

object:面向rados的文件对象。object和file的区别是,object单元最大大小存在上限(如2MB或4MB),大于单个object单元大小的file会被切分为一系列统一大小的object进行存储

PG:一个PG负责组织多个object,一个object只能被映射在一个PG,一个PG会被映射在n多个OSD中,实际工作中,n可能大于等于2

file->object映射

将file切分为object进行存储,每个object有唯一的oid,oid可分为两部分,分别是切分的object的元数据和object在切分列表里的序号,比如某个id为filename的文件被切分为序号为0,1,2的三个object,则三个object的oid分别为filename0 filename1 filename2

此处存在一个隐含问题,及文件的id(元数据)必须不重复,否则无法映射

object->PG映射

映射公式:hash(oid) && mask -> pgid

先对oid哈希,再和mask按位与。按rados设计,PG总数应为2的整数次幂,mask的值为PG总数-1所以此映射公式含义是从总数为m的PG中随机均匀地选取一个PG,这样的话,rados保证了object和pg尽量均匀的映射

PG->OSD映射

rados使用一个名为CRUSH的算法,输入pgid,输出n个osd id,n需配置为大于等于2。CRUSH算法和pgid的映射不同,它不是固定输出结果的,而是会受到其他因素影响:系统状态和存储策略配置。

系统状态:即集群运行图。其他osd状态变化时,可能导致集群运行图变化

存储策略配置:和安全有关,即管理员指定PG分配在OSD的规则,比如亲和规则

当系统状态和存储策略配置不变时,PG和OSD的映射才是固定不变的

使用CRUSH算法的原因,一个是算法结果收到配置osd亲和的影响,还有一个是CRUSH算法稳定性的特点,即系统中加入大量osd时,大部分PG和OSD之间的映射不会改变,只有少部分映射会发生改变,并引发数据迁移

小结

三个映射没有任何全局查表的操作,唯一的全局数据结构:集群运行图,其操作与维护是轻量级的,不会对系统造成太大影响

为什么在object和osd之间引入PG

如果没有PG,(1) 则osd损坏时,或新增osd时,原有的object和osd之间的映射无法被更新 (2)有PG时,osd间心跳检测是以PG为粒度,而PG数量在每个osd是基本固定的,当文件增多,PG不会增加。如果不用PG,则osd间心跳则以文件为粒度,当object变多,心跳花的时间也会变多

存储池

一个存储池包含若干PG

存储池创建命令

ceph osd pool create {POOL_NAME} {PG_NUM} [{PGP_NUM}] [REPLICATED] [CRUSH_RULESET_NAME]

ceph osd pool create {POOL_NAME} {PG_NUM} {PGP_NUM} erasure [erasure_code_profile] [crush_ruleset_name]

pgp数目通常和pg数目一致,增加pg数量通常不会发生迁移,增加pgp数量时用户数据才会发生迁移

PGP含义:

注意到,当PG增加时,原PG分为两半,所以新PG和原PG在同一个OSD上

monitor

客户端处理数据前必须通过monitor获取集群状态图。ceph也支持只有一个monitor节点

monitor不会主动查询osd状态,而是osd给monitor主动上报osd状态

集群运行图实际是多个map统称,如monitor map, osdmap, pg map, crush map, mds map等,各运行图维护各自的运行状态。CRUSH MAP用于定义如何选择OSD,CRUSH MAP是树形结构

default下是主机,主机下是主机自己的osd。CRUSH MAP中,所有非叶节点称为桶(Bucket),所有Bucket的ID都是负数,OSD ID是正数,这样可以区分OSD的ID。选择OSD时,需要先从一个指定的bucket开始,往树底下寻找,直到到达叶节点。目前有五种算法来实现子节点的寻找,包括Uniform,List,Tree,Straw,Straw2,不同算法性能如下

monitor与客户端通信

客户端包括rbd客户端,rados客户端,ceph fs客户端等。根据通信内容分为获取OSDMAP和命令行操作

命令行操作:主要由monitor执行或monitor转发到osd执行

获取OSDMAP:因为有了集群状态图,客户端可不经过monitor直接与osd通信,所以仅需要获取OSDMAP时,客户端才需要与monitor通信。再就是客户端初始化。再就是某些特殊情况会主动获取OSDMAP,如找不到PG(PG删除或创建),存储池等空间占满,或者OSDMAP设置了暂停所有读/写,每次读写都会获取OSDMAP

monitor与osd通信

相比monitor与客户端通信,monitor与osd通信更复杂

osd定期将其PG信息发给monitor。PG信息包含PG状态,Object信息等

osd操作命令通过monitor转发给osd

数据操作流程

ceph读写仅对object的主osd进行读写,保证了数据的强一致性。primary收到写请求后,负责把数据发给副本,只有副本都成功写,primary才接收object的写请求,保证了副本一致性,写入流程可参考下图

http://www.yayakq.cn/news/831314/

相关文章:

  • iis搭建本地网站wordpress 帮助手册
  • 保定制作公司网站的公司wordpress看访问量
  • 西安做网站那家公司好怎么在网上接网站建设
  • 手机销售网站制作网页设计图片大小设置
  • 温州网站建设有限公司石家庄网站排名优化
  • 网络小说网站三巨头网站建设与管理模拟题1
  • 网站建设改手机号广州网络帮助建站
  • 外贸cms 网站电子商务网站规划书
  • 有专业做网站的吗html5网站强制横屏
  • app网站开发案例手机网站改版公司
  • 湖南电商网站建设广州网络公司建站
  • 玉环市建设规划局网站海南腾雅网络科技有限公司
  • 消防器材网站建设背景163k系统功能介绍
  • 电脑做系统教学网站网站建设 温州
  • 中国上海潍坊百度网站优化
  • 做网站成本医院网页
  • 做一个网站后期维护需要多少钱小白怎么做网站搬家教程
  • 桂林象鼻山的由来win10必做的优化
  • 返利网站开发一般要多少钱低价网站建设新闻
  • 深圳网站开发技术提供扬中网站建设
  • 沈阳哪家网站做的好招远网站建设哪家好
  • 静态网页模板免费网站徐州建设工程材料检测预约网站
  • 太原企业网站建设专注移动网站建设
  • 织梦网站怎么做模板福州网站建设方案推广
  • 统一手机网站手把手教你搭建自己的网站
  • 建湖县住房和城乡建设局网站网页设计 html
  • 用文本文档做网站住房和城乡建设统计网站
  • 网站嵌套代码视频wordpress源码
  • 自己做家具展示网站公众号怎么开通留言功能
  • 自己做的微课上传到哪个网站住房和城乡建设部执业资格注册中心网站