本文分享自天翼云开发者社区《Ceph PG状态介绍》,作者:wwwdl

一、基本概念

size:副本数(如三副本,size=3);

min_size:支持可读写的最小副本数(如三副本,min_size=2);

upset:pg的目标osd列表;

actset:pg可接受读写osd列表。

如下为osd异常,重新选择osd,pg的osd列表变化过程:

二、pg各个状态

(1)creating:创建pool时,自动创建pg,此时会出现该状态;

(2)active:pg活跃态,表示pg可以接受读写业务,当pg状态不是active时,集群将业务异常,会导致上层业务大面积瘫痪;

(3)clean:pg处于健康态,三个副本的数据是一致的;

(4)recovering:pg增量恢复,根据日志条目,复原数据;

(5)backfilling:pg全量恢复,根据全量扫描对象,比较差异,还原差异数据;

(6)recovery-wait / backfill-wait:pg需要增量/全量恢复,当前等待状态,由于每个OSD并发恢复pg个数的限制(默认值为1);

(7)recovery-toofull / backfill-toofull:OSD出现容量使用超过门限值95%,无法数据迁移;

(8)scrubbing:扫描pg副本的元数据,副本之间进行比较,保证元数据一致,默认开启,一般一周扫描一次;

(9)deep+scrubbing:扫描pg副本的元数据与数据,副本之间进行对比,保证元数据和数据一致,默认关闭,由于扫描数据相当耗时,影响业务;

(10)inconsistent:扫描数据之后出现数据不一致,默认没有开启自动修复;

(11)repair:数据不一致时,修复数据的状态,默认关闭,需要手动出发修复,修复的原理:将正常的OSD的数据推送给异常的OSD。

(12)peering:协商副本之间数据一致性;

(13)degraded:降级态,peering完成后,检查到PG有对象需要修复;

(14)remapped:upset 不等于 actset;

(15)undersized:actset 小于副本数(size);

(16)activating:peering完成之后,同步固化peering的结果(info、log);

(17)peered:peering已经完成,当出现actset < min_size;

(18)down:peering过程中检查到,当前在线的osd无法完成数据修复;

(19)imcomplete:peering过程中,无法选取权威日志。

(20)stale:未刷新态,mon将osd标记为down,可能由于网络原因,osd没有感知mon把自己标记为down,osd主动上报pg的列表还包含自己,被mon发现,将被标记为stale;

(21)snaptrim:删除快照;

(22)snaptrim-wait:由于每个osd并发的限制,已经有pg在做删除快照,那么其他的pg必须等待;

(23)snap-error:删除快照时,遇到异常情况, 如果出现snap-error,问题很严重,意味着丢失数据了。

Ceph PG状态介绍的更多相关文章

  1. Ceph PG介绍及故障状态和修复

    1 PG介绍pg的全称是placement group,中文译为放置组,是用于放置object的一个载体,pg的创建是在创建ceph存储池的时候指定的,同时跟指定的副本数也有关系,比如是3副本的则会有 ...

  2. ceph PG数量调整/PG的状态说明

    优化: PG Number PG和PGP数量一定要根据OSD的数量进行调整,计算公式如下,但是最后算出的结果一定要接近或者等于一个2的指数.调整PGP不会引起PG内的对象的分裂,但是会引起PG的分布的 ...

  3. 分布式存储Ceph之PG状态详解

    https://www.jianshu.com/p/36c2d5682d87 1. PG介绍 继上次分享的<Ceph介绍及原理架构分享>,这次主要来分享Ceph中的PG各种状态详解,PG是 ...

  4. ceph打印出每秒的IO和pg状态

    前言 在ceph 的jewel版本以及之前的版本,通过ceph -w命令是可以拿到每秒钟ceph集群的io状态的,现在的版本是ceph -s一秒秒手动去刷,ceph -w也不监控io的状态了,有的时候 ...

  5. ceph PG 故障状态

    PG 故障状态 Creating(创建中)在创建POOL时,需要指定PG的数量,此时PG的状态便处于creating,意思是Ceph正在创建PG Peering(互联中)peering的作用主要是在P ...

  6. Ceph分布式存储-原理介绍及简单部署

    1)Ceph简单概述Ceph是一个分布式存储系统,诞生于2004年,最早致力于开发下一代高性能分布式文件系统的项目.Ceph源码下载:http://ceph.com/download/.随着云计算的发 ...

  7. Ceph基本情况介绍

    Ceph基本情况的介绍 Ceph是一个分布式存储软件. 它支持用3种方式存储数据,分别是:对象存储.块设备存储.分布式文件系统存储. Ceph最初的目标是做一个分布式文件系统,直到现在这个目标也不能算 ...

  8. Ceph的状态错误

    使用命令检查ceph集群的监控状态,得到 [root@node1 ~]# ceph -s cluster c4898b1c-7ac1-406d-bb5d-d3c7980de438 health HEA ...

  9. CEPH OBJECTSTORE API介绍

    Thomas是本人在Ceph中国社区翻译小组所用的笔名,该文首次公布在Ceph中国社区.现转载到本人博客,以供大家传阅 CEPH OBJECTSTORE API介绍 本文由 Ceph中国社区-Thom ...

  10. 记一次ceph pg unfound处理过程

    今天检查ceph集群,发现有pg丢失,于是就有了本文~~~ 1.查看集群状态 [root@k8snode001 ~]# ceph health detail HEALTH_ERR 1/973013 o ...

