对象存储网关(RGW)
一 概念
-
Ceph 核心模块 RADOS 是一个基于对象的存储系统
-
RADOS 抽象库
librados
提供的对象接口访问 RADOS 集群,但是 librados 只提供私有接口,并不支持 HTTP 协议访问。 -
Ceph 为了支持通用的 HTTP 接口,设计老 RGW
二 对象存储 基本概念 和 数据模型
对象存储以对象作为数据存储单元,舍弃了文件系统元数据管理的特性,将所有对象以扁平方式进行存储
三 RGW 对外接口三个基础实体(用户 存储桶 对象)
RGW 作为对象存储网关系统,有以下角色:
- RADOS 集群客户端角色,为对象存储应用提供数据存储的通道
- HTTP 服务端角色,接收并解析互联网传送的数据。
(1)用户
用户指的是对象存储应用的使用者。一个用户拥有一个或多个存储桶
(2)存储桶
存储桶是对象的容器,是为了方便管理和操作具有同一属性的一类对象。
(3)对象
对象是对象存储系统数据数据组织和存储的基本单位,一个对象包含数据
和元数据
数据:用户保存的真正的数据,比如一个文本文件
元数据:除了数据外的其他需要保存的信息,一般由 KV 键值对组成。
RGW 对单个对象提供了两种上传接口:整体上传 和 分段上传
三 文件系统
文件系统:是一种针对磁盘(或者其他存储介质)上的用户数据进行组织和追踪的机制
其中元数据负责记录用户数据位置 所有者 访问权限 修改记录等关键信息
本身 和 用户数据一并写入磁盘
Linux,通过一个 VFS
(Virtual File System)的虚拟文件系统,要求所有接入文件系统必须实现 VFS
所定义的统一并且符合 POSIX
语义的接口,以此来屏蔽不同的本地文件系统以及网络文件系统之间的差异。