searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享

Ceph分布式存储笔记

2022-06-21 08:53:22
337
0

ceph分布式存储

存储分类

本地存储本地的文件系统,不能再网络上用

 

ext3 ext4 xfs ntfs

网络存储–网络文件系统,共享的都是文件系统

nfs  网络文件系统

hdfs 分布式网络文件系统

glusterfs 分布式网络文件系统

共享的是裸设备

块数据cinder ceph(快存储 对象存储 网络文件系统-分布式)

SAN(存储区域网)

分布式集群

client

  |

  namenode

__________|________

    |         |       |

datanode  datanode datanode

分布式存储分类

Hadoop HDFS(大数据分布式文件系统)

HDFS是一个分布式文件系统,是hadoop生态系统的一个重要组成部分,是hadoop中的存储组件,HDFS是一个高度容错性的系统,HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。

优点:

高容错性

数据自动保存多个副本

副本丢失后自动恢复

良好的数据访问机制

一次写入,多次读取,保证数据一致性

适合大数据文件的存储

TB、甚至PB级数据

扩展能力很强

缺点:

低延迟数据访问 难以应付毫秒级一下应用

海量小文件存取 占用NameNode大量内存

一个文件只能有一个写入者 仅支持append

OpenStack的对象存储Swift

OpenStack是Openstack开源云计算项目的子项目之一,Swift的目的是使用普通硬件来构建冗余、可扩展的分布式对象存储集群

主要特点:

各个存储的节点完全对等,是对称的系统架构

开发者通过一个RESTful HTTP API与对象存储系统相互作用

无单电故障:Swift的元数据存储是完全均匀随机分布的,并且与对象文件存储一样,元数据也会存储多分

在不影响性能的情况下,集群通过增加外部节点进行扩展

无限的可扩展性:这里的扩展性氛围两方面,一是数据存储容量无限可扩展,二是Swift性能科先行提升,扩容只需简单地新增机器,系统会自动完成数据迁移等工作

极高的数据持久性

Swift可以用一下用途:

图片、文档存储

长期保存的日志文件

存储媒体库

视频监控文件存档

Swift适合用来存储大量的、长期的、需要备份的对象

公有云对象存储

公有云大都只有对象存储

OSS提供标准、低频访问、归档三种存储类型,其中比奥春存储类型提供高可靠、高可用、高性能的对象存储服务,能够支持频繁的数据访问;低频访问存储类型适合长期保存不经常访问的数据,存储弹夹低于标准类型;归档存储类型适合需要长期保持的归档数据,在三种存储类型中弹夹最低

应用场景:

图片和影视片等应用的海量存储

云端数据处理

网页活移动应用的静态和动态资源分离

GlusterFS

GlusterFS是一种全对称的开源分布式文件系统,全对称是指采用弹性哈希算法,没有中心节点,所有节点全部平等

glusgerfs存储卷的类型

基本类型:条带,复制,哈希

复合卷,复合卷就是分布式复制,分布式条带,分布式条带复制卷,像分布式复制,分布式条带这两种是比较常用的

各种卷的整理

分布式卷: 存储时将文件随机存储到各台glusgerfs机器上。

优点:存储数据时读取速度快

缺点:一个birck坏掉,文件就会丢失

复制卷:存储数据时,所有文件分别存储到每台glusgerfs机器上

优点:对文件进行的多次备份,一个brick坏掉,文件不会丢失

缺点:占用资源

条带卷:存数据时,一个文件分开存到每台glusgerfs机器上

优点:对大文件,读写速度快

缺点:同分布式卷

GPFS和HDFS的区别

GPFS和Hadoop的HDFS系统对比,他设计用于商用硬件上存储类似或更大的数据

HDFS将文件分割成快,并将它们存储在不同的文件系统节点内

HDFS对磁盘可靠性的依赖不高,他可以在不同的节点内存储块的副本。相较而言,GPFS支持故障节点恢复,但他是一个更严重的时间,可能包括数据丢失的高风险

GPFS支持完整的Posix文件系统语义,而HFPS并不支持完整的

GPFS跨文件系统分布他的目录索引和其他元数据,Hadoop将它们保留在主要和次要Namenode中,大型服务器必须在RAM内存储所有的索引信息

GPFS将文件分割成小块,Hadoop HDFS喜欢64MB甚至更多块,因为这降低了Namenode的存储需求。小块文件会快速填充文件系统的索引,因此限制了文件系统的大小

Ceph

cephg的优势

