云原生--ceph一

必须掌握的ceph知识点

1.ceph 分布式存储系统简介、版本及组件功能简介
2.ceph 数据访问流程及crush简介
3.ceph 环境初始化,部署mon节点及mgr节点
4.ceph 存储集群添加node节点
7.ceph 集群管理与维护
重启 添加OSD 删除OSD
ceph-deploy --overwrite-conf config push ceph-node2
8.ceph存储池介绍及管理、pg与pgp常见状态

分布式相关概念

分布式存储数据特性

数据的概念:

数据分为数据(data)和元数据(meta),元数据存放的是文件的相关属性信息(如:文件名、文件权限等)和文件状态等;数据存放的是文件的内容。
在分布式存储中,当客户端或者应用程序产生的数据被写入到分布式存储系统时,会有一个服务(name node)提供文件元数据的路由功能,及告诉应用程序去哪个服务器去请求文件内容,然后再有(data node)提供数据的读写请求及数据的高可用功能。
#######################################
数据分为:数据(data)和元数据(meta)
data:存放的是文件内容
meta:存放的是文件状态

在这里插入图片描述

分布式存储数据的过程

1. 客户端或者应用程序发送获取文件元数据的路由请求到name node服务(路由的作用:告诉客户端或者应用服务器到指定服务器请求获取文件的内容)
2、name node服务会把文件数据库的路由发送给客户端或者应用服务器端
2. 客户端或者应用服务器接收到name  node的路由,根据接收到的路由信息到指定的服务器上获取文件内容

存储的特性

  • 块存储:需要格式化,将文件直接保存在磁盘上
  • 文件存储:提供数据存储的接口,是由操作系统针对块存储的应用, 即由操作系统提供存储接口,应用程序通过调用操作系统将文件保存到块存储进行持久化
  • 对象存储:也称为基于对象的存储,其中的文件被拆分成多个部分并散布在多个存储服务器上,在对象存储中,数据会被分解称为“对象”的离散单元,并保存在单个存储库中,而不是作为文件夹中的文件或服务器上的块来保存,对象存储需要一个简单的http应用编程接口(API),以供大多数客户端使用

Ceph基础

概念:

  • ceph是一个开源的分布式存储系统,同时支持对对象存储、块设备、文件系统

  • ceph是一个对象(object)式存储系统,把每一个代管理的数据流切分为一个或者多个固定大小(默认为4M)的对象数据,并以其为原子单元完成数据的读写。

  • 对象数据的底层存储服务是由多个存储主机组成的存储集群,该集群也被称之为RADOS存储集群,即可靠的、自动化的、分布式的对象存储系统

  • librados是RADOS存储集群的API访问接口

ceph集群的组成部分

在这里插入图片描述

  1. 若干的ceph OSD (对象存储守护程序)
  2. 至少需要一个Ceph monitors监视器
  3. 两个或以上的ceph管理器manager,运行ceph文件系统客户端时还需要高可用的ceph metadata server(文件系统元数据服务器)
  4. RADOS cluster:由多台host存储服务器组成的ceph集群
  5. OSD:每台存储服务器的磁盘组成的存储空间
  6. Mon:ceph的监视器,维护OSD和PG的集群状态,一个ceph集群至少要有一个Mon,可以是1,3,5,。。。。(奇数个)
  7. Mgr:负责跟踪运行时指标和ceph集群的当前状态,包括存储的利用率,当前性能指标和系统负载等

Monitor(ceph-mon)ceph监视器

在一个主机上运行的一个守护进程,用于维护集群状态映射(比如 ceph 集群中有多少存储池、每个存储池有多少 PG 以及存储池和 PG的映射关系等, monitor map, manager map, the OSD map, the MDS map, and theCRUSH map,这些映射是 Ceph 守护程序相互协调所需的关键群集状态)此外监视器还负责管理守护程序和客户端之间的身份验证(认证使用cephx协议)。通常至少需要三个监视器才能实现冗余和高可用性。

Managers(ceph-mgr)

在一个主机上运行的一个守护进程,ceph manager守护程序(ceph-mgr)负责跟踪运行时指标和ceph集群的当前状态,包括存储利用率、当前性能指标和系统负载。ceph manager守护程序还拖管基于python的模块来管理和公开ceph集群信息,包括基于web的ceph仪表板和rest API。高可用性通常至少需要两个管理器

ceph OSDS (对象存储守护程序ceph-osd):

提供存储数据,操作系统上的一个磁盘就是一个OSD守护程序,OSD用于处理ceph集群数据复制、恢复、重新平衡,并通过检查其他ceph  OSD 守护程序的心跳来向ceph监视器和管理器提供一些监视信息。通常至少需要三个ceph  OSD才能实现冗余和高可用性。

MDS(ceph元数据服务器ceph-mds):

代表ceph文件系统(NFS/CIFS)存储元数据,(即ceph块设备和ceph对象存储不使用MDS)

ceph的管理节点

1.ceph 的常用管理接口是一组命令行工具程序,例如 rados、ceph、rbd 等命令,ceph 管
理员可以从某个特定的 ceph-mon 节点执行管理操作
2.推荐使用部署专用的管理节点对 ceph 进行配置管理、升级与后期维护,方便后期权限管
理,管理节点的权限只对管理人员开放,可以避免一些不必要的误操作的发生。

ceph逻辑组织架构

在这里插入图片描述

  • pool:存储池、分区,存储池的大小取决于底层的存储空间

  • PG:一个pool内部可以有多个PG存在,pool和PG都是抽象的逻辑概念,一个pool中有多少个PG可以通过公式计算。

  • OSD(对象存储设备):每一块磁盘都是一个OSD,一个主机由一个或多个OSD组成

ceph集群部署好之后,要先创建存储池才能向ceph写入数据,文件在向ceph保存之前要先进项一致性的hash计算,计算后会把文件保存在某个对应的PG的,此文件一定属于某个pool的一个PG,在通过PG保存在OSD上。数据对象在写到主OSD之后再同步对从OSD以实现数据的高可用
存储文件的过程
  1. 计算文件到对象的映射
  2. 通过hash算法计算出文件对应的pool中的PG
  3. 通过crush把对象映射到PG中的OSD
  4. PG中的主OSD将对象写入磁盘
  5. 主OSD将数据同步给备份OSD,并等待备份OSD返回确认
  6. 计算文件到对象的映射
  7. 通过hash算法计算出文件对应的pool中的PG
  8. 通过crush把对象映射到PG中的OSD
  9. PG中的主OSD将对象写入磁盘
  10. 主OSD将数据同步给备份OSD,并等待备份OSD返回确认
  11. 主OSD将写入完成返回给客户端
    小菜鸟刚学ceph分布式存储相关的知识,写的有什么不对的地方请指出,紧跟老大的步伐学习了云原生已经有快一个月了,有的知识点听过一次,现在第二遍听感觉和理解完全不一样,有的知识你听一遍可能不知道说的啥,但是听第二遍、第三遍你的感觉完全不一样的,道路满满,还需加倍努力,加油干,涨薪摆脱月光族!欧耶
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值