当前位置:网站首页>ceph 原理
ceph 原理
2022-07-02 14:50:00 【人生30一道坎】
ceph是一个统一的分布式存储系统,提供较好的性能,可靠性,可扩展性。
简介:
高性能
抛弃了传统的集中式存储寻址方案,采用CRUSH算法,数据分布均衡,并行度高
考虑了容灾域的隔离,能够实现各类负载的副本设置规则,例如跨机房,机架感知等
能够支持上千个存储节点的规模,支持TB到PB的数据
高可用性
副本数可以灵活控制
支持故障域分离,数据强一致性
多种故障场景自动进行修复自愈
没有单点故障,自动管理
高可扩展性
去中心化
扩展灵活
随着节点增加而线性增长
特性丰富
支持三种存储接口,块存储,文件存储,对象存储
支持自定义接口,支持多种语言驱动
架构
支持三种接口
object :有原生API而且兼容swift 和s3的API
block :支持精简配置,快照,克隆
file: posix接口 支持快照
组件
monitor: 一个ceph集群需要多个monitor组成的小集群,他们通过paxos同步数据,用来保存OSD的元数据
OSD: 全称object storage device,也就是负责响应客户端请求返回具体数据的进程,一个ceph集群一般都有很多个osd。主要功能用户数据的存储,当直接使用硬盘座位存储目标时,一块硬盘称为OSD,当使用一个目录座位存储目标的时候,这个目录也被称为OSD
MDS:全称ceph metadata server ,是i一个cephFs服务依赖的元数据服务,对象存储和快设备存储需要改服务
object: ceph最底层的存储单元是object对象,一条数据,一个配置都是一个对象,每个object包含一个ID 元数据 原始数据
pool:pool是一个存储对象的逻辑分区,它通常规定了数据冗余的类型于副本数,默认为3副本,对于不同类型的存储,需要单独的pool,如RBD
PG:全称placement Groups 是一个逻辑概念,一个OSD包含多个PG,引入PG这一层其实是为了更好的分配数据和定位数据,每个pool内包含很多个pg,它是一个对象的集合,服务端数据均衡和恢复的最小单位就是PG。
pool是ceph存储数据似乎的逻辑分区,它启动namespace的作用
每个pool包含一定数量的PG
PG里的对象被映射到不同的object上
pool是分布到整个集群的
filestore于bulestore:fileStore是老版本默认使用的后端存储引擎,如果使用filestore建议使用xfs文件系统,bulestore是一个新的后端存储引擎,可以直接管理裸硬盘,抛弃了ext4于XFS 等本地文件系统。可以直接对物理硬盘进行操作,同时效率也高出很多。
RADOS:全称Reliable Autonomic Distributed Object Store。是Ceph集群的精华,用于实现数据分配,FailOver集群操作。
Librados:librados是rados提供库,因为rados是协议很难直接访问,因为上层的RBD,RGW,cephFs都是通过librados访问的,目前提供php,ruby,java,python,c,C++支持
crush:crush是ceph使用的数据分布算法, 类似一致性哈希,让数据分配到预期的地方
RBD:全称rados block device 是ceph对外提供的块设备服务,如虚拟机硬盘,支持快照功能
RGW:全称rados gateway,是ceph对外提供的对象存储服务,接口与s3和swfit兼容。
cephFs:全称ceph file system 是ceph对外提供的文件系统服务
块存储:
典型设备 磁盘阵列,磁盘,主要是将裸磁盘空间映射给主机使用的
优点: 通过raid 与lvm 等手段,对数据提供了保护
多快廉价的硬盘组合起来,提供容量
多快磁盘组合起来的逻辑盘,提供读写效率
缺点
采用SAN架构组网时,光纤交换机 造价成本高
主机之间无法共享数据
使用场景:
docker容器,虚拟机磁盘存储分配
日志存储
文件存储
文件存储:
典型设备,FTP,NFS服务器,为了客服存储文件无法共享的问题,所以有了文件存储,在服务器上架设了FTP NFS服务器,就是文件存储。
优点: 造价低,随便一台机器就可以。方便文件可以共享。
缺点:读写效率低。传输速率慢。
使用场景
日志存储
有目录结构的文件存储
对象存储
典型设备:
内置大容量硬盘的分布式服务器,swift,s3。多台服务器内置大容量硬盘,安装上对象存储管理软件,对外提供读写访问功能
优点: 具备块存储的读写高速;具备文件存储的共享等特性
使用场景: 图片存储,视频存储
部署
由于我们这里在kubernetes集群中使用,也为了方便管理,我们这里使用rock来部署ceph集群,rook是一个开源的云原生存储编排工具,提供平台框架,和对各种存储解决方案的支持。以云原生环境进行本次集成。
rook将存储软件转变成组我管理,自我扩展和自我修复的存储服务,通过自动化部署,启动,配置,供应,扩展,升级,迁移,灾难恢复,监控和资源管理来实现。rook底层使用云原生容器管理,调度和编排提供提供的能力来提供这些功能。其实就是我们平常说的operator。rook利用扩展功能将其深度集成到云原生环境中,并为调度,生命周期管理,资源管理,安全性,监控等提供了无缝的体验。
rook包含多个组件:
rook operator:rook的核心组件,rook operator是一个简单的容器,自动启动存储集群,并监控存储守护进程,来确保存储集群的健康。
rook agent: 在每个存储节点上运行,并配置一个flexvolume或者CSI插件,和kubernetes的存储卷控制框架进行集成,Agent处理所有的存储操作,例如挂加网络存储设备,在主机上记载存储卷以及格式化文件系统等。
rook discovers:监测挂接到存储节点上的存储设备
rook 还会用kubernetes pod的形式,部署ceph的MON,OSD以及MGR守护进程。ROOK operator让用户通过CRD来创建和管理存储集群,每种资源都定义了自己都CRD
rookcluster: 提供了对存储集群的配置能力,用例提供快存储,对象存储,以及共享文件系统,每个集群都有多个pool
pool:为块存储提供支持,pool也是给文件和对线存储提供内部支持
object store: 用s3兼容接口开放存储服务
file system: 为多个kubernetes pod提供共享存储
边栏推荐
- What will you do after digital IC Verification?
- Sword finger offer 24 Reverse linked list
- ThreadLocal
- 深度之眼(二)——矩阵及其基本运算
- 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
- One year is worth ten years
- Deep learning image data automatic annotation [easy to understand]
- visibilitychange – 指定标签页可见时,刷新页面数据
- Use the API port of the bridge of knowledge and action to provide resources for partners to access
- 【Leetcode】14. 最長公共前綴
猜你喜欢
Configure ARP table entry restrictions and port security based on the interface (restrict users' private access to fool switches or illegal host access)
剑指 Offer 27. 二叉树的镜像
13、Darknet YOLO3
Sword finger offer 26 Substructure of tree
[shutter] dart data type (dynamic data type)
对接保时捷及3PL EDI案例
体验居家办公完成项目有感 | 社区征文
Win10系统使用pip安装juypter notebook过程记录(安装在系统盘以外的盘)
The computer comes with software to make the background color of the picture transparent (matting white background)
ThreadLocal
随机推荐
使用知行之桥的API端口,提供资源供合作伙伴访问
Fuyuan medicine is listed on the Shanghai Stock Exchange: the market value is 10.5 billion, and Hu Baifan is worth more than 4billion
class和getClass()的区别
IDEA2021.1 安装教程
Soul, a social meta universe platform, rushed to Hong Kong stocks: Tencent is a shareholder with an annual revenue of 1.28 billion
How to transfer business data with BorgWarner through EDI?
酒仙网IPO被终止:曾拟募资10亿 红杉与东方富海是股东
一文看懂:数据指标体系的4大类型
深度之眼(三)——矩阵的行列式
Eth data set download and related problems
海思Hi3798MV100机顶盒芯片介绍[通俗易懂]
Does digicert SSL certificate support Chinese domain name application?
Briefly introduce the use of base64encoder
GeoServer:发布PostGIS数据源
绿竹生物冲刺港股:年期内亏损超5亿 泰格医药与北京亦庄是股东
Eye of depth (III) -- determinant of matrix
ssb门限_SSB调制「建议收藏」
si446使用记录(一):基本资料获取
剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
ThreadLocal