当前位置: 首页 > news >正文

Pool与PG的说明以及Ceph的IO流程

Pool与PG的说明以及Ceph的IO流程

Pool与PG

Ceph中的数据是以对象的形式存储在存储池(pool)中的。每个存储池都被划分为若干个存储组(PG),每个存储组同时也是一个数据分片(shard)。存储组是Ceph用来实现数据的分布式存储和高可用的重要组成部分。每个存储组包含若干个对象,以及相关的元数据信息,如对象的大小、创建时间、修改时间等。

Ceph会将存储池中的对象均匀地分配到不同的存储组中,以实现数据的负载均衡和高可用。每个存储组都有自己的PG编号,用于标识该存储组在整个Ceph集群中的位置。PG编号的计算方法是通过将存储池的名称、PG数量、对象哈希值等信息进行哈希,得到一个唯一的编号。

存储池和存储组的概念是Ceph架构的核心。存储池是一个逻辑概念,用来管理和存储对象。存储池的创建和删除是由管理员完成的。而存储组是Ceph用来实现数据的分布式存储和高可用的实现方式,它是一个物理概念,由Ceph自动创建和管理。存储组的数量和大小都是可以配置的,可以根据实际需求进行调整。

Ceph的IO流程

当应用程序需要读取或写入Ceph存储池中的对象时,其流程如下:

  1. 应用程序向Ceph客户端发起读取或写入请求。
  2. Ceph客户端将请求发送到Ceph Monitor节点,请求Monitor节点返回包含所需数据的PG列表。
  3. Monitor节点根据PG列表,将请求发送到对应的OSD节点。
  4. OSD节点根据请求操作类型,读取或写入相应的对象,并将操作结果返回给Monitor节点。
  5. Monitor节点将操作结果返回给Ceph客户端,完成一次IO操作。

值得注意的是,Ceph的IO操作是异步的,即应用程序发送IO请求后,并不会立即得到响应结果,而是需要等待一定时间。这是因为Ceph在执行IO操作时,会首先将IO请求发送到Objecter队列中,然后通过异步回调的方式处理IO请求。在IO请求处理完成后,Ceph会通过回调函数将结果返回给应用程序。

Ceph的IO操作具有高效性和可扩展性。Ceph可以动态地增加或减少OSD节点,以实现存储容量和性能的横向扩展。同时,Ceph还支持多种存储介质,如硬盘、闪存、NVMe等,以满足不同的性能和容量需求。Ceph的IO操作还支持多种协议,如RADOS Block Device(RBD)、RADOS Gateway(RGW)、CephFS等,以满足不同的应用场景。

http://www.lryc.cn/news/89648.html

相关文章:

  • 20230529_Hadoop_集群操作命令
  • 边缘计算AI硬件智能分析网关V1版的接入流程与使用步骤
  • 【redis】Stream、String 超详细介绍
  • 算法基础学习笔记——⑫最小生成树\二分图\质数\约数
  • 了解信号的传输方式、编码与调制、信道的极限容量
  • SpringBoot自动配置原理总结
  • 【LeetCode: 410. 分割数组的最大值 | 暴力递归=>记忆化搜索=>动态规划 】
  • 内核对象和两种同步
  • 水表远程监控系统有什么功能吗?
  • zabbix自定义监控
  • 【AUTOSAR】Com通讯栈配置说明(四)---- Nm模块
  • IMG CXM GPU:面向复杂消费级设备的无缝视觉体验
  • Kafka如何保证数据高可靠
  • OpenWRT 中修改SSID的文件
  • 如何在 Linux 中进行网络地址转换 (NAT)?
  • redis的使用第一章
  • 基于springboot+vue的校园二手交易市场
  • 【CH32】| 01——新建工程 | 下载 | 运行 |调试
  • 【Netty】Promise 源码分析(十七)
  • 测牛学堂:2023最新自动化软件测试教程之python基础(字符串常用api总结)
  • 【信号变化检测】使用新颖的短时间条件局部峰值速率特征进行信号变化/事件/异常检测(Matlab代码实现)
  • MQTT GUI 客户端 可视化管理工具
  • 计算机硬件系统 — 冯诺依曼体系结构运行原理解析
  • 10.Linux查看文件内容
  • API接口测试—详情版(拼多多根据ID取商品详情)
  • 【论文阅读】23_SIGIR_Disentangled Contrastive Collaborative Filtering(分离对比协同过滤)
  • 目前的网络情况与特点
  • css选择器及其权重
  • RK3588平台开发系列讲解(项目篇)RKNN-Toolkit2 的使用
  • C/C++基础讲解(九十九)之经典篇(第几天/排序)