尝试一、直接重新激活所有osd

1、查看osd树

root@ceph01:~# ceph osd tree
ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY
-1 0.29279 root default
-2 0.14639 host ceph01
0 0.14639 osd.0 up 1.00000 1.00000
-3 0.14639 host ceph02
1 0.14639 osd.1 down 0 1.00000

发现osd.1是down掉的。

2、再次激活所有的osd(记住是所有的,不只是down掉这一个)

下面命令当中的/dev/sdb1是每一个osd节点使用的实际存储硬盘或分区。

ceph-deploy osd activate  ceph01:/dev/sdb1 ceph02:/dev/sdb1

3、查看osd树和健康状态

root@ceph01:~/my-cluster# ceph osd tree
ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY
- 0.29279 root default
- 0.14639 host ceph01
0.14639 osd. up 1.00000 1.00000
- 0.14639 host ceph02
0.14639 osd. up 1.00000 1.00000
root@ceph01:~/my-cluster#
root@ceph01:~/my-cluster# ceph -s
cluster ecacda71-af9f-46f9-a2a3-a35c9e51db9e
health HEALTH_OK
monmap e1: mons at {ceph01=10.111.131.125:/}
election epoch , quorum ceph01
osdmap e150: osds: up, in
flags sortbitwise,require_jewel_osds
pgmap v9284: pgs, pools, bytes data, objects
MB used, GB / GB avail
active+clean

只有为 HEALTH_OK 才算是正常的。

尝试二、修复down掉的osd

该方法主要应用于某个osd物理损坏,导致激活不了

1、查看osd树

root@ceph01:~# ceph osd tree
ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY
- 0.29279 root default
- 0.14639 host ceph01
0.14639 osd. up 1.00000 1.00000
- 0.14639 host ceph02
0.14639 osd. down 1.00000

发现osd.1是down掉的。

2、将osd.1的状态设置为out

root@ceph02:~# ceph osd out osd.
osd. is already out.

3、从集群中删除

root@ceph02:~# ceph osd rm osd.
removed osd.

4、从CRUSH中删除

root@ceph02:~# ceph osd crush rm osd.
removed item id name 'osd.1' from crush map

5、删除osd.1的认证信息

root@ceph02:~# ceph auth del osd.
updated

6、umount

umount /dev/sdb1

7、再次查看osd的集群状态

root@ceph02:~# ceph osd tree
ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY
- 0.14639 root default
- 0.14639 host ceph01
0.14639 osd. up 1.00000 1.00000
- host ceph02

8、登录ceph-deploy节点

root@ceph01:~# cd /root/my-cluster/
root@ceph01:~/my-cluster#

9、初始化磁盘

ceph-deploy --overwrite-conf osd  prepare ceph02:/dev/sdb1

10、再次激活所有的osd(记住是所有的,不只是down掉这一个)

ceph-deploy osd activate  ceph01:/dev/sdb1 ceph02:/dev/sdb1

11、查看osd树和健康状态

root@ceph01:~/my-cluster# ceph osd tree
ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY
-1 0.29279 root default
-2 0.14639 host ceph01
0 0.14639 osd.0 up 1.00000 1.00000
-3 0.14639 host ceph02
1 0.14639 osd.1 up 1.00000 1.00000
root@ceph01:~/my-cluster#
root@ceph01:~/my-cluster# ceph -s
cluster ecacda71-af9f-46f9-a2a3-a35c9e51db9e
health HEALTH_OK
monmap e1: 1 mons at {ceph01=10.111.131.125:6789/0}
election epoch 14, quorum 0 ceph01
osdmap e150: 2 osds: 2 up, 2 in
flags sortbitwise,require_jewel_osds
pgmap v9284: 64 pgs, 1 pools, 17 bytes data, 3 objects
10310 MB used, 289 GB / 299 GB avail
64 active+clean

只有为 HEALTH_OK 才算是正常的。