高扩展性:使用普通x86服务器,支持10~1000台服务器

高可靠性:没有单电故障,多数据副本,自动管理,自动修复

高性能:数据分布均衡

可用于对象存储,块设备存储和文件存储

ceph架构

基础存储系统

rados:基础的存储系统RADOS,即可靠的、自动化的。分布式的对象存储。所有存储在ceph系统中的用户数据事实上最终都是由这一层来存储的。

librados:这一层的功能是对RADOS进行抽象和封装,并向上层提供API,一遍直接基于RADOS进行应用开发

高层应用接口

radosgw:对象网关接口

rdb:块存储

cephfs:文件系统存储

其左右实在librados库的基础上提供抽象层次更高、更便于应用或客户端使用的上层接口

ceph基本组件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IOCqPgnT-1630498760903)(./1630493574165.png)]

Osd

用于集群中所有数据与对象的存储。处理集群数据的复制、恢复、回填、再均衡。并向其他osd守护进程发送心跳,向Mon提供一些监控信息

当ceph存储集群设定数据有两个副本时,则至少需要两个OSD守护进程即两个OSD节点,集群才能达到active+clean状态

MSD

为ceph文件系统提供元数据计算、缓存与同步。在ceph中,元数据也是存储在osd节点中的,mds类似于元数据的代理缓存服务器。MDS进程并不是必须的进程,只有需要使用CEPHFS,才需要配置MDS节点。

Monitor

监控整个集群的状态,维护集群的cluster MAP二进制表,保证集群数据的一致性。ClusterMAP描述了对象块存储的物理位置,以及一个将设备距和到物理位置的桶列表

Manager

用于手机ceph集群状态、运行指标,比如存储利用率、当前性能指标和系统负载。对外提供ceph dashboard和restful api。Manager组件开启高可用时,至少2个

ceph结构包含两个部分

ceph client:访问ceph底层服务或组件,对外提供各种接口。比如L对象存储接口、块存储接口、文件及存储接口

ceph node:ceph底层服务提供短。也就是ceph存储集群

ceph存储种类及应用场景

块存储

典型设备:磁盘阵列,硬盘

优点:

用过Raid与LVM等手段,对数据提供了保护

多块链家的硬盘组合起来,提高容量

多块磁盘组合出来的逻辑盘,提升读写效率

缺点:

采用SAN架构组网时,光钎交换机,造价成本高

主机之间无法共享数据

使用场景:

Docker容器、虚拟机磁盘存储分配。

日志存储

文件存储

文件存储

典型设备:FTP/NFS服务器

为了克服块存储文件无法共享的问题,所以有了文件存储

在服务器上架设FTP与NFS服务,就是文件存储

优点:

造价低

方便文件共享

缺点:

读写速率低

传输速率慢

使用场景:

日志存储

有目录结构的文件存储

对象存储

对象存储是将元数据独立了出来,控制节点叫元数据服务器,里面主要负责存储对象的属性,而其他负责存储的分布式服务器叫做OSD,主要负责存储文件的数据部分。当用户访问对象,会先访问元数据服务器,元数据服务器只负责反馈对象存储在哪些OSD,假设反馈文件A存储在B/C/D三台OSD,那么用户就会再次直接访问3台OSD服务器去读取数据。

优点:

具备块存储的读写高速

具备文件存储的共享等特性

使用场景:

图片存储

视频存储

ceph工作原理

无论使用哪种存储方式,存储的数据都会被切分成对象。对象大小可以由管理员调整。每个对象都会有一个唯一的OID,由ino与ono生成,ino为文件的file id,ono是分片的编号。oid的好处是可以唯一标识没一个不同的对象,并且存储了对象与文件的从属关系。

但是对象并不会直接存储进OSD中,因为对象的size很小,在一个大规模的集群中可能有几百到几千万个对象,这么多对象光是遍历寻址速度都是很满的。并且如果将对象直接通过哈希算法映射到osd上,当这个osd损坏时,对象无法自动迁移到其他osd上面。为了解决这个问题,ceph映入了归置组的概念,即PG

PG是一个逻辑概念。他在数据寻址时类似于数据库中的索引;每个对象都会固定映射进一个PG中,当我们寻找一个对象时,只需要先找到对象所属的PG,然后遍历这个PG就可以了。在数据迁移时,也是以PG作为基本单位进行迁移。

对象如何映射进PG?首先使用静态hash函数对OID做hash取出特征码,用特征码与PG数量取模,得到的序号则是PGID。

