拥有一个自己的 OSD deamon。这个 deamon 负责完成 OSD的所有逻辑功能, 包括与 monitor
和其他 OSD(事实上是其他 OSD 的 deamon)通信以维护更新系统状态,与其他 OSD共同
完成数据的存储和维护,与 client 通信完成各种数据对象操作等等。
1.3 Ceph中的数据寻址
用户存储数据时的数据路由过程如下图所示:
首先明确几个概念:
File ——用户需要存储或者访问的文件。 对于一个基于 Ceph 开发的对象存储应用而言,
这个 file 也就对应于应用中的“对象” ,也就是用户直接操作的“对象” 。
Ojbect—— RADOS所看到的“对象” 。Object 与上面提到的 file 的区别是, object 的最大
size 由 RADOS限定(通常为 2MB 或 4MB),以便实现底层存储的组织管理。因此,当上层
应用向 RADOS存入 size 很大的 file 时,需要将 file 切分成统一大小的一系列 object(最后一
个的大小可以不同)进行存储。
PG(Placement Group )——顾名思义, PG的用途是对 object 的存储进行组织和位置映
射。具体而言,一个 PG 负责组织若干个 object(可以为数千个甚至更多) ,但一个 object
只能被映射到一个 PG中,即, PG 和 object 之间是“一对多”映射关系。同时,一个 PG 会
被映射到 n 个 OSD上,而每个 OSD上都会承载大量的 PG,即,PG和 OSD 之间是“多对多”
映射关系。在实践当中, n 至少为 2,如果用于生产环境,则至少为 3。一个 OSD 上的 PG
则可达到数百个。事实上, PG 数量的设置牵扯到数据分布的均匀性问题。
OSD——即 object storage device 。
数据路由的过程需要经过几次寻址:
File -> object 映射。这次映射的目的是,将用户要操作的 file ,映射为 RADOS能够处理
的 object 。其映射十分简单,本质上就是按照 object 的最大 size 对 file 进行切分。这种切分
的好处有二:一是让大小不限的 file 变成最大 size 一致、可以被 RADOS高效管理的 object ;
评论0
最新资源