ceph初步

简介: ceph初步

   最近工作涉及到了ceph相关的内容,虽然只是一点点皮毛,但是还是有必要去了解下,以备不时之需,方便与他人交流和沟通。        在网上也找了一些介绍,很多都介绍的有点不清不楚,有头无尾,找了一个比较清晰的介绍来做一下记录,从中提取一些关键点。完整部分见阅读原文。

  • 介绍

       Ceph是一个统一的分布式存储系统,其设计初衷是提供较好的性能、可靠性和可扩展性。在经过多年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack都可与Ceph整合以支持虚拟机镜像的后端存储。

  • 优势
  1. 高性能
  1. 摒弃了传统的集中式存储元数据寻址的方案,采用CRUSH算法,数据分布均衡,并行度高
  2. 考虑了容灾域的隔离,能够实现各类负载的副本放置规则,例如跨机房、机架感知等
  3. 能够支持上千个存储节点的规模。支持TB到PB级的数据
  1. 高可用
  1. 副本数可以灵活控制
  2. 支持故障域分隔,数据强一致性
  3. 多种故障场景自动进行修复自愈没有单点故障,自动管理
  1. 高扩展性
  1. 去中心化
  2. 扩展灵活
  3. 随着节点增加,性能线性增长
  1. 特性丰富
  1. 支持三种存储接口:对象存储,块设备存储,文件存储
  2. 支持自定义接口,支持多种语言驱动


  • 基本结构

  • Ceph的底层是RADOS,RADOS本身也是分布式存储系统,Ceph所有的存储功能都是基于RADOS实现的。RADOS采用C++开发,所提供的原生Librados API包括C和C++两种。
  • Ceph的上层应用调用本机上的librados API,再由后者通过socket与RADOS集群中的其他节点通信并完成各种操作。
  • RADOS GateWay、RBD其作用是在librados库的基础上提供抽象层次更高、更便于应用或客户端使用的上层接口。
  • 其中RADOS GW是一个提供与Amazon S3和Swift兼容的RESTful API的gateway,以供相应的对象存储应用开发使用。
  • RBD则提供了一个标准的块设备接口,常用于在虚拟化的场景下为虚拟机创建volume。
  • 目前,RedHat已经将RBD驱动集成在KVM/QEMU中,以提供虚拟机访问性能。这两种方式目前在云计算中应用的比较多。
  • CephFS则提供了POSIX接口,用户可直接通过客户端挂载使用。它是内核态的程序,所有无需调用用户空间的librados库。它通过内核中的net模块来与RADOS进行交互。


  • 基本组件

如上图所示,Ceph主要有三个基本进程:

  • OSD
  • 用于集群中所有数据与对象的存储。处理集群数据的复制、恢复、回填、再均衡。并向其他osd守护进程发送心跳,然后向Mon提供一些监控信息。
  • 当Ceph存储集群设定的数据有两个副本时(一共存两份),则至少需要两个OSD守护进程,即两个OSD节点,集群才能到达active+clean状态。
  • MDS(可选)
  • 为Ceph文件系统提供元数据计算、缓存与同步。在Ceph中,元数据也是存储在osd节点中的,mds类似于元数据的代理缓存服务器。MDS进程并不是必须的进程,只有需要使用CephFS时,才需要配置MDS节点。
  • Monitor
  • 监控整个集群的状态,维护集群的cluster MAP二进制表,保证集群数据的一致性。ClusterMAP描述了对象块存储的物理位置,以及一个将设备聚合到物理位置的桶列表。


  • 基本概念
  • Object
  • Ceph最底层的存储单元,每个Object包含元数据和原始数据。
  • PG
  • 全称Placement Groups,是一个逻辑的概念,一个PG包含多个OSD。引入PG这一层其实是为了更好的分配数据和定位数据。
  • RADOS
  • 全称Reliable Autonomic Distributed Object Store,是Ceph集群的精华,用户实现数据分配、Failover等集群操作。
  • Librados
  • Librados是RADOS提供的库。因为RADOS很难直接访问,因此上层的RBD、RGW和CephFS都是通过Librados访问的。
  • CRUSH
  • 是Ceph使用的数据分布算法,让数据分配到预期的地方。
  • RBD
  • 全称RADOS block device,是Ceph对外提供的块设备服务。
  • RGW
  • 全称RADOS GateWay,是Ceph对外提供的对象存储服务,接口与S3、Swift兼容。
  • CephFS
  • 全称Ceph File System,是Ceph对外提供的文件系统服务。