随机推荐

  1. Transformers包使用记录

    Transformers是著名的深度学习预训练模型集成库,包含NLP模型最多,CV等其他领域也有,支持预训练模型的快速使用和魔改,并且模型可以快速在不同的深度学习框架间(Pytorch/Tensorf ...

  2. 设计模式(17)-Chain of Responsibility Pattern

    行为模式(Behavioral Pattern)是对在不同的对象之间划分责任和算法的抽象化.行为模式不仅仅是关于类和对象的,而且是关于它们之间的相互作用的. 行为模式分为类的行为模式和对象的行为模式两 ...

  3. golang之常用开发工具

    汇总平常开发中较为常用的工具 [sql2struct] 将MySQL快速生成struct github:  https://github.com/idoubi/sql2struct

  4. Python 学习记录(1)

    前言 简单说明: 简单情况:主要记录学习Python的简单情况,包括代码与结果,以及关键注释 工具与来源: 以下代码与结果都可在JupyterLab上实现,更多情况可看Github 使用 NumPy ...

  5. PM2部署DotNet应用程序

    pm2简介 PM2是一个Node.js的进程管理工具,可以帮助开发者简化Node.js应用的部署和运维.它提供了进程守护.负载均衡.日志管理等功能,可以监控应用程序的运行状态,并在发生意外情况时自动重 ...

  6. Fiddler模拟网络超时

    前情 最近在优化接口请求错误的报错提示,希望尽可能的能从提示语知道当前错误大致原因,于是我需要模拟各种错误请求的状况. 问题 网络超时是很常见的接口请求错误情况,在没有服务端配合的情况下,我需要怎样来 ...

  7. cajviewer逆向分析与漏洞挖掘

    文章首发于 https://mp.weixin.qq.com/s/7STPL-2nCUKC3LHozN6-zg 前言 CAJViewer是一个论文查看工具,主要用于查看caj文件格式的论文.本文介绍对 ...

  8. #oscp#渗透测试 kioptix level 3靶机getshell及提权教程

    声明! 文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!! 一.靶机搭建 点击扫描虚拟机 选择靶机使在文件夹即可 二.信息收集 前言 信 ...

  9. 中电金信鲸视:以AI视觉技术为复杂行业场景装上“火眼金睛”

    ​ 作为人工智能和计算机视觉的交叉领域,智能视觉通过仿生人类视觉机能,对不同形式的视觉输入进行处理.理解和决策.现今,智能视觉已成为应用广泛.市场覆盖大.形式多样的产业方向,得到了国家政策的大力支持. ...

  10. java - 正则表达式替换Spring @RequestMapping URL中的@PathVariable值

    我在接口(只是为了保存常量)中有Spring MVC URL的定义,例如: String URL_X = "/my-url/{id:[0-9]*}"; String URL_Y = ...