ceph修复osd为down的情况的更多相关文章

  1. 影响性能的关键部分-ceph的osd journal写

    在前面一篇文章中,我们看到,当使用filestore时,osd会把磁盘分成data和journal两部分.这主要是为了支持object的transaction操作.我的想法是,ceph需要具有数据保护 ...

  2. ceph增加osd流程

    假如需要新增一个主机名:osd4 ip:192.168.0.110的OSD1.在osd4创建挂载目录及放置配置文件的目录 ssh 192.168.0.110 (这里是从mon主机ssh到osd4主机) ...

  3. ceph存储osd启动异常处理和正常启停操作

    机器角色:cloudstack虚拟机的宿主机:ceph存储机器. 事件:ceph存储的物理机器由于内存异常,需要停机更换,仅仅是把该物理机上面的虚拟机迁移走,同时启动了停机维护,然后就直接关机.结果造 ...

  4. ceph之osd

    一.删除osd ceph osd out 1ceph osd down 1systemctl stop ceph-osd@1ceph osd crush remove osd.1ceph osd rm ...

  5. Ceph更换OSD磁盘

    目录 简介 更换OSD操作步骤 1. 故障磁盘定位 2. 摘除故障磁盘 3. 重建raid0 4. 重建osd 控制数据恢复及回填速度 简介 首先需要说明的是,ceph的osd是不建议做成raid10 ...

  6. ceph 剔除osd

    先将osd.2移出集群 root@ceph-monster:~# ceph osd out osd.2 marked out osd.2. root@ceph-monster:~# ceph osd ...

  7. Ceph删除OSD上一个异常object

    前言 ceph里面的数据是以对象的形式存储在OSD当中的,有的时候因为磁盘的损坏或者其它的一些特殊情况,会引起集群当中的某一个对象的异常,那么我们需要对这个对象进行处理 在对象损坏的情况下,启动OSD ...

  8. 查询Ceph的OSD占用内存

    前言 之前写过一篇关于查询OSD的运行的CPU的情况的分享,本篇是讲的获取内存占用的,代码包括两种输出,一种是直接的表格,一种是可以方便解析的json 代码 直接上代码,python才用不久,所以可能 ...

  9. 不小心清空了Ceph的OSD的分区表如何恢复

    前言 如果你是新手,应该出现过敲盘符的时候,敲错的情况,有些操作可能没什么问题,查询类的操作都没问题,但是写入的情况,就可能比较麻烦了,当然老手也可能有误操作,本篇将讲述在误操作把分区表给弄丢了的情况 ...

随机推荐

  1. Spring的常用下载地址

    第一种,简单粗暴直接 1 http://repo.springsource.org/libs-release-local/org/springframework/spring/3.2.4.RELEAS ...

  2. 【BZOJ】3670: [Noi2014]动物园(KMP)

    题目 传送门:QWQ 分析 像求next一样求num. 第二次求next时加上不超过一半的条件. 时间复杂度: $ \huge O ( n ) $ 代码 // luogu-judger-enable- ...

  3. 基于Keepalived高可用集群的MariaDB读写分离机制实现

    一 MariaDB读写分离机制 在实现读写分离机制之前先理解一下三种主从复制方式:1.异步复制:MariaDB默认的复制即是异步的,主库在执行完客户端提交的事务后会立即将结果返给给客户端,并不关心从库 ...

  4. Collection集合学习(一)———Set接口与具体实现

    接口Collection: Collection是Java的一个集合框架, 也是一个根接口.JDK中没有提供此接口的任何实现,但是提供了更具体的子接口Set和List接口的实现,所有的Collecti ...

  5. 移动app非功能测试点收集

    非功能测试 移动app测试的另一重要方面是移动app的非功能需求.移动app在推出市场或进行进一步开发前,移动测试员有许多需要测试的问题. 早期开发阶段要进行的第一个测试应该是实用性测试.通常是由al ...

  6. Rplot

    #!/usr/bin/Rscriptlibrary(ggplot2) cf = read.table(file = 'result_sort.txt', header = TRUE, sep='\t' ...

  7. c++builder 读写文件类

    c++builder 读写文件类 TStreamReader.TStreamWriter读取一行 http://docwiki.embarcadero.com/CodeExamples/XE8/en/ ...

  8. 转:devise使用

    1.gem install devise 2.在gemfile中添加 gem 'devise' 3.bundle install 4.执行 rails generate devise:install ...

  9. e s6 知识点

    http://es6.ruanyifeng.com/#docs/reflect 1.资料对es6箭头函数中的this总结:箭头函数中的this指向的是 定义时的this,而不是 执行时的this.

  10. EXPLAIN sql优化方法(2) Using temporary ; Using filesort

    优化GROUP BY语句   默认情况下,MySQL对所有GROUP BY col1,col2...的字段进行排序.这与在查询中指定ORDER BY col1,col2...类似.因此,如果显式包括一 ...