admin
不忘初心,方得始终
级别: 管理员
只看楼主 | | | 0楼 发表于:2017-02-09 16:02

ceph集群处理pgs inconsistent和scrub errors故障的方法

   当Ceph集群处于类似如下状态: health HEALTH_ERR 1 pgs inconsistent; 1 scrub errors的故障时候,需要手动修复。具体操作方法如下:
  1.确定是哪个pg出现问题。执行ceph health detail 查看出现问题的PG名称,和其所处的OSD。
  2.执行修复操作:ceph pg repair pg_name
   等待一段时间,修复自动完成。
  如果再次查看Ceph集群状态,出现active+clean+scrubbing+deep那么接着往下执行。
  3.找出处于“active+clean+scrubbing+deep”状态的pg。
  ceph pg dump |grep "active+clean+scrubbing+deep"
  找到pg所在的OSD节点。
  4.登录到pg所在节点的主机,重启osd。
  ceph osd set noout
  /etc/init.d/ceph restart
  5.等待osd状态恢复后,把ceph集群状态恢复。
  ceph osd unset noout