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 ...
随机推荐
- Spring Boot2(六):使用Spring Boot整合AOP面向切面编程
一.前言 众所周知,spring最核心的两个功能是aop和ioc,即面向切面和控制反转.本文会讲一讲SpringBoot如何使用AOP实现面向切面的过程原理. 二.何为aop aop全称Aspec ...
- Windows使用Python虚拟环境
Windows使用virtualenv和virtualenvwrapper-win 在Windows上使用virtualenv进行多版本Python隔离. 安装Python 在Python官网下载Py ...
- 使用Jenkins部署.Net Core遇到的几个坑
搞过CI/CD的同学一定吃过不少苦头,或者说遇到不少坑,但是对自动化的执着住挡不了前进的步伐,如果你缺少了运维这一块知识,那么你的流水线总是不那么完美,本文记录的是自己躺过的坑,希望对你有所帮助. 一 ...
- leadcode的Hot100系列--206. 反转链表
这里使用两种方式, 一个是直接从头往后遍历 -------> 迭代 一个是从最后一个往前遍历 -----> 递归 迭代 定义三个变量:pPre pNext pNow pPre表示当前节点的 ...
- CentOS 网络互通情况下把一个Linux服务器的文件发送到另一个服务器
scp -r 文件名/目录名 root@192.168.2.144:/home/hsw -r 发送目录使用,表示把该目录下的所有子目录以及文件发送过去
- Codeforces Gym100502A:Amanda Lounges(DFS染色)
http://codeforces.com/gym/100502/attachments 题意:有n个地点,m条边,每条边有一个边权,0代表两个顶点都染成白色,2代表两个顶点都染成黑色,1代表两个顶点 ...
- Appium+python自动化(十八)- 你难道是猴哥失散多年的混血弟弟还是妹妹???- Monkey事件(超详解)
操作事件简介 Monkey所执行的随机事件流中包含11大事件,分别是触摸事件.手势事件.二指缩放事件.轨迹事件.屏幕旋转事件.基本导航事件.主要导航事件.系统按键事件.启动Activity事件.键盘事 ...
- cogs426血帆海盗(网络流打法)
这道题基本上来就能看的出来是网络流但难点在于它的结果貌似与最大流,最小割都没啥关系,我猜不少萌新像我一样想暴力枚举边(要是考试我就真这么做了),但很明显,出题人没打算让你这么水过,100000的数据不 ...
- 硬件设计--DC/DC电源芯片详解
本文参考:http://www.elecfans.com/article/83/116/2018/20180207631874.html https://blog.csdn.net/wangdapao ...
- Java开发实例大全:3月14日练习
import java.io.FileNotFoundException; import java.io.PrintStream; import java.math.BigDecimal; impor ...