(完整版)Ceph分布式存储.docx
上传者:jiyudian11
2022-06-16 19:00:27上传
DOCX文件
209 KB
Ceph分布式存储系统
Ceph是根据加州大学Santa Cruz分校的Sage Weil的博士论文所设计开发的新一代自由 软件分布式文件系统,其设计目标是良好的可扩展性(PB级别以上)、高性能及高可靠性。
Ceph其命名和UCSC(Ceph的诞生地)的吉祥物有关,这个吉祥物是“Sammy”,一个香 蕉色的蛞蝓,就是头足类中无壳的软体动物。这些有多触角的头足类动物,是对一个分布 式文件系统高度并行的形象比喻。
其设计遵循了三个原则:数据与元数据的分离,动态的分布式的元数据管理,可靠统一的 分布式对象存储机制。本文将从Ceph的架构出发,综合性的介绍Ceph分布式文件系统特 点及其实现方式。
一、Ceph基本架构
Ceph是一个高可用、易于管理、开源的分布式存储系统,可以在一套系统中同时提供对象
存储、块存储以及文件存储服务。其主要由Ceph存储系统的核心RADOS以及块存取接
口、对象存取接口和文件系统接口组成,如图所示
应川
hufil J
]W
个由瓦以口我修履,右我管理的智能疔苗节点迥臓的可靠的"自动的曲布的刘勲疗他
r
T
RADOSGff
RBD
CEl'El FS
一聲基于大:a Wrest网关* 撷容品和覊it
用lii畑内檢用
3 fUQEMU/ Kffl驱函的全局
式加件累诜便IJl.ii •内樓用戸井且主持F
1.、卜
IRKADOS
-牛能让应用通过对C
、C+++,. Javaj Python 、Fu恤和HF的克持直 凄连逼慣LXS的仓用
Ceph 的底层是 RADOS,它的意思是“A reliable,autonomous, distributed object storage”。RADOS作为Ceph分布式文件系统的一个子项目,是为了满足Ceph的需求 而设计的,但是,其也可以单独作为一种分布式数据存储系统,给其他的有类似需求的分 布式文件系统提供数据存储服务。Ceph文件系统,Ceph对象存储和Ceph块设备从 RADOS的存储集群中读去和写入数据。
Ceph作为一个分布式存储系统,其对外提供的接口,决定了其通用性以及扩展性。如上图 架构图中所示的那样,Ceph对外提供了丰富多样的服务接口,包括多种编程语言接口 LIBRADOS (备注,上图来自Ceph中文社区,社区人员在翻译的过程中将字母L遗失掉 了)、对象存储接口(RADOSGW)、块存储接口(RBD)以及文件系统接口(Ceph FS)。其 中LIBRADOS编程接口是其他各种客户端接口的基础,其他接口都是基于LIBRADOS 来进行扩展实现的。
RADOS
Ceph 中 RADOS(Reliable Autonomic Distributed Object Store)存储集群是所有其他客
户端接口使用和部署的基础。RADOS由两个组件组成:
• OSD: Object StorageDevice,提供存储资源。
典型的RADOS部署架构由少量的Monitor监控器以及大量的OSD存储设备组成,它能 够在动态变化的基于异质结构的存储设备集群之上提供一种稳定的、可扩展的、高性能的 单一逻辑对象存储接口。
RADOS系统的架构如图所示:
血 nilors
我们看到,RADOS不是某种组件,而是由OSD(Object Storage Device)集群和
Monitor集群组成。通常,一个RADOS系统中,OSD集群是由大量的智能化的OSD节 点组成;Monitor集群是由少量的Monitor节点组成。OSD集群负责存储所有对象的数 据。Monitors集群负责管理Ceph集群中所有成员、关系、属性以及数据分发等信息。
Ceph 客户端接口 (Clients)
我们将Ceph架构中除了底层基础RADOS之上的LIBRADOS、RADOSGW、RBD以及 Ceph FS统一称为Ceph客户端接口。而LIBRADOS又是Ceph其它如RADOSGW、 RBD以及Ceph FS的基础。简而言之就是RADOSGW、RBD以及Ceph FS根据 LIBRADOS提供的多编程语言接口开发。所以他们之间是一个阶梯级的关系。
RADOSGW
RADOSGW(RADOS Gmeway),又叫Ceph对象存储网关,是一个底层基于librados向 客户端提供RESTful接口的对象存储接口。目前Ceph支持两种API接口:
⑴S3.compatible: S3兼容的接口,提供与Amazon S3大部分RESTfuI API接口兼容 的API接口。
(2) Swift.compatible:提供与 OpenStack Swift 大部分接口兼容的
Ceph是根据加州大学Santa Cruz分校的Sage Weil的博士论文所设计开发的新一代自由 软件分布式文件系统,其设计目标是良好的可扩展性(PB级别以上)、高性能及高可靠性。
Ceph其命名和UCSC(Ceph的诞生地)的吉祥物有关,这个吉祥物是“Sammy”,一个香 蕉色的蛞蝓,就是头足类中无壳的软体动物。这些有多触角的头足类动物,是对一个分布 式文件系统高度并行的形象比喻。
其设计遵循了三个原则:数据与元数据的分离,动态的分布式的元数据管理,可靠统一的 分布式对象存储机制。本文将从Ceph的架构出发,综合性的介绍Ceph分布式文件系统特 点及其实现方式。
一、Ceph基本架构
Ceph是一个高可用、易于管理、开源的分布式存储系统,可以在一套系统中同时提供对象
存储、块存储以及文件存储服务。其主要由Ceph存储系统的核心RADOS以及块存取接
口、对象存取接口和文件系统接口组成,如图所示
应川
hufil J
]W
个由瓦以口我修履,右我管理的智能疔苗节点迥臓的可靠的"自动的曲布的刘勲疗他
r
T
RADOSGff
RBD
CEl'El FS
一聲基于大:a Wrest网关* 撷容品和覊it
用lii畑内檢用
3 fUQEMU/ Kffl驱函的全局
式加件累诜便IJl.ii •内樓用戸井且主持F
1.、卜
IRKADOS
-牛能让应用通过对C
、C+++,. Javaj Python 、Fu恤和HF的克持直 凄连逼慣LXS的仓用
Ceph 的底层是 RADOS,它的意思是“A reliable,autonomous, distributed object storage”。RADOS作为Ceph分布式文件系统的一个子项目,是为了满足Ceph的需求 而设计的,但是,其也可以单独作为一种分布式数据存储系统,给其他的有类似需求的分 布式文件系统提供数据存储服务。Ceph文件系统,Ceph对象存储和Ceph块设备从 RADOS的存储集群中读去和写入数据。
Ceph作为一个分布式存储系统,其对外提供的接口,决定了其通用性以及扩展性。如上图 架构图中所示的那样,Ceph对外提供了丰富多样的服务接口,包括多种编程语言接口 LIBRADOS (备注,上图来自Ceph中文社区,社区人员在翻译的过程中将字母L遗失掉 了)、对象存储接口(RADOSGW)、块存储接口(RBD)以及文件系统接口(Ceph FS)。其 中LIBRADOS编程接口是其他各种客户端接口的基础,其他接口都是基于LIBRADOS 来进行扩展实现的。
RADOS
Ceph 中 RADOS(Reliable Autonomic Distributed Object Store)存储集群是所有其他客
户端接口使用和部署的基础。RADOS由两个组件组成:
• OSD: Object StorageDevice,提供存储资源。
典型的RADOS部署架构由少量的Monitor监控器以及大量的OSD存储设备组成,它能 够在动态变化的基于异质结构的存储设备集群之上提供一种稳定的、可扩展的、高性能的 单一逻辑对象存储接口。
RADOS系统的架构如图所示:
血 nilors
我们看到,RADOS不是某种组件,而是由OSD(Object Storage Device)集群和
Monitor集群组成。通常,一个RADOS系统中,OSD集群是由大量的智能化的OSD节 点组成;Monitor集群是由少量的Monitor节点组成。OSD集群负责存储所有对象的数 据。Monitors集群负责管理Ceph集群中所有成员、关系、属性以及数据分发等信息。
Ceph 客户端接口 (Clients)
我们将Ceph架构中除了底层基础RADOS之上的LIBRADOS、RADOSGW、RBD以及 Ceph FS统一称为Ceph客户端接口。而LIBRADOS又是Ceph其它如RADOSGW、 RBD以及Ceph FS的基础。简而言之就是RADOSGW、RBD以及Ceph FS根据 LIBRADOS提供的多编程语言接口开发。所以他们之间是一个阶梯级的关系。
RADOSGW
RADOSGW(RADOS Gmeway),又叫Ceph对象存储网关,是一个底层基于librados向 客户端提供RESTful接口的对象存储接口。目前Ceph支持两种API接口:
⑴S3.compatible: S3兼容的接口,提供与Amazon S3大部分RESTfuI API接口兼容 的API接口。
(2) Swift.compatible:提供与 OpenStack Swift 大部分接口兼容的
(完整版)Ceph分布式存储