CEPH 对象存储的系统池介绍
RGW抽象来看就是基于rados集群之上的一个rados-client实例。
Object和pool简述
Rados集群网上介绍的文章很多,这里就不一一叙述,主要要说明的是object和pool。在rados集群中任意一个对象都会映射为一个(pool,object)。其中pool是存储池,object为对象名。如果你只是做rados集群上层应用的开发(类似开发rgw)。只需要设计如何将数据存储到rados集群中哪个pool及哪个对象即可。
RGW中pool和object应用
RGW中存在的pool比较多,不同的pool管理不同的object数据。这里要关注2个数据结构:
struct RGWZoneParams {
rgw_bucket domain_root;
rgw_bucket control_pool;
rgw_bucket gc_pool;
rgw_bucket log_pool;
rgw_bucket intent_log_pool;
rgw_bucket usage_log_pool;
rgw_bucket user_keys_pool;
rgw_bucket user_email_pool;
rgw_bucket user_swift_pool;
rgw_bucket user_uid_pool;
};
struct RGWZonePlacementInfo {
string index_pool;
string data_pool;
string data_extra_pool;
}
RGW应用到rados中的对象分为2类,一类是普通对象,相当于普通文件的存储。还一类是omap对象,用于存储K-V对象。下面介绍RGW主要pool的用途:
domain_root pool:每个bucket都对应一个普通对象,用于存储bucket元数据。
control pool:该pool上创建若干个普通对象用于watch-notify(librados提供的一种watch和notify机制)。目前RGW用这种机制来实现分布式缓存(后续会详细介绍)。
gc pool:rgw中大文件数据一般在后台删除,该pool用于记录那些待删除的文件对象。
log pool:用于存储3种类型log,oplog,meta_log,data_log。其中oplog主要用于记录用户操作记录。
Meta_log和data_log都是远程复制功能中需要用到的,后续会详细介绍。
Intent log pool:这个pool目前没有用到。
usage log pool:存储计量数据统计,比如上传文件多少次,下载多少次,遍历bucket多少次之类。
user keys pool:用于存储用户AK和uid的对应关系,方便通过用户restful请求的ak找到用户id。
user email pool:用于存储用户email和uid的对应关系。
user swift pool:用于存储swift key和uid的对应关系
user uid pool:用于存储用户信息,每个用户都有一个唯一的uid作为对象名。同时每个用户还会有一个用于索引该用户下桶的对象也存在该pool下面。
index pool:存储bucket的文件索引对象。每个bucket对应在该pool下有一个索引对象,用来索引该bucket下所有的文件。同时远程复制中用到的bilog也存储在该pool的bucket索引对象上。
data pool:顾名思义,所有的文件数据都存在该pool下。
data extra pool:Multipart upload过程中一些中间态的数据,会存在该pool上。这些数据可以帮助用户进行断点续传及垃圾数据回收。
另外还有2个pool也比较重要
zone root pool:用于存放zone的元数据信息,其实就是存放RGWZoneParams数据结构
region root pool:用于存放region的元数据信息。
CEPH 对象存储的系统池介绍的更多相关文章
- 腾讯云存储专家深度解读基于Ceph对象存储的混合云机制
背景 毫无疑问,乘着云计算发展的东风,Ceph已经是当今最火热的软件定义存储开源项目.如下图所示,它在同一底层平台之上可以对外提供三种存储接口,分别是文件存储.对象存储以及块存储,本文主要关注的是对象 ...
- 基于LAMP php7.1搭建owncloud云盘与ceph对象存储S3借口整合案例
ownCloud简介 是一个来自 KDE 社区开发的免费软件,提供私人的 Web 服务.当前主要功能包括文件管理(内建文件分享).音乐.日历.联系人等等,可在PC和服务器上运行. 简单来说就是一个基于 ...
- Ceph对象存储 S3
ceph对象存储 作为文件系统的磁盘,操作系统不能直接访问对象存储.相反,它只能通过应用程序级别的API访问.ceph是一种分布式对象存储系统,通过ceph对象网关提供对象存储接口,也称为RADOS网 ...
- Ceph对象存储网关中的索引工作原理<转>
Ceph 对象存储网关允许你通过 Swift 及 S3 API 访问 Ceph .它将这些 API 请求转化为 librados 请求.Librados 是一个非常出色的对象存储(库)但是它无法高效的 ...
- 006.Ceph对象存储基础使用
一 Ceph文件系统 1.1 概述 Ceph 对象网关是一个构建在 librados 之上的对象存储接口,它为应用程序访问Ceph 存储集群提供了一个 RESTful 风格的网关 . Ceph 对象存 ...
- ceph 对象存储跨机房容灾
场景分析 每个机房的Ceph都是独立的cluster,彼此之间没有任何关系. 多个机房都独立的提供对象存储功能,每个Ceph Radosgw都有自己独立的命名空间和存储空间. 这样带来两个问题: 针对 ...
- ceph对象存储RADOSGW安装与使用
本文章ceph版本为luminous,操作系统为centos7.7,ceph安装部署方法可以参考本人其他文章. [root@ceph1 ceph-install]# ceph -v ceph vers ...
- 直播流怎么存储在Ceph对象存储上? Linux内存文件系统tmpfs(/dev/shm) 的应用
一./dev/shm理论 默认的Linux发行版中的内核配置都会开启tmpfs,映射到了/dev/下的shm目录.可以通过df 命令查看结果./dev/shm/是linux下一个非常有用的目录,因为这 ...
- ceph对象存储场景
安装ceph-radosgw [root@ceph-node1 ~]# cd /etc/ceph # 这里要注意ceph的源,要和之前安装的ceph集群同一个版本 [root@ceph-node1 c ...
随机推荐
- rbash限制用户执行的命令
rbash限制用户执行的命令 软连接 sudo ln -s /bin/bash /bin/rbash sudo bash -c 'echo "/bin/rbash" >> ...
- 【Spring源码解析】—— 策略模式在Spring中的应用
一. 什么是策略模式 策略模式的定义/含义:策略本身就是为了实现某一个目标而采取的一种工作方式,因此只要能够达成目标,则采取哪一种策略都可以:因此多种实际的策略之间是相互平行的. 注意 ...
- Ruby中的常量:引号、%符号和heredoc
数值字面量 没什么好说的,唯一需要说明的是分数字面量:数值后加上一个后缀字母r表示分数字面量. # 整数字面量 0 1 100 10_000_001 # 千分位 # 浮点数字面量 0.1 1.0 1. ...
- mount -o remount,rw /命令什么意思
1.关于如何改变linux中,对只有Read-only filesystem的文件,如何改为为可写.可读权限? I.可以执行 mount -o remount,rw /II.执行完毕后,会出现以下字样 ...
- HDU 2089:不要62(数位DP)
http://acm.hdu.edu.cn/showproblem.php?pid=2089 不要62 Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer) ...
- 详解FIX协议的原理、消息格式及配置开发
一.定义 FIX协议是由国际FIX协会组织提供的一个开放式协议,目的是推动国际贸易电子化的进程,在各类参与者之间,包括投资经理.经纪人,买方.卖方建立起实时的电子化通讯协议.FIX协议的目标是把各类证 ...
- [AI开发]目标跟踪之速度计算
基于视频结构化的应用中,目标在经过跟踪算法后,会得到一个唯一标识和它对应的运动轨迹,利用这两个数据我们可以做一些后续工作:测速(交通类应用场景).计数(交通类应用场景.安防类应用场景)以及行为检测(交 ...
- 【Aizu - 0033】Ball (简单搜索)
-->Ball 原文是日语,这里直接写中文了 Descriptions: 如图所示,容器中间有一枢轴,下方分为两路.容器上方开口,从1到10连续编号的小球从容器开口A放入.通过调整枢轴E的方向, ...
- Android 开发你需要了解的那些事
本文微信公众号「AndroidTraveler」首发. 背景 最近部门有新入职员工,作为规划技术路线的导师,这边给新员工安排了学习路线. 除了基本的学习路线之外,每次沟通,我都留了一个小问题,让小伙伴 ...
- 12306抢票系统——ER图及数据表
12306自动抢票系统——ER图及数据表 1. 抢票系统ER图 数据表 2.抢票系统数据结构表 (1)列车表 Trains table 字段名 数据类型 说明 是否为主键 Train_id strin ...