最后PG会根据管理员设置的副本数量进行复制,通过crush算法存储到不同的OSD节点上,第一个osd节点即为主节点,其余均为从节点

ceph名词介绍

Monitor 监控整个集群的状态,维护集群的cluster MAP二进制表,保证集群数据的一致性

OSD 负责响应客户端请求返回具体数据的进程。一个ceph集群一般都有很多歌OSD

MDS 是cephFS服务依赖的元数据服务

Object ceph最底层的存储单元是Object对象,每个Object包含元数据和原始数据

PG 一个PG包含多个OSD。引入PG这一层其实是为了更好的分配数据和定位数据

RADOS 是集群的精华,用户实现数据分配Failover等集群操作

libradio 是rados提供库

CRUSH 是ceph使用的数据分布算法,类似一致性哈希,让数据分配到预期的地方

RBD 是ceph对外提供块设备服务

RGW 是ceph对外提供的对象存储服务

cpehFS 是ceph对外提供的文件系统服务

ceph的集群部署

ceph的存储方式

radosgw:ceph对象网关

ceph对象存储使用ceph对象网关守护进程,他是用于与ceph存储集群进行交互的HTTP服务器。由于他提供的OpenStack Swift和Amazon S3兼容的接口,因此ceph对象网关具有其自己的用户管理。ceph对象网关可以将数据存储在用于存储来自ceph文件系统客户端或ceph块设备客户端的数据的同一ceph存储群集中。S3和Swift API共享一个公共的名称空间,因此可以使用一个API编写数据,使用另一个API检索数据

ceph文件系统

ceph文件系统是个POSIX兼容的文件系统,使用ceph存储集群来存储数据。ceph文件系统与ceph块设备、同事提供S3和Swift API的ceph对象存储、或者librados一样,都使用相同的ceph存储集群系统

ceph块存储

块是一个字节序列。基于块的存储接口是最常见的存储数据方法,他们基于旋转介质,如硬盘。无处不在的块设备接口使虚拟块设备成为与ceph这样的海量存储系统交互的理想之选。

————————————————

版权声明:本文为CSDN博主「Salute_Lch」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/m0_37143356/article/details/120048034

0条评论
0 / 1000
AE86上山了
55文章数
18粉丝数
AE86上山了
55 文章 | 18 粉丝

Ceph分布式存储笔记

2022-06-21 08:53:22
337
0

ceph分布式存储

存储分类

本地存储本地的文件系统,不能再网络上用

 

ext3 ext4 xfs ntfs

网络存储–网络文件系统,共享的都是文件系统

nfs  网络文件系统

hdfs 分布式网络文件系统

glusterfs 分布式网络文件系统

共享的是裸设备

块数据cinder ceph(快存储 对象存储 网络文件系统-分布式)

SAN(存储区域网)

分布式集群

client

  |

  namenode

__________|________

    |         |       |

datanode  datanode datanode

分布式存储分类

Hadoop HDFS(大数据分布式文件系统)

HDFS是一个分布式文件系统,是hadoop生态系统的一个重要组成部分,是hadoop中的存储组件,HDFS是一个高度容错性的系统,HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。

优点:

高容错性

数据自动保存多个副本

副本丢失后自动恢复

良好的数据访问机制

一次写入,多次读取,保证数据一致性

适合大数据文件的存储

TB、甚至PB级数据

扩展能力很强

缺点:

低延迟数据访问 难以应付毫秒级一下应用

海量小文件存取 占用NameNode大量内存

一个文件只能有一个写入者 仅支持append

OpenStack的对象存储Swift

OpenStack是Openstack开源云计算项目的子项目之一,Swift的目的是使用普通硬件来构建冗余、可扩展的分布式对象存储集群

主要特点:

各个存储的节点完全对等,是对称的系统架构

开发者通过一个RESTful HTTP API与对象存储系统相互作用

无单电故障:Swift的元数据存储是完全均匀随机分布的,并且与对象文件存储一样,元数据也会存储多分

在不影响性能的情况下,集群通过增加外部节点进行扩展

无限的可扩展性:这里的扩展性氛围两方面,一是数据存储容量无限可扩展,二是Swift性能科先行提升,扩容只需简单地新增机器,系统会自动完成数据迁移等工作

极高的数据持久性

Swift可以用一下用途:

图片、文档存储

长期保存的日志文件

存储媒体库

视频监控文件存档

Swift适合用来存储大量的、长期的、需要备份的对象

公有云对象存储

