集团企业网站建设方案策划书,互联网 网站建设,天元建设集团有限公司2008年招聘,自建房设计图1、 无中心架构分布式存储Ceph
Ceph是一套开源的分布式存储系统。具有可靠性高#xff0c;性能优良#xff0c;可伸缩#xff0c;与HDFS不同的地方在于#xff0c;该架构中没有中心节点。
Ceph优点在于它不单单是存储#xff0c;同时还充分利用了存储节点上的计算能…1、 无中心架构分布式存储Ceph
Ceph是一套开源的分布式存储系统。具有可靠性高性能优良可伸缩与HDFS不同的地方在于该架构中没有中心节点。
Ceph优点在于它不单单是存储同时还充分利用了存储节点上的计算能力在存储每一个数据时都会通过计算得出该数据存储的位置尽量将数据均衡分布因此它不存在传统的单点故障的问题且随着规模的扩大性能并不会受到影响。能够可靠地、自动重均衡、自动恢复集群状态。
Ceph可实现三种存储方式块设备存储CephFS 文件系统对象存储。
那么Ceph能做什么我们可以把文件想象成粮食那么Ceph就是一个粮仓这个粮仓可以通过三种不同的方式来存储粮食。这个粮仓可以容纳很多很多的仓库每个仓库可以存放很多很多的粮食。 2、 Ceph的功能特性
放弃传统的集中式存储元数据寻址的方式采用CRUSH算法数据分布均衡没有单点故障。 考虑了容灾域的隔离能够实现各类负载副本放置规则。同样的还是以粮仓为例子。当一个仓库着火了我们可以通过隔断门将其与其他正常的仓库隔离。避免影响到其他正常的仓库。 能够支持上千个存储节点的规模支持TB和PB级别的数据。 扩展灵活就是说支持动态的增加存储节点。 副本数可以灵活控制默认情况下Ceph的副本数是3个可以在配置文件中修改副本的数量。 3、 mon组件的概念与作用 Mon的概念 mon组件是monitor监视器的意思顾名思义就是监视整个集群的运行状态。整个集群的大管家。一个ceph集群中至少要有一个监视器一般为了保证集群的高可用最少需要启动3个监视器这样就可以避免单点故障。 Mon的作用 负责管理集群内部状态通过集群运行图即map如OSD Map、Monitor Map、PG Map和CRUSH Map 跟踪监控整个集群的运行状态。也就是说客户端连接到一个监视器之后就可以获取到整个集群的运行图获取到运行图之后就可以确定所有监视器、OSD和mds元数据服务器的位置。 负责授权Ceph客户端读写OSD或者元数据服务器之前必须先连到一个监控器靠当前集群运行图的副本和CRUSH算法客户端就可以计算出任何对象的位置因此客户端有能力直接连到OSD。 这对Ceph的高伸缩性高性能来说非常重要。 注意monitor节点的个数2n1必须为奇数个一个monitor也可以但是不建议这么做因为有单点故障所以最少三个起。
4、 OSD组件的概念和作用
OSD的概念 OSDobject storage device是负责存储文件的进程一般配置成和磁盘一一对应一块磁盘启动一个OSD进程。主要功能是存储数据、复制数据、平衡数据、恢复数据以及与其它OSD间进行心跳检查负责响应客户端请求返回具体数据的进程等在Ceph集群中所有的文件都会以对象的形式存储到OSD中。OSD与OSD之间是可以相互通信的。 OSD的作用 客户端在请求OSD进行I/O操作时必须先获取集群运行图就是各种map。也就是说第一次请求时必须先请求某一个mon节点获取运行图然后再请求OSD进行I/O操作以后的话就可以直接请求OSD进行I/O操作。
当客户端发起写入数据A的请求时会将数据A转成对象然后分发到集群不同节点的OSD中存储池副本数默认为3个可以配置。 5、 mgr、 MDS、 RGW组件
mgr主要目标实现 ceph 集群的管理为外界提供统一的入口,其实质是分担和扩展monitor的部分功能减轻monitor的负担让其更好地管理Ceph集群 。
MDS全称Ceph Metadata Server是CephFS服务依赖的元数据服务。负责保存 文件系统的元数据管理目录结构。只有需要Cephfs文件系统的时候才需要此组件对象存储和块设备存储不需要元数据服务。
RGW全称RADOS gateway是Ceph对外提供的对象存储服务网关接口与S3和Swift兼容。
6、 其他组件与概念
PG PG英文全称Placement Group中文称之为归置组。可以将PG看做一个逻辑容器这个容器包含多个对象同时这个逻辑对象映射多个OSD上。如果没有PG在成千上万个OSD上管理和跟踪数百万计的对象的复制和传播是相当困难的。没有PG这一层管理海量的对象所消耗的计算资源也是不可想象的。 PG的作用PG相当于一个虚拟组件出于集群伸缩性能方面的考虑。Ceph将每个存储池分为多个PG如果存储池为副本池类型并会给该存储池每个PG分配一个主OSD和多个从OSD当数据量大的时候PG将均衡的分布在集群中的每个OSD上面。 Object 存储对象最底层的存储单元包含元数据和原始数据。 更多Linux、云计算、云原生、大数据、docker、k8s知识可访问奇智云课堂