Ceph实战(一):Ceph实战专栏说明以及Ceph介绍

简介: Ceph实战(一):Ceph实战专栏说明以及Ceph介绍

专栏说明

本专栏从实战的角度出发,首先会介绍Ceph集群的部署以及Api接口的使用,并且会将常见的部署问题整理成册,极大的减少读者部署Ceph集群时的学习成本。接着会介绍Ceph集群的核心知识点,包括核心组件的介绍,组件之间的通信原理。最后,会提供一个一键部署集群的脚本。部署Ceph集群,订阅本专栏,没错的。!!!!同时,订阅本专栏我会1V1的帮您解决部署和使用ceph时碰到的问题。

Ceph是什么&能做什么

Ceph是一个分布式文件存储系统,其统一了三种存储方式:块设备存储,CephFS  文件系统,对象存储。其分布式体现在其可以动态的扩展,其性能优秀,可扩展性好。说完了Ceph的概念,接下来我们来说说Ceph能做什么?我们可以把文件想象成粮食,那么Ceph就是一个粮仓,这个粮仓可以通过三种不同的方式来存储粮食。这个粮仓可以容纳很多很多的仓库,存放很多很多的粮食。

Ceph有哪些特点

Ceph的特点很多,主要有如下几个方面的特点:

  1. 其摒弃传统的集中式存储元数据寻址的方式,采用CRUSH算法,数据分布均衡,没有单点故障。举个栗子:就像上面的粮仓和粮食的说明,现在张三来存100斤粮食,管理员将其存放在A仓库的B区,然后在小本本记下这个地址,这里的小本本就是元数据。当张三来取粮食的时候,管理员拿出小本本查看粮食的存放位置,然后找到粮食。是不是挺好。但是大家想想,如果这个小本本丢了,会怎么样?   是不是张三的粮食就找不到了。这样就存在一个重大的隐患。这个隐患的学名叫做单点故障,单点故障的意思是,某一个节点出现故障将会导致集群整个不可用。当然,我们也可以通过用多个小本本同时记录,规避一台元数据服务宕机导致的单点故障。但是,这种方式无疑增加了元数据的维护成本。而Ceph则完全摒弃了元数据寻址的方式,直接通过CRUSH算法的方式来计算文件的位置,是数据可以均衡分布同时也避免了单点故障的问题。
  2. 考虑了容灾域的隔离,能够实现各类负载副本放置规则。同样的还是以粮仓为例子。当一个仓库着火了,我们可以通过隔断门将其与其他正常的仓库隔离。避免影响到其他正常的仓库。
  3. 能够支持上千个存储节点的规模,支持TB和PB级别的数据。这句话的意思就更好理解了,一句话,就是Ceph的能存储的数据特别多,规模也很大。
  4. 扩展灵活,就是说支持动态的增加存储节点。换言之就是可以客户端无感知的情况下增加存储节点。不影响现有的业务。
  5. 副本数可以灵活控制,默认情况下Ceph的副本数是3个,我们可以在配置文件中更改副本的数量。

Ceph有何不同点

前面简单的介绍了Ceph的概念和特点,下面我们接着来看看Ceph与其他的分布式文件存储系统的区别,这里比较的fastDFS。

上图展示了Ceph与FastDFS的一些区别,概括来说主要是如下几个方面的区别:

1. 数据存储方式不同:FastDFS只能以文件的方式存储到文件服务器中。而Ceph可以通过块设备,文件系统或者对象存储三种方式来存储文件,存储的类型大有不同。

2. 存储逻辑不同:FastDFS是按照组来存储文件,同一个组内所有的storage server可以相互通信,同一个组内各个storage  server地位相等,存储的文件相同,不同组的storage  server不能相互通信。Ceph则没有组的概念,同一个集群内所有的OSDs均可以相互通信,源OSDs与副本OSD的数据完全一样。