公有云大都只有对象存储

OSS提供标准、低频访问、归档三种存储类型,其中比奥春存储类型提供高可靠、高可用、高性能的对象存储服务,能够支持频繁的数据访问;低频访问存储类型适合长期保存不经常访问的数据,存储弹夹低于标准类型;归档存储类型适合需要长期保持的归档数据,在三种存储类型中弹夹最低

应用场景:

图片和影视片等应用的海量存储

云端数据处理

网页活移动应用的静态和动态资源分离

GlusterFS

GlusterFS是一种全对称的开源分布式文件系统,全对称是指采用弹性哈希算法,没有中心节点,所有节点全部平等

glusgerfs存储卷的类型

基本类型:条带,复制,哈希

复合卷,复合卷就是分布式复制,分布式条带,分布式条带复制卷,像分布式复制,分布式条带这两种是比较常用的

各种卷的整理

分布式卷: 存储时将文件随机存储到各台glusgerfs机器上。

优点:存储数据时读取速度快

缺点:一个birck坏掉,文件就会丢失

复制卷:存储数据时,所有文件分别存储到每台glusgerfs机器上

优点:对文件进行的多次备份,一个brick坏掉,文件不会丢失

缺点:占用资源

条带卷:存数据时,一个文件分开存到每台glusgerfs机器上

优点:对大文件,读写速度快

缺点:同分布式卷

GPFS和HDFS的区别

GPFS和Hadoop的HDFS系统对比,他设计用于商用硬件上存储类似或更大的数据

HDFS将文件分割成快,并将它们存储在不同的文件系统节点内

HDFS对磁盘可靠性的依赖不高,他可以在不同的节点内存储块的副本。相较而言,GPFS支持故障节点恢复,但他是一个更严重的时间,可能包括数据丢失的高风险

GPFS支持完整的Posix文件系统语义,而HFPS并不支持完整的

GPFS跨文件系统分布他的目录索引和其他元数据,Hadoop将它们保留在主要和次要Namenode中,大型服务器必须在RAM内存储所有的索引信息

GPFS将文件分割成小块,Hadoop HDFS喜欢64MB甚至更多块,因为这降低了Namenode的存储需求。小块文件会快速填充文件系统的索引,因此限制了文件系统的大小

Ceph

cephg的优势

高扩展性:使用普通x86服务器,支持10~1000台服务器

高可靠性:没有单电故障,多数据副本,自动管理,自动修复

高性能:数据分布均衡

可用于对象存储,块设备存储和文件存储

ceph架构

基础存储系统

rados:基础的存储系统RADOS,即可靠的、自动化的。分布式的对象存储。所有存储在ceph系统中的用户数据事实上最终都是由这一层来存储的。

librados:这一层的功能是对RADOS进行抽象和封装,并向上层提供API,一遍直接基于RADOS进行应用开发

高层应用接口

radosgw:对象网关接口

rdb:块存储

cephfs:文件系统存储

其左右实在librados库的基础上提供抽象层次更高、更便于应用或客户端使用的上层接口

ceph基本组件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IOCqPgnT-1630498760903)(./1630493574165.png)]

Osd

用于集群中所有数据与对象的存储。处理集群数据的复制、恢复、回填、再均衡。并向其他osd守护进程发送心跳,向Mon提供一些监控信息

当ceph存储集群设定数据有两个副本时,则至少需要两个OSD守护进程即两个OSD节点,集群才能达到active+clean状态

MSD

为ceph文件系统提供元数据计算、缓存与同步。在ceph中,元数据也是存储在osd节点中的,mds类似于元数据的代理缓存服务器。MDS进程并不是必须的进程,只有需要使用CEPHFS,才需要配置MDS节点。

Monitor

监控整个集群的状态,维护集群的cluster MAP二进制表,保证集群数据的一致性。ClusterMAP描述了对象块存储的物理位置,以及一个将设备距和到物理位置的桶列表

Manager

用于手机ceph集群状态、运行指标,比如存储利用率、当前性能指标和系统负载。对外提供ceph dashboard和restful api。Manager组件开启高可用时,至少2个

ceph结构包含两个部分

ceph client:访问ceph底层服务或组件,对外提供各种接口。比如L对象存储接口、块存储接口、文件及存储接口

ceph node:ceph底层服务提供短。也就是ceph存储集群

ceph存储种类及应用场景

块存储

典型设备:磁盘阵列,硬盘

优点:

用过Raid与LVM等手段,对数据提供了保护

