一、基本概念
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,问题很严重,意味着丢失数据了;