加载中…
个人资料
6沙鱼
6沙鱼
  • 博客等级:
  • 博客积分:0
  • 博客访问:6,322
  • 关注人气:0
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

RADOS概述

(2014-09-20 21:09:50)
标签:

ceph

it

1 RADOS的功能

RADOS是Ceph的负责实现存储资源整合的子系统,该系统将多个存储设备(磁盘)上的空间整合为一个统一的命名空间,这一命名空间通过对象的方式来组织数据。

RADOS支持的对象操作包括对象的查询、写入、读取、扩展属性修改等,libRADOS中定义了所有对象操作的API。

客户端通过libRADOS访问RADOS集群。访问过程中,通过集群节点(mon)的IP地址指定要访问的集群,然后即可调用libRADOS的方法执行对象操作。

2 RADOS的组成

RADOS包含三个组件:

http://blog.coolceph.com/wp-content/uploads/2014/04/RADOS%E7%BB%84%E6%88%90.png

2.1 mon(monitor)

集群监控。运行在服务器端的驻留进程,以集群的方式运作,通过包含3个或者5个(奇数个)。

mon负责维护集群的元数据信息,这些信息通常包括MonMap(mon集群的状态)、OSDMap(osd集群的状态)、PGMap(集群内PG的状态)等。如果集群包含CephFS,则卫华的元数据还包括MDSMap(mds集群的状态)

mon集群内的各个节点/进程之间通过PAXOS算法保证数据的一致性。

2.2 osd(object storage daemon)

对象存储进程。运行在服务器端的驻留进程,通常对应一块磁盘,用于将管理一个磁盘的数据。集群中有多少磁盘,就有多少个osd。(实际上,OSD还有其它的对应方式,例如对应逻辑卷/文件夹/本地文件系统+逻辑卷等,可以很灵活的配置,但为了方便,暂时可以认为对应一块磁盘,实际部署的时候,也以这种方式居多)

osd负责完成客户端通过libRADOS发送的请求。对于写请求,osd将数据保存到其对应的磁盘/存储空间中;对于读请求,osd根据请求的对象ID,从本地磁盘/存储空间中获取数据,返回给客户端。

osd之间通过网络通讯完成数据冗余,其操作包括写入数据的时候创建数据的副本、节点发生故障时,重建数据的副本。

2.3 libRados

用于访问RADOS的库函数。libRADOS向需要访问RADOS的应用程序(即RADOS的客户端)提供基于对象API,包括查询、读取、写入、删除等。这些操作还支持同步和异步两种模式。

libRADOS内部实现了与mon、osd的通讯,还包括基于OSDMap的数据位置的计算(通过CRUSH算法)、数据缓存、容灾的处理等。客户端程序通过引用libRADOS访问RADOS时,可以忽略这些细节,而注重于自身的业务。

3 RADOS的特性

从RADOS的名称:Reliable Autonomic Distributed Object Storage,既可以看出其具备的主要特性:可靠的(Reliable)、自动的(Autonomic)、分布式(Distributed)。

3.1 可靠的(Reliable)

RADOS的主要设计目标即为提供一个可靠的存储空间,即为存放到RADOS中的对象数据提供容灾服务。

RADOS提供跨OSD的容灾服务。即同一个对象,会在RADOS中以副本或者纠删码的方式存放在多个OSD上面。当其中的任意OSD发生故障时(例如磁盘损坏,网络中断等),RADOS会自动重建对象的冗余数据,以保证数据的可用性。

对于通过libRADOS访问RADOS存储集群的客户端来说,数据冗余机制是透明的。客户端可以认为保存到RADOS中的数据是安全、可靠地(只要集群发生的故障在RADOS的容灾范围内),而无需关心集群的状态以及发生故障后的冗余数据重建操作。

3.2 自动的(Autonomic)

RADOS中各个节点会自动完成副本重建的操作。

当任意osd发生故障时,mon通过心跳机制确认其故障的发生,然后更新OSDMap。更新后的OSDMap将故障的osd的状态标记为“out”,然后向集群内的所有其它osd广播新版的OSDMap。

OSD们收到OSDMap的更新后,会得知/确认有osd发生了故障。每个OSD会独立的判断,故障的OSD是否与其有关,包括是否有数据需要重建冗余,是否有操作需要重试等。然后相互协调,完成对于osd故障的响应。

以上操作都是自动完成,不需要客户端或者运维人员的干预。

3.2 分布式(Distributed)

Ceph是纯分布式的,体现在两个方面:

1)ceph内部的mon和osd都是集群模式运行的,不存在任何单点的故障。

2)ceph内部的mon与mon之间、osd与osd之间都是完全对等,没有中心控制系统,也没有IO瓶颈,是完全横向扩展的。

0

阅读 收藏 喜欢 打印举报/Report
后一篇:ceph资料网站
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有