1. 什么是目标存储
目标存储,也称为根据目标的存储,是一种选用扁平化数据安排的新式存储方法。对 象存储首要用于处理海量半结构化或许非结构化数据,常用于备份归档、静态网站托管、视频存储以及无纸化工作、网盘等场景。一起,依据详细运用场景和事务运用形状,目标 存储可进一步细分为多种不同存储类别,如规范存储、低频存储、归档存储等。在数据组 织形状上,文件数据通常会被分解为称为“目标”的离散单元,并保存在多个存储库中,而不是作为文件夹中的文件或服务器上的块来保存,这也是目标存储与传统文件存储、块 存储的实质区别。一起,其运用方法也与文件存储、块存储有着较大差异,目标存储首要 选用根据 HTTP(s) 的拜访方法,只需网络可达,就能够便捷地运用目标存储服务,因而也通常将之称为云存储。
Ceph自身选用分层架构设计,其间底层架构核心之一的 RADOS自身便是一套分布式目标存储体系,首要经过敞开librados库来供给目标接口拜访底层 RADOS集群,但因为它只供给私有拜访接口,无法供给根据 HTTP(s) 通用协议的拜访方法,因而运用上十分受限。Ceph 其实仍是一个真正意义上的软件界说统一存储处理方案,可一起供给块存储、目标存储以及文件存储拜访才能,其首要是在接入层经过调用 librados接口完结了不同存储网关类型,如目标网关、块存储网关等。其间目标存储网关 RGW(RADOSGateWay)更是经过适配云存储领域中运用最为广泛的AmazonS3和 OpenStackSwift 接口协议,使得用户运用无须任何改造就可轻松接入 Ceph供给的目标存储体系中。上述的S3接口协议和Swift接口协议也已成为新式目标存储接口的事实规范。
在 Ceph 分层架构中,RGW 归于接口层,位于 RADOS 集群之上。RGW 经过对 S3 和Swift接口语义的完结,可供给根据用户(User)、存储桶(Bucket)、目标(Object)以及统计(Statistics)等多种不同事务、运维类型的接口操作。现在 Ceph 的 RGW 服务并没有完全兼容S3或许 Swift 接口,可是其功用也在快速完善过程中,一起也引入了更多新的功用特性,进一步丰富了事务运用场景。比方经过 librgw供给根据POSIX语义的运用 方法来拜访目标存储,一起还可结合目标存储生命周期功用和存储类别(StorageClass),完结数据的分层搬迁动作。其他更多功用特性,读者有兴趣也能够查阅官方文档。
2. 目标存储的运用领域
跟着云核算、大数据等新技能的快速兴起,各行各业开端快速拥抱这些新式技能,以 处理行业所面临的难题,完结事务转型。核算、存储、网络作为云数据中心 IaaS层的三大件,一直拥有无可撼动的地位。物联网、地理信息体系、视频监控存储、工业互联网 4.0、医疗PACS影像、虚拟化运用等每天都在催生海量数据(含结构化、半结构化以及非结构化数据),其间大部分为非结构化数据。怎么有用应对并处理DT时代ZB 级非结构化数据的存储需求,接入层传统集中式存储面临着许多应战,现已显得无能为力。详细体现在如下几个方面。
(1)海量数据带来运用复杂性增加,数据的存放、办理、利用成为难题。
(2)云核算、大数据等场景下,要求存储架构弹性扩展、灵敏呼应。
(3)传统存储布置复杂、资源糟蹋,数据难以同享,现已无法满意新的需求。
伴跟着用户需求的改变和存储技能的革新,软件界说存储能够供给给客户更好的功用,更高的灵敏性和敞开性,更强的扩展性,更简单的办理以及更少的用户投入。为应对这种 海量非结构化数据的存储需求,选用扁平化数据存储安排方法的分布式目标存储技能成了 一颗冉冉升起的新星。
3. RGW数据安排结构
在目标存储体系中,包含3个基本概念,即用户(User)、存储桶(Bucket)和目标
(Object)。为更好理解目标存储网关RGW的完结实质,下面就对这3个概念及其基本特征进行要点阐述。
(1)用户(User)
用户(User)指的是目标存储运用的运用者,可所以一个独立的个别,也可所以体系的一个角色(如一个运用)。只要创立了用户并赋予了相关权限之后,才允许拜访存储 集群对应的存储池和数据。用户办理在 Ceph 集群中归于办理功用,能够经过办理员直接创立、更新、删除用户或许对用户赋予对应的caps 权限。同一个用户能够拥有一个或许多个存储桶,一起还能够为用户创立对应的子账户。
(2) 存储桶(Bucket)
存储桶(Bucket)是CephRGW 中存储目标的容器,是用户用来办理存储目标的逻辑存储空间。Ceph 目标存储服务供给了根据桶和目标的扁平化存储方法,桶中的一切目标都处于同一逻辑层级,去除了文件体系中的多层级树形目录结构。每个存储桶都有自己的拜访权限、所属区域等特点,用户能够在不同区域创立不同存储类别和拜访权限的桶,并装备更多高档特点来满意不同场景的存储诉求。
目标存储服务设置有多种桶存储类别,分别为规范存储、低频拜访存储、归档存储类型,从而满意客户事务对存储功用、成本的不同诉求。创立桶时能够指定桶的存储类别,桶的 存储类别也能够在创立之后进行修正。在 Ceph中,同一个租户(tenant)命名空间下,桶名有必要是全局唯一的且不能修正,即用户创立的桶不能与自己已创立的其他桶称号相同, 也不能与其他用户创立的桶称号相同。桶所属的区域在创立后也不能修正。每个桶在创立时都会生成默许的桶ACL(AccessControlList),桶ACL的每项包含了对被授权用户授予什么样的权限,如读取权限、写入权限等。用户只要对桶有相应的权限,才能够对桶进 行相应的操作,如创立、删除、显示、设置桶 ACL等。一个默许账号可创立1000个桶。每个桶中存放的目标的数量和巨细总和默许没有限制,用户不需要考虑数据的可扩展性。 存储桶命名规矩如下。
◆ 只能包含小写字母,数字和短横线(-);
◆ 有必要以小写字母或数字最初;
◆ 长度有必要在 3~63字节之间。
存储桶是用户办理目标的单位,一切目标都有必要归于一个存储桶。存储桶具有一些属 性来操控区域,如目标拜访操控、目标生命周期等。这些特点适用于存储桶下的一切目标,因而用户能够灵敏地创立不同的存储桶,以完结不同的办理功用。
(3) 目标(Object)
目标(Object)是 Ceph目标存储服务中数据存储的基本单位(区别于 RADOS层的文件数据切片Object概念),一个目标实践是一个文件的数据及其相关特点信息(元数据)的集合体。用户上传至 Ceph 目标存储体系的数据都以目标的方式保存在存储桶(Bucket)中。一个目标一般包含键值(Key)、元数据(Metadata)、实体数据(Data)三部分。
Key :键值,即目标的称号。一个桶里的每个目标有必要拥有唯一的目标键值。目标文件命名规矩为经过 UTF-8编码的长度大于 0且不超越 1024 的字符序列,目标的称号对巨细写敏感。
Metadata :目标元数据,即目标的描绘信息,包含体系元数据和用户元数据。这些元数据以键值对(Key-Value)的方式被上传到 Ceph中。
◆ 体系元数据由Ceph主动生成,在处理目标数据时运用,包含Date、Content- length、Last-modify、Content-MD5等;
◆ 用户元数据由用户在上传目标时指定,是用户自界说的目标描绘信息。
Data:实体数据,即文件的数据内容。
通常情况下,人们将目标等同于文件来进行办理,可是因为 Ceph RGW供给的是一种目标存储服务,并没有文件体系中的文件和文件夹概念。为了运用户更方便地进行数据 办理,CephRGW供给了一种方法来模拟文件夹层级。经过在目标的称号中增加“/”,例如选用“test/123.jpg”的命名方法,此刻,“test”就被模拟成了一个文件夹,“123.jpg”则模拟成“test”文件夹下的文件名了,而实践上,目标称号(Key)仍然是“test/123..jpg”。上传目标时,能够指定目标的存储类别,若不指定,默许与桶的存储类别共同。
转载请注明:小猪云服务器租用推荐 » 阿里云云存储接入层–对象存储RGW