Ceph PG(归置组)的状态说明

Ceph PG(Placement Group)的状态反映了Ceph集群中数据的健康状况和分布情况。以下是Ceph PG的一些常见状态:

  1. Creating:创建状态。在创建存储池时,会创建指定数量的归置组(PG)。Ceph在创建一或多个归置组时会显示Creating;创建完后,在其归置组的Acting Set里的OSD(Object Storage Daemon,对象存储守护进程)将建立互联;一旦互联完成,归置组状态应该变为active+clean,此时ceph客户端可以向归置组写入数据。
  2. Peering:对等状态。正在同步状态,同一个PG中的OSD需要将准备数据同步一致,而Peering就是对等同步过程中的状态。当ceph peering pg时,ceph将会把pg副本协定导入osd。当ceph完成peering,意味着osd同意当前PG状态,并允许写入。
  3. Active:活跃状态。当ceph完成peering过程,pg将会变成active。处于active状态的PG意味着PG中的数据变得可用,主PG将可执行读写操作。
  4. Clean:干净状态。PG当前不存在待修复的对象,Acting Set和Up Set内容一致,并且大小等于存储池的副本数。
  5. Degraded:降级状态。降级状态出现于OSD被标记为down以后,那么其他映射到此OSD的PG都会转换到降级状态。如果此OSD还能重新启动完成并完成Peering操作后,那么使用此OSD的PG将重新恢复为clean状态。如果此OSD被标记为down的时间超过5分钟还没有修复,那么此OSD将会被ceph踢出集群,然后ceph会对被降级的PG启动恢复操作,直到所有由于此OSD而被降级的PG重新恢复为clean状态。
  6. Stale:陈旧状态。正常状态下,每个主OSD都要周期性的向RADOS集群中的监视器(Mon)报告其作为主OSD所持有的所有PG的最新统计数据。因任何原因导致某个OSD无法正常向监视器发送汇报信息的、或者由其他OSD报告某个OSD已经down的时候,则所有以此OSD为主PG则会立即被标记为stale状态,即它们的主OSD已经不是最新的数据了。
  7. Undersized:尺寸不足状态。PG当前副本数小于其存储池定义的值(默认为3副本)的时候,PG会转换为undersized状态。
  8. Scrubbing:清洗状态。scrub是ceph对数据的清洗状态,用来保证数据完整性的机制。Ceph的OSD定期启动scrub线程来扫描部分对象,通过与其他副本比对来发现是否一致,如果存在不一致,抛出异常提示用户手动解决。scrub以PG为单位,对于每一个pg,ceph分析该pg下所有的object,产生一个类似于元数据信息摘要的数据结构(如对象大小、属性等),叫scrubmap。比较主与副scrubmap,来保证是不是有object丢失或者不匹配。扫描分为轻量级扫描和深度扫描,轻量级扫描也叫做light scrubs或者shallow scrubs或者simply scrubs,即轻量级扫描;深度扫描过程中,PG会处于scrubbing+deep状态。
  9. Recovering:正在恢复状态。集群正在执行迁移或同步对象和他们的副本,这可能是由于添加了一个新的OSD到集群中或者某个OSD宕掉后,PG可能会被CRUSH算法重新分配不同的OSD,而由于OSD更换导致PG发生内部数据同步的过程中的PG会被标记为Recovering。
  10. Backfilling:正在后台填充状态。Backfill是recovery的一种特殊场景,指peering完成后,如果基于当前权威日志无法对Up Set(上行集)当中的某些PG实例实施增量同步(例如承载这些PG实例的OSD离线太久,或者是新的OSD加入集群导致的PG实例整体迁移),则通过完全拷贝当前Primary所有对象的方式进行全量同步,此过程中的PG会处于backfilling。
  11. Remapped:重新映射状态。当PG的Acting Set变化后,数据将会从旧Acting Set迁移到新Acting Set,新主OSD需要过一段时间后才能提供服务,因此它会让老的主OSD继续提供服务,直到PG迁移完成。数据迁移完成后,PG map将会使用新Acting Set中的主OSD。
  12. Inconsistent:不一致状态。PG副本出现不一致,对象大小不正确或者恢复结束后某个副本出现对象丢失现象。
  13. Down:失效状态。PG处于离线状态。
  14. Repair:正在修复状态。PG正在被检查,被发现的任何不一致都将尽可能的被修复。

此外,还有一些其他状态,如“Replay”(某OSD崩溃后,PG正在等待客户端重新发起操作)等。这些状态共同构成了Ceph集群中PG的完整状态集,反映了集群的健康状况和数据的分布情况。管理员可以通过监控这些状态来及时发现并解决问题,确保Ceph集群的稳定性和可靠性

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/60710.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

游戏引擎学习第九天

视频参考:https://www.bilibili.com/video/BV1ouUPYAErK/ 修改之前的方波数据,改播放正弦波 下面主要讲关于浮点数 1. char(字符类型) 大小:1 字节(8 位)表示方式:char 存储的是一个字符的 A…

# Python IDE的介绍和选择 --- 《跟着小王学Python》

Python IDE的介绍和选择 — 《跟着小王学Python》 《跟着小王学Python》 是一套精心设计的Python学习教程,适合各个层次的学习者。本教程从基础语法入手,逐步深入到高级应用,以实例驱动的方式,帮助学习者逐步掌握Python的核心概念…

柯桥生活英语口语学习“面坨了”英语怎么表达?