相关文章
|
6月前
|
人工智能 安全 机器人
Linux OpenClaw(Clawdbot)集成钉钉保姆级教程 手把手教你打造自己专属的 AI 助手
在企业数字化办公场景中,AI工具的核心价值在于“无缝融入现有工作流”。OpenClaw(原Clawdbot、Moltbot)作为高权限开源AI智能体,不仅支持本地部署保障数据隐私,更能深度对接钉钉等国内主流办公平台,实现“聊天框下达指令、AI自动执行任务”的高效协作模式。本文基于Linux系统,从环境搭建、阿里云极速部署、钉钉机器人对接、功能验证到问题排查,提供全流程保姆级教程,文中所有代码命令均可直接复制执行,同时规避指定平台,让企业用户快速打造专属办公AI助手。
1460 2
|
11月前
|
人工智能 自然语言处理 机器人
数字化呼叫中心运营升级:效率提升与成本优化的实践方法
本文详细阐述了数字化呼叫中心运营升级的核心路径。首先,文章解析了传统呼叫中心面临的痛点,并提出了“以客户为中心”的数字化转型理念。接着,重点剖析了全渠道融合、智能客服应用、自动化质检与数据分析三大关键升级实践。通过具体的案例,文章展示了如何通过这些方法有效提升服务效率、优化客户体验,并显著降低运营成本。最后,为企业提供了具体的厂商选型与实施建议,旨在帮助企业平稳完成数字化转型。
607 22
|
存储 人工智能 前端开发
AI 网关零代码解决 AI 幻觉问题
本文主要介绍了 AI Agent 的背景,概念,探讨了 AI Agent 网关插件的使用方法,效果以及实现原理。
19901 141
|
人工智能 算法 测试技术
StockMixer:上海交大推出预测股票价格的 MLP 架构,通过捕捉指标、时间和股票间的复杂相关性,预测下一个交易日的收盘价
StockMixer 是上海交通大学推出的基于多层感知器的股票价格预测架构,通过指标、时间和股票混合实现高效预测。
1846 11
StockMixer:上海交大推出预测股票价格的 MLP 架构,通过捕捉指标、时间和股票间的复杂相关性,预测下一个交易日的收盘价
|
计算机视觉
YOLOv5改进 | 主干篇 | 低照度图像增强网络SCINet改进黑暗目标检测(全网独家首发)
YOLOv5改进 | 主干篇 | 低照度图像增强网络SCINet改进黑暗目标检测(全网独家首发)
717 3
|
Python
将NC栅格表示时间维度的数据提取出来的方法
【10月更文挑战第20天】本文介绍了如何使用 Python 和 R 语言以及 ArcGIS 软件提取 netCDF 文件中的时间维度数据。首先,通过安装和导入必要的库(如 Python 的 `netCDF4` 和 `numpy`,R 的 `ncdf4`),打开 netCDF 文件并读取时间变量。接着,详细展示了 Python 和 R 的示例代码,说明了如何读取和处理时间数据。最后,介绍了在 ArcGIS 中添加 netCDF 文件、启用时间属性并提取时间维度数据的方法。
901 1
|
安全 测试技术 Linux
CentOS7 安装vulhub漏洞测试环境
CentOS7 安装vulhub漏洞测试环境
1082 0
|
Linux Windows
【Azure 应用服务】访问App Service突然出现 ERR_SSL_PROTOCOL_ERROR错误的解答
【Azure 应用服务】访问App Service突然出现 ERR_SSL_PROTOCOL_ERROR错误的解答
527 1

热门文章

最新文章