3. 文件名(FID)生成方式不同,当我们上传一个文件到FastDFS上时,FastDFS会生成FID,生成的规则是:

由源头storage server ip、创建时的时间戳、大小、文件的校验码和一个随机数进行hash计算后生成;

最后基于base64进行文本编码,转换为可打印字符;

groupID/MID/H1ID/H2ID/file_name

groupID:组编号

MID:存储路径(存储设备)编号

H1ID/H2ID:目录分层

file_name:文件名,不同于用户上传时使用文件名,而是由服务器生成hash文件名;

服务器IP、文件创建时的时间戳、文件大小、文件名和扩展名;

而Ceph不会帮我们生成唯一的文件名。

总结

本文首先介绍了Ceph的基本概念以及特点,最后将FastDFS和Ceph做了一个比较。希望读者朋友们通过本文可以对Ceph做一个基本的了解。

相关文章
|
存储 算法 关系型数据库
【CEPH-初识篇】ceph详细介绍、搭建集群及使用,带你认识新大陆
你好,我是无名小歌。 今天给大家分享一个分布式存储系统ceph。 什么是ceph? Ceph在一个统一的系统中独特地提供对象、块和文件存储。Ceph 高度可靠、易于管理且免费。Ceph 的强大功能可以改变您公司的 IT 基础架构和管理大量数据的能力。Ceph 提供了非凡的可扩展性——数以千计的客户端访问 PB 到 EB 的数据。ceph存储集群相互通信以动态复制和重新分配数据。
1168 0
【CEPH-初识篇】ceph详细介绍、搭建集群及使用,带你认识新大陆
|
2月前
|
存储 关系型数据库 网络安全
CEPH搭建
CEPH搭建
130 0
|
存储 固态存储 数据管理
Ceph 简介
Ceph 简介
326 0
|
存储 Prometheus Kubernetes
实战篇:使用rook在k8s上搭建ceph集群
实战篇:使用rook在k8s上搭建ceph集群
703 0
|
存储 算法 对象存储

热门文章

最新文章

  • 1
    流量控制系统,用正则表达式提取汉字
    27
  • 2
    Redis09-----List类型,有序,元素可以重复,插入和删除快,查询速度一般,一般保存一些有顺序的数据,如朋友圈点赞列表,评论列表等,LPUSH user 1 2 3可以一个一个推
    27
  • 3
    Redis08命令-Hash类型,也叫散列,其中value是一个无序字典,类似于java的HashMap结构,Hash结构可以将对象中的每个字段独立存储,可以针对每字段做CRUD
    27
  • 4
    Redis07命令-String类型字符串,不管是哪种格式,底层都是字节数组形式存储的,最大空间不超过512m,SET添加,MSET批量添加,INCRBY age 2可以,MSET,INCRSETEX
    28
  • 5
    S外部函数可以访问函数内部的变量的闭包-闭包最简单的用不了,闭包是内层函数+外层函数的变量,简称为函数套函数,外部函数可以访问函数内部的变量,存在函数套函数
    25
  • 6
    Redis06-Redis常用的命令,模糊的搜索查询往往会对服务器产生很大的压力,MSET k1 v1 k2 v2 k3 v3 添加,DEL是删除的意思,EXISTS age 可以用来查询是否有存在1
    31
  • 7
    Redis05数据结构介绍,数据结构介绍,官方网站中看到
    22
  • 8
    JS字符串数据类型转换,字符串如何转成变量,+号只要有一个是字符串,就会把另外一个转成字符串,- * / 都会把数据转成数字类型,数字型控制台是蓝色,字符型控制台是黑色,
    20
  • 9
    JS数组操作---删除,arr.pop()方法从数组中删除最后一个元素,并返回该元素的值,arr.shift() 删除第一个值,arr.splice()方法,删除指定元素,arr.splice,从第一
    21
  • 10
    定义好变量,${age}模版字符串,对象可以放null,检验数据类型console.log(typeof str)
    20