“面坨了”英语怎么表达? 要想搞清楚这个表达,首先,我们要搞明白“坨”是啥意思? 所谓“坨”就是指,面条在汤里泡太久,从而变涨,黏糊凝固在一起的状态。 有一个词汇,很适合用来表达这…

ZeroSSL HTTPS SSL证书ACMESSL申请3个月证书

目录 一、引言 二、准备工作 三、申请 SSL 证书 四、证书选型 五、ssl重要性 一、引言 目前免费 Lets Encrypt、ZeroSSL、BuyPass、Google Public CA SSL 证书,一般免费3-6个月。从申请难易程度分析,zerossl申请相对快速和简单,亲测速度非…

Java连接MySQL(测试build path功能)

Java连接MySQL(测试build path功能) 实验说明下载MySQL的驱动jar包连接测试的Java代码 实验说明 要测试该情况,需要先安装好MySQL的环境,其实也可以通过测试最后提示的输出来判断build path是否成功,因为如果不成功会直…

第四节-OSI-网络层

数据链路层:二层--MAC地址精确定位 Ethernet 2: 报头长度:18B 携带的参数:D MAC /S MAC/TYPE(标识上层协议)/FCS 802.3 报头长度:26B 携带的参数:D MAC/S MAC/LLC(标识上层协议)/SNAP(标识…

labview实现功能性全局变量

在日常的项目中,笔者最长使用的就是全局变量,这样用起来不仅省心省力,而且传值也很方便,没有什么阻碍,想要传什么数据一根线拉过去就可以了。后面才知道如果一直使用全局变量会导致读写卡死的状态,而且还有…

网络安全之SQLMAP _DNS注入配置方法

网上针对sqlmap进行dns注入的相关文章太少,只是简单介绍了下–dns-domain参数,相关的实战文章要么就模糊或者一笔带过,。然后参考网上的方法重新整理了一遍,简单理解。 需要准备的东西,sqlmap、windows盲注一个、两个…

pycharm快速更换虚拟环境

目录 1. 选择Conda 虚拟环境2. 创建环境3. 直接选择现有虚拟环境 1. 选择Conda 虚拟环境 2. 创建环境 3. 直接选择现有虚拟环境

联想“喜新厌旧”

科技新知 原创作者丨萧维 编辑丨蕨影 十月份,联想很忙。 先是2024联想科技创新大会15日在美国华盛顿州西雅图举行,联想大秀了一下自己在人工智能领域的创新产品、技术和解决方案,英特尔、AMD、英伟达三巨头更同时为其站台;后是与…

[白月黑羽]关于仿写类postman功能软件题目的解答

原题: 答: python文件如下 from PySide6.QtWidgets import QApplication, QMessageBox,QTableWidgetItem,QHeaderView,QWidget,QTableWidget from PySide6.QtCore import QEvent,QObject from PySide6.QtUiTools import QUiLoader import time import …

零基础Java第十八期:图书管理系统

目录 一、package book 1.1. Book 1.2. BookList 二、package user 2.1. User 2.2. NormalUser与AdminiUser 三、Main 四、NormalUser与AdminiUser的菜单界面 五、package operation 5.1. 设计管理员菜单 六、业务逻辑 七、完整代码 今天博主来带大家实现一个…

系统架构师考试极限18天备考复盘(2024年11月)

前言 写下这篇复盘笔记的时候还没有出成绩。目前泽崽还是在读研究生,在经过 大概2周多个全日 的极限备考之后,于11月10日参加了软考的系统架构师考试(高级)。目前对于“基础知识-案例分析-论文”的估分预期大概是:55-…

Unity肢体控制(关节控制)

前面的基础搭建网上自己搜,我这个任务模型网上也有,可以去官网看看更多模型,这里只讲述有模型如何驱动肢体的操作方式 第一步:创建脚本 第二步:创建Rig Builder 建空容器 加部件(Rig),加了之后…

二叉树遍历的非递归实现和复杂度分析

一,用栈实现二叉树先序遍历 1,原理 我用自己的口水话解释一下:准备一个栈,从根节点开始,先判断栈是否为空,如果否,就弹出一个元素,对弹出元素进行自定义处理,再将它的左…

redis序列化数据查询

可以看到是HashMap,那么是序列化的数据 那么我们来获得反序列化数据 import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.ObjectInputStream; import redis.clients.jedis.Jedis;public class RedisDeserializeDemo {public static…

球差控制操作数【ZEMAX操作数】

在光学设计中,对于球差的控制是必要的,那么在zemax中如何控制球差的大小,理解球差,以及使用相应操作数控制球差; 在这篇中主要写如何使用zemax操作数去控制或者消除球差,对球差进行简单的描述,之…

学习threejs,使用TWEEN插件实现动画

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.PLYLoader PLY模型加…

前端 JS 实用操作总结

目录 1、重构解构 1、数组解构 2、对象解构 3、...展开 2、箭头函数 1、简写 2、this指向 3、没有arguments 4、普通函数this的指向 3、数组实用方法 1、map和filter 2、find 3、reduce 1、重构解构 1、数组解构 const arr ["唐僧", "孙悟空&quo…

从0开始学习--Day26--聚类算法

无监督学习(Unsupervised learning and introduction) 监督学习问题的样本 无监督学习样本 如图,可以看到两者的区别在于无监督学习的样本是没有标签的,换言之就是无监督学习不会赋予主观上的判断,需要算法自己去探寻区别,第二张…