文档章节

ceph 生产迁移惊魂24小时

胡子叭槎
 胡子叭槎
发布于 2019/12/15 22:44
字数 1153
阅读 53
收藏 0

终于渡过了ceph 生产环境数据迁移惊魂24小时。下面就记录一下遇到的问题和解决办法,一遍后面再遇到问题有应对办法。下面先说一个openshift的问题。

关于openshift大家应该都不陌生,很多openshift需要挂载云存储都对接的是ceph集群。正确情况下openshift使用ceph集群都没有问题,但是遇到ceph迁移就有问题了。ceph集群如果要迁移想必IP都会变,但是对于openshift就是个麻烦事情。在openshift上云盘就是一个远程存储磁盘是通过网络来链接的。那么挂载的磁盘肯定要记录下远程云盘的IP和端口,但是最要命的是云盘一旦挂载成功这个IP和端口都是无法改变的。如果云盘使用的是ceph集群,且ceph集群要迁移,ceph对外服务的mon 服务的IP就变了,这对于openshift来说就是致命的。所以对应于生成环境建议单独使用服务器做mon服务,这样即使以后迁移数据mon是不变的。好了下面就给大家说说在迁移后openshift无法对接新的mon时又重新使用老IP再迁移一次(其实可以直接改ceph集群的IP,但是风险大,不建议)。

1 添加osd  报错“bootstrap-osd keyring not found; run 'gatherkeys'”

[root@storage12 ceph]# ceph-deploy osd create storage11 --data /dev/sde --block-db /dev/sdb1  --block-wal /dev/sdb2
[ceph_deploy.conf][DEBUG ] found configuration file at: /root/.cephdeploy.conf
[ceph_deploy.cli][INFO  ] Invoked (2.0.1): /usr/bin/ceph-deploy osd create storage11 --data /dev/sde --block-db /dev/sdb1 --block-wal /dev/sdb2
[ceph_deploy.cli][INFO  ] ceph-deploy options:
[ceph_deploy.cli][INFO  ]  verbose                       : False
[ceph_deploy.cli][INFO  ]  bluestore                     : None
[ceph_deploy.cli][INFO  ]  cd_conf                       : <ceph_deploy.conf.cephdeploy.Conf instance at 0x7fd9a05c56c8>
[ceph_deploy.cli][INFO  ]  cluster                       : ceph
[ceph_deploy.cli][INFO  ]  fs_type                       : xfs
[ceph_deploy.cli][INFO  ]  block_wal                     : /dev/sdb2
[ceph_deploy.cli][INFO  ]  default_release               : False
[ceph_deploy.cli][INFO  ]  username                      : None
[ceph_deploy.cli][INFO  ]  journal                       : None
[ceph_deploy.cli][INFO  ]  subcommand                    : create
[ceph_deploy.cli][INFO  ]  host                          : storage11
[ceph_deploy.cli][INFO  ]  filestore                     : None
[ceph_deploy.cli][INFO  ]  func                          : <function osd at 0x7fd9a0a1d848>
[ceph_deploy.cli][INFO  ]  ceph_conf                     : None
[ceph_deploy.cli][INFO  ]  zap_disk                      : False
[ceph_deploy.cli][INFO  ]  data                          : /dev/sde
[ceph_deploy.cli][INFO  ]  block_db                      : /dev/sdb1
[ceph_deploy.cli][INFO  ]  dmcrypt                       : False
[ceph_deploy.cli][INFO  ]  overwrite_conf                : False
[ceph_deploy.cli][INFO  ]  dmcrypt_key_dir               : /etc/ceph/dmcrypt-keys
[ceph_deploy.cli][INFO  ]  quiet                         : False
[ceph_deploy.cli][INFO  ]  debug                         : False
[ceph_deploy.osd][DEBUG ] Creating OSD on cluster ceph with data device /dev/sde
[ceph_deploy][ERROR ] RuntimeError: bootstrap-osd keyring not found; run 'gatherkeys'

解决办法:ceph-deploy gatherkeys storage12

2 添加mon 无法显示

成功添加了mon服务,但是集群里面看不到该mon服务。

原因:mon添加后mon秘钥和集群的秘钥不一致无法正常加入到集群秘钥环中

解决办法:和集群里面现有的mon服务的秘钥镜像对比并修改。秘钥位置/var/lib/ceph/mon/ceph-mon.nodename/keying

            修改后重启mon服务就解决

3  添加mgr 服务不显示

    在添加了mgr 服务后 在集群里面看不到。

    解决办法:ceph-mgr -i node-name

4 迁移数据时又pg 卡主

    迁移数据时候有pg卡主状态为“activating+undersized+degraded+remapped” 且监控状态有显示大量block请求超时

[root@storage11 ceph]# ceph -s
  cluster:
    id:     56de8d1c-ba57-4b7d-81bd-d025b766d793
    health: HEALTH_ERR
            57153/3176121 objects misplaced (1.799%)
            Reduced data availability: 191 pgs inactive
            Degraded data redundancy: 81421/3176121 objects degraded (2.564%), 191 pgs degraded, 191 pgs undersized
            9407 slow requests are blocked > 32 sec. Implicated osds 83
            72868 stuck requests are blocked > 4096 sec. Implicated osds 37,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,72,73,74,75,76,78,79,80,81,82,84,85,86,87,88
 
  services:
    mon: 3 daemons, quorum storage12,storage11,storage13
    mgr: storage11(active)
    osd: 54 osds: 54 up, 54 in; 191 remapped pgs
    rgw: 2 daemons active
 
  data:
    pools:   11 pools, 2488 pgs
    objects: 1.06M objects, 4.03TiB
    usage:   11.6TiB used, 76.8TiB / 88.4TiB avail
    pgs:     7.677% pgs not active
             81421/3176121 objects degraded (2.564%)
             57153/3176121 objects misplaced (1.799%)
             2297 active+clean
             191  activating+undersized+degraded+remapped

问题原因:这种集群报错error的原因是我们不是做简单的数据迁移,而是从2副本同步成3副本的时候客户端又正好在写数据,数据还没有写完主pg就迁移走了然后pg 就卡主。

解决办法:看上面报错的osd ,对这些osd服务重启一般都能解决问题

5 pg分布不均衡 调整osd权重的问题

    调整权重后pg 马上会重新均衡做部分数据迁移,但是有可能出现pg 卡主状态为 active+clean+remapped 。

    原因:这个是ceph集群的一个bug ,造成的直接原因就是权重调整的幅度过大

    解决办法:重新把权重修改回去让pg 复原,然后重新修改权重参数,切记要小幅度效果,不要调整幅度过大。

© 著作权归作者所有

上一篇: ceph 磁盘掉线
下一篇: ceph 大话临时pg
胡子叭槎
粉丝 22
博文 151
码字总数 152492
作品 0
成都
运维
私信 提问
Ceph 的现状

1. Ceph简介 Ceph是统一分布式存储系统,具有优异的性能、可靠性、可扩展性。Ceph的底层是RADOS(可靠、自动、分布式对象存储),可以通过 LIBRADOS直接访问到RADOS的对象存储系统。RBD(块设备...

鉴客
2014/09/03
3.3K
0
Ceph 之 块设备、文件系统、对象存储的使用

上面左边是我的个人微信,如需进一步沟通,请加微信。 右边是我的公众号“Openstack私有云”,如有兴趣,请关注。 继上篇《Ceph 之 使用ceph-deploy部署ceph集群》,ceph集群搭建完成之后,接...

余伟兵
2018/06/03
0
0
Ceph集群缩容及相关故障处理

引言 由于目前机器比较紧张,需要将我集群中的一批机器提供给其他业务使用,这时问题来了,集群机器的退出意味着数据要重新分布,数据迁移的过程中比较容易出故障。 处理过程 处理测试POOL对...

西昆仑
2016/09/23
339
0
CEPH 可靠性的计算方法分析

原文出处:RaySun的博客 在开始正文之前,首先要感谢UnitedStack工程师朱荣泽对这篇博文的大力帮助和悉心指教。本文主要针对UnitedStack公司在巴黎峰 会上对Ceph可靠性的计算方法(https://ww...

红薯
2015/01/25
3.7K
0
ZStack 3.6.0 正式发布

2019年9月2日,ZStack正式发布最新版本——ZStack 3.6.0,涵盖一系列重要功能,以下为您进行详细介绍。 ZStack 3.6.0新功能概览 1.企业管理增强: 企业管理租户、角色、权限功能升级 1) 企业...

ZStack社区版
2019/09/06
2.6K
1

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 宇宙银河乱弹英雄传 —— @FalconChen

1Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @巴拉迪维 :Axxis的单曲《Only God Knows》 最近只听摇滚,挖了好多以前没听过的歌,蛮好。#今日歌曲推荐# 《Only God Knows》- Axxis 手机...

小小编辑
今天
143
1
Safari Date() 函数对日期时间字符串(yyyy-MM-dd HH:mm:ss) 提示NaN的问题

今天发现一个奇怪的问题,在iPhone使用 safari 选择定时发布文章到OSC,选择时间后提示不是合法的时间,判断时间的代码如下: var d = new Date('2020-01-23 23:15'); if (isNaN(d)) {...

FalconChen
昨天
124
0
ActiveMQ学习之通讯协议

一、支持的通讯协议 ActiveMQ支持的client-broker通讯协议有:TCP、NIO、UDP、SSL、HTTP(S)、VM 其中配置Transport Connector的文件在ActiveMQ安装目录的conf/activemq.xml中的<TransportCon...

冥焱
昨天
91
0
应急广播户户通平台

一、平台概述 应急广播户户通平台为软硬一体化广播服务解决方案。实现了应急广播、视音频及图片文字信息、调频及数字广播FM、天气预报信息接收功能,以及视音频播放、智能机器人、电子日历等...

neocean
昨天
133
0
如何为Apache 2.2启用mod_rewrite

我已经在我的Vista机器上安装了新的Apache 2.2,一切正常,除了mod重写。 我没有注释 LoadModule rewrite_module modules/mod_rewrite.s 但是我的重写规则都没有,即使是简单的重写规则 Re...

javail
昨天
53
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部