当前位置:主页 > 查看内容

记一次Ceph pg unfound处理过程

发布时间:2021-05-16 00:00| 位朋友查看

简介:今天检查ceph集群,发现有pg丢失,于是就有了本文~~~ 1.查看集群状态 [root@k8snode001~]#cephhealthdetail HEALTH_ERR1/973013objectsunfound(0.000%);17scruberrors;Possibledatadamage:1pgrecovery_unfound,8pgsinconsistent,1pgrepair;Degradeddataredun……

今天检查ceph集群,发现有pg丢失,于是就有了本文~~~

1.查看集群状态

  1. [root@k8snode001 ~]# ceph health detail 
  2. HEALTH_ERR 1/973013 objects unfound (0.000%); 17 scrub errors; Possible data damage: 1 pg recovery_unfound, 8 pgs inconsistent, 1 pg repair; Degraded data redundancy: 1/2919039 objects degraded (0.000%), 1 pg degraded 
  3. OBJECT_UNFOUND 1/973013 objects unfound (0.000%) 
  4.     pg 2.2b has 1 unfound objects 
  5. OSD_SCRUB_ERRORS 17 scrub errors 
  6. PG_DAMAGED Possible data damage: 1 pg recovery_unfound, 8 pgs inconsistent, 1 pg repair 
  7.     pg 2.2b is active+recovery_unfound+degraded, acting [14,22,4], 1 unfound 
  8.     pg 2.44 is active+clean+inconsistent, acting [14,8,21] 
  9.     pg 2.73 is active+clean+inconsistent, acting [25,14,8] 
  10.     pg 2.80 is active+clean+scrubbing+deep+inconsistent+repair, acting [4,8,14] 
  11.     pg 2.83 is active+clean+inconsistent, acting [14,13,6] 
  12.     pg 2.ae is active+clean+inconsistent, acting [14,3,2] 
  13.     pg 2.c4 is active+clean+inconsistent, acting [8,21,14] 
  14.     pg 2.da is active+clean+inconsistent, acting [23,14,15] 
  15.     pg 2.fa is active+clean+inconsistent, acting [14,23,25] 
  16. PG_DEGRADED Degraded data redundancy: 1/2919039 objects degraded (0.000%), 1 pg degraded 
  17.     pg 2.2b is active+recovery_unfound+degraded, acting [14,22,4], 1 unfound 

从输出发现pg 2.2b is active+recovery_unfound+degraded, acting [14,22,4], 1 unfound

现在我们来查看pg 2.2b,看看这个pg的想想信息。

  1. [root@k8snode001 ~]# ceph pg dump_json pools    |grep 2.2b 
  2. dumped all 
  3. 2.2b       2487                  1        1         0       1  9533198403 3048     3048                active+recovery_unfound+degraded 2020-07-23 08:56:07.669903  10373'5448370  10373:7312614  [14,22,4]         14  [14,22,4]             14  10371'5437258 2020-07-23 08:56:06.637012   10371'5437258 2020-07-23 08:56:06.637012             0 

可以看到它现在只有一个副本

2.查看pg map

  1. [root@k8snode001 ~]# ceph pg map 2.2b 
  2. osdmap e10373 pg 2.2b (2.2b) -> up [14,22,4] acting [14,22,4] 

从pg map可以看出,pg 2.2b分布到osd [14,22,4]上

3.查看存储池状态

  1. [root@k8snode001 ~]# ceph osd pool stats k8s-1 
  2. pool k8s-1 id 2 
  3.   1/1955664 objects degraded (0.000%) 
  4.   1/651888 objects unfound (0.000%) 
  5.   client io 271 KiB/s wr, 0 op/s rd, 52 op/s wr 
  6.  
  7. [root@k8snode001 ~]# ceph osd pool ls detail|grep k8s-1 
  8. pool 2 'k8s-1' replicated size 3 min_size 1 crush_rule 0 object_hash rjenkins pg_num 256 pgp_num 256 last_change 88 flags hashpspool,selfmanaged_snaps stripe_width 0 application rbd 

4.尝试恢复pg 2.2b丢失地块

  1. [root@k8snode001 ~]# ceph pg repair 2.2b 

如果一直修复不成功,可以查看卡住PG的具体信息,主要关注recovery_state,命令如下

  1. [root@k8snode001 ~]# ceph pg 2.2b  query 
  2.     "...... 
  3.     "recovery_state": [ 
  4.         { 
  5.             "name""Started/Primary/Active"
  6.             "enter_time""2020-07-21 14:17:05.855923"
  7.             "might_have_unfound": [], 
  8.             "recovery_progress": { 
  9.                 "backfill_targets": [], 
  10.                 "waiting_on_backfill": [], 
  11.                 "last_backfill_started""MIN"
  12.                 "backfill_info": { 
  13.                     "begin""MIN"
  14.                     "end""MIN"
  15.                     "objects": [] 
  16.                 }, 
  17.                 "peer_backfill_info": [], 
  18.                 "backfills_in_flight": [], 
  19.                 "recovering": [], 
  20.                 "pg_backend": { 
  21.                     "pull_from_peer": [], 
  22.                     "pushing": [] 
  23.                 } 
  24.             }, 
  25.             "scrub": { 
  26.                 "scrubber.epoch_start""10370"
  27.                 "scrubber.active"false
  28.                 "scrubber.state""INACTIVE"
  29.                 "scrubber.start""MIN"
  30.                 "scrubber.end""MIN"
  31.                 "scrubber.max_end""MIN"
  32.                 "scrubber.subset_last_update""0'0"
  33.                 "scrubber.deep"false
  34.                 "scrubber.waiting_on_whom": [] 
  35.             } 
  36.         }, 
  37.         { 
  38.             "name""Started"
  39.             "enter_time""2020-07-21 14:17:04.814061" 
  40.         } 
  41.     ], 
  42.     "agent_state": {} 

如果repair修复不了;两种解决方案,回退旧版或者直接删除

5.解决方案

  1. 回退旧版 
  2. [root@k8snode001 ~]# ceph pg  2.2b  mark_unfound_lost revert 
  3. 直接删除 
  4. [root@k8snode001 ~]# ceph pg  2.2b  mark_unfound_lost delete 

6.验证

我这里直接删除了,然后ceph集群重建pg,稍等会再看,pg状态变为active+clean

  1. [root@k8snode001 ~]#  ceph pg  2.2b query 
  2.     "state""active+clean"
  3.     "snap_trimq""[]"
  4.     "snap_trimq_len": 0, 
  5.     "epoch": 11069, 
  6.     "up": [ 
  7.         12, 
  8.         22, 
  9.         4 
  10.     ], 

再次查看集群状态

  1. [root@k8snode001 ~]# ceph health detail 
  2. HEALTH_OK 

本文转载自网络,原文链接:https://www.toutiao.com/i6921954066398511620/
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!
上一篇:Zabbix5.2由浅入深之动态拓扑图 下一篇:没有了

推荐图文


随机推荐