多块链家的硬盘组合起来,提高容量

多块磁盘组合出来的逻辑盘,提升读写效率

缺点:

采用SAN架构组网时,光钎交换机,造价成本高

主机之间无法共享数据

使用场景:

Docker容器、虚拟机磁盘存储分配。

日志存储

文件存储

文件存储

典型设备:FTP/NFS服务器

为了克服块存储文件无法共享的问题,所以有了文件存储

在服务器上架设FTP与NFS服务,就是文件存储

优点:

造价低

方便文件共享

缺点:

读写速率低

传输速率慢

使用场景:

日志存储

有目录结构的文件存储

对象存储

对象存储是将元数据独立了出来,控制节点叫元数据服务器,里面主要负责存储对象的属性,而其他负责存储的分布式服务器叫做OSD,主要负责存储文件的数据部分。当用户访问对象,会先访问元数据服务器,元数据服务器只负责反馈对象存储在哪些OSD,假设反馈文件A存储在B/C/D三台OSD,那么用户就会再次直接访问3台OSD服务器去读取数据。

优点:

具备块存储的读写高速

具备文件存储的共享等特性

使用场景:

图片存储

视频存储

ceph工作原理

无论使用哪种存储方式,存储的数据都会被切分成对象。对象大小可以由管理员调整。每个对象都会有一个唯一的OID,由ino与ono生成,ino为文件的file id,ono是分片的编号。oid的好处是可以唯一标识没一个不同的对象,并且存储了对象与文件的从属关系。

但是对象并不会直接存储进OSD中,因为对象的size很小,在一个大规模的集群中可能有几百到几千万个对象,这么多对象光是遍历寻址速度都是很满的。并且如果将对象直接通过哈希算法映射到osd上,当这个osd损坏时,对象无法自动迁移到其他osd上面。为了解决这个问题,ceph映入了归置组的概念,即PG

PG是一个逻辑概念。他在数据寻址时类似于数据库中的索引;每个对象都会固定映射进一个PG中,当我们寻找一个对象时,只需要先找到对象所属的PG,然后遍历这个PG就可以了。在数据迁移时,也是以PG作为基本单位进行迁移。

对象如何映射进PG?首先使用静态hash函数对OID做hash取出特征码,用特征码与PG数量取模,得到的序号则是PGID。

最后PG会根据管理员设置的副本数量进行复制,通过crush算法存储到不同的OSD节点上,第一个osd节点即为主节点,其余均为从节点

ceph名词介绍

Monitor 监控整个集群的状态,维护集群的cluster MAP二进制表,保证集群数据的一致性

OSD 负责响应客户端请求返回具体数据的进程。一个ceph集群一般都有很多歌OSD

MDS 是cephFS服务依赖的元数据服务

Object ceph最底层的存储单元是Object对象,每个Object包含元数据和原始数据

PG 一个PG包含多个OSD。引入PG这一层其实是为了更好的分配数据和定位数据

RADOS 是集群的精华,用户实现数据分配Failover等集群操作

libradio 是rados提供库

CRUSH 是ceph使用的数据分布算法,类似一致性哈希,让数据分配到预期的地方

RBD 是ceph对外提供块设备服务

RGW 是ceph对外提供的对象存储服务

cpehFS 是ceph对外提供的文件系统服务

ceph的集群部署

ceph的存储方式

radosgw:ceph对象网关

ceph对象存储使用ceph对象网关守护进程,他是用于与ceph存储集群进行交互的HTTP服务器。由于他提供的OpenStack Swift和Amazon S3兼容的接口,因此ceph对象网关具有其自己的用户管理。ceph对象网关可以将数据存储在用于存储来自ceph文件系统客户端或ceph块设备客户端的数据的同一ceph存储群集中。S3和Swift API共享一个公共的名称空间,因此可以使用一个API编写数据,使用另一个API检索数据

ceph文件系统

ceph文件系统是个POSIX兼容的文件系统,使用ceph存储集群来存储数据。ceph文件系统与ceph块设备、同事提供S3和Swift API的ceph对象存储、或者librados一样,都使用相同的ceph存储集群系统

ceph块存储

块是一个字节序列。基于块的存储接口是最常见的存储数据方法,他们基于旋转介质,如硬盘。无处不在的块设备接口使虚拟块设备成为与ceph这样的海量存储系统交互的理想之选。

————————————————

版权声明:本文为CSDN博主「Salute_Lch」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/m0_37143356/article/details/120048034

文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
1