当前位置: 首页 > 编程日记 > 正文

关于OSD::mkfs: ObjectStore::mkfs failed with error (5) Input/output error问题的解决

环境:
ceph L版本12.2.1升级到12.2.12

这个问题是由于升级后进行12.2.12环境中的使用ceph-disk 进行osd部署时出现如下问题,执行命令
ceph-disk -v prepare /dev/sdb;ceph-disk -v activate /dev/sdb1
出现如下问题,出现这个问题之前我的磁盘用作部署过12.2.1版本的osd,但是我已经使用sgdisk -z -og /dev/sdb 格式化过磁盘

command_check_call: Running command: /usr/bin/ceph-osd --cluster ceph --mkfs -i 2 --monmap /var/lib/ceph/tmp/mnt.uYoUWC/activate.monmap --osd-data /var/lib/ceph/tmp/mnt.uYoUWC --osd-uuid e6ac88e7-7929-4405-937a-8686a30a0037 --setuser ceph --setgroup ceph
2019-11-03 00:32:35.588340 7fcc21bddd00 -1 bluestore(/var/lib/ceph/tmp/mnt.uYoUWC/block) _check_or_set_bdev_label bdev /var/lib/ceph/tmp/mnt.uYoUWC/block fsid 0fb18eac-7c3b-47a8-9b1f-64407ccf1905 does not match our fsid e6ac88e7-7929-4405-937a-8686a30a0037
2019-11-03 00:32:35.844858 7fcc21bddd00 -1 bluestore(/var/lib/ceph/tmp/mnt.uYoUWC) mkfs fsck found fatal error: (5) Input/output error
2019-11-03 00:32:35.844890 7fcc21bddd00 -1 OSD::mkfs: ObjectStore::mkfs failed with error (5) Input/output error
2019-11-03 00:32:35.845005 7fcc21bddd00 -1  ** ERROR: error creating empty object store in /var/lib/ceph/tmp/mnt.uYoUWC: (5) Input/output error

根据官网bug跟踪的解决过程unable to create bluestore osd using ceph-disk
也进行了一些测试,发现即使时我使用sgdisk格式化了磁盘分区之后,仍然可以在磁盘的前1个G容量中看到有12.2.1相关数据。即我在使用12.2.1版本部署过osd的磁盘去部署当前版本12.2.12时,上一个版本的一些fsid,uuid,osd编号等一些rockdb元数据信息仍然存在于当前磁盘的扇区中,这个时候我即使格式化磁盘仍然无法清楚掉这一些数据得,查看sgdisk源码,使用-o参数清楚磁盘分区数据只会清除GPT 格式的数据,并不会清除MBR格式数据。

对已经sgdisk -z -og /dev/sdk之后的磁盘执行如下操作:

[root@node1 zhg]# dd if=/dev/zero of=/dev/sdk bs=1M count=1G 
^C4647+0 records in
4647+0 records out
4872732672 bytes (4.9 GB) copied, 21.5581 s, 226 MB/s[root@node1 zhg]# dd if=/dev/sdk of=mbr.txt bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 9.53945 s, 113 MB/s

查看dd出来的1G容量的数据

0010c000  49 4e 41 ed 02 01 00 00  00 00 00 a7 00 00 00 a7  |INA.............|
0010c010  00 00 00 02 00 00 00 00  00 00 00 00 00 00 00 02  |................|
0010c020  00 00 00 00 00 00 00 00  5d bd af 16 04 b6 73 f2  |........].....s.|
0010c030  5d bd af 16 04 b6 73 f2  00 00 00 00 00 00 00 86  |].....s.........|
0010c040  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
0010c050  00 00 00 02 00 00 00 00  00 00 00 00 00 00 00 00  |................|
0010c060  ff ff ff ff 09 00 00 00  00 18 09 00 50 63 65 70  |............Pcep|
0010c070  68 5f 66 73 69 64 00 00  00 1b 04 00 88 66 73 69  |h_fsid.......fsi|
0010c080  64 00 00 00 1c 05 00 b8  6d 61 67 69 63 00 00 00  |d.......magic...|
0010c090  1d 0a 00 f0 62 6c 6f 63  6b 5f 75 75 69 64 00 00  |....block_uuid..|
0010c0a0  00 1e 05 01 08 62 6c 6f  63 6b 00 00 00 1f 04 01  |.....block......|
0010c0b0  38 74 79 70 65 00 00 00  20 07 01 48 6b 65 79 72  |8type... ..Hkeyr|
0010c0c0  69 6e 67 00 00 00 21 06  01 80 77 68 6f 61 6d 69  |ing...!...whoami|
0010c0d0  00 00 00 22 0f 01 98 61  63 74 69 76 61 74 65 2e  |..."...activate.|
0010c0e0  6d 6f 6e 6d 61 70 00 00  00 23 00 00 00 00 00 00  |monmap...#......|
0010c0f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|

可以看到,虽然已经格式化磁盘了,但是扇区中仍然存在上一个版本osd相关元数据信息。

这个时候解决该问题,根据以上官网解决该bug的流程,执行如下操作即可

ceph osd rm osd.id #删除添加失败的osd
ceph auth rm osd.id #删除添加失败的osd的密钥
dd if=/dev/zero of=/dev/sdk bs=1M count=1024 #使用0重写前一个G内容
sgdisk -Z -g /dev/sdk #先破坏磁盘所有分区,再将分区由mgr转为gpt格式分区
ceph-disk -v prepare /dev/sdk
ceph-disk -v activate /dev/sdk1

这里在使用0重写磁盘前一个G内容时查看磁盘前一个G内容如下,显然这个写0操作执行之后就所有分区就都没有内容了

[root@node1 zhg]# dd if=/dev/sdk of=mbr.txt bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 9.53945 s, 113 MB/s
[root@node1 zhg]# hexdump -C mbr.txt 
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|

相关文章:

福大计算机国二,福大学子喜获中国大学生计算机设计大赛二三等奖

新闻中心讯/8月9日,第十一届中国大学生计算机设计大赛暨第五届中国大学生动漫游戏创意设计大赛(爱果冻杯)决赛在福建农林大学闭幕。福州大学获得了全国决赛的二等奖3项,三等奖1项。据了解,本次大赛共有来自中央美术学院、中央民族大学、东北大…

Ubuntu下如何解压缩zip,tar,tar.gz,tar.bz2文件

转自:http://wangli-5665.diandian.com/post/2011-08-18/4039228 这么多年来,数据压缩对我们来说是非常有用的。无论是在邮件中发送的图片用的zip文件还是在服务器压缩数据文件,我们都可以让下载更容易或者有效 的节约磁盘空间。某些压缩格式…

DataGridView和ListT绑定不显示问题

在学习DataGridView 和List<T>绑定时发现DataGridView不会显示数据。后来发现要用类的属性才能正常显示&#xff0c;如果直接用类的字段等来显示&#xff0c;则无法显示数据。 代码如下&#xff1a; using System; using System.Collections.Generic; using System.Compo…

【pytorch】pytorch-backward()的理解

pytorch-backword函数的理解 函数&#xff1a;\(tensor.backward(params)\) 这个params的维度一定要和tensor的一致&#xff0c;因为tensor如果是一个向量y [y1,y2,y3]&#xff0c;那么传入的params[a1,a2,a3]&#xff0c;这三个值是系数&#xff0c;那么是什么的系数呢&#…

CEPH集群更换ip(更换ip前的防范和更换ip后的恢复)

文章目录修改/etc/hosts中的ip设置修改ceph.conf中的ip地址获取monmap将monmap注入到集群最近测试部在测试一些功能&#xff0c;在我们不知情得情况下更换了集群内外网ip&#xff0c;之后直接甩锅到我这里&#xff08;大哭&#xff09;接手到的集群是ceph各个组件之间无法成功通…

vim使用大全

鸟哥介绍的几个高级功能1.区块选择的按键意义v字符选择&#xff0c;会将光标经过的地方反白选择&#xff01;V行选择&#xff0c;会将光标经过的行反白选择&#xff01;[Ctrl]v区块选择&#xff0c;可以用长方形的方式选择资料y将反白的地方复制起来d将反白的地方删除掉 2.多档…

ajax默认超时时间多久,请问chrome浏览器的默认超时时间是多久?

测试时间&#xff1a;2019/02/26MacOS 环境下&#xff0c;timeout在各浏览器默认值为(以下浏览器都为当前时间最新版本)chrome 72.x 为4minsafari 12 为8minfirefox 65 貌似没有超时时间测试代码Documentqueryconst ajax (url /api/timeout) > {const xhr new XMLHttpReq…

Nginx 做图片服务器

呵呵 说来搞笑 我们公司领导那个决定啊&#xff0c;公司的图片Windows服务机器 准备迁移到Linux&#xff0c;我勒个去&#xff0c;也不搞个正规的文件系统&#xff0c;先喷下公司 2.8KW 张零碎图片 1.8T 文件占有量&#xff0c; 哥刚刚接手也是被吓了一跳。 Nginx 带动 整个公司…

SUSTechTripleH队墓志铭

SUSTechTripleH队建于2017年7月队员包括朱泓霖 贺启旸 黄博11月获南方科技大学第一枚ICPC区域赛奖牌次年获第一枚广东省省赛金牌2018年8月新增队员张文灏11月4日获得南方科技大学第一枚ICPC区域赛金牌于2018年11月5日解散享年16个月祝愿南科大ACM集训队越办越好转载于:https:/…

ceph-deploy rpm包的制作

今天需要部署一个ceph L 版本12.2.12的环境&#xff0c;无奈最近公司网络无法访问到ceph官网&#xff0c;只能使用之前下载好的ceph-deploy-1.5.39版本&#xff0c;安装上之后一口老血喷了出来&#xff0c;没有mgr的部署选项。 无奈之下只能自己制作一个1.5.38版本的ceph-depl…

ajax post的回调函数另一个方法,jQueryajax–post()方法 - 米扑博客

jQuery ajax - post() 实例请求 test.php 网页&#xff0c;忽略返回值&#xff1a;$.post("test.php");通过 AJAX POST 请求改变 div 元素的文本&#xff1a;$("input").keyup(function(){txt$("input").val();$.post("demo_ajax.asp"…

将excel中是数据导入数据库

2019独角兽企业重金招聘Python工程师标准>>> 将excel中是数据导入数据库 1.利用excel生成sql语句&#xff1a; 列如&#xff1a; 1&#xff09;.insert&#xff1a; CONCATENATE("insert into Company (ID,Name,Address,Tell,Brief,URL,Fax,Contact,TradeI…

Java工具类-转换字符编码

package common; /***字符串处理公用类 */ public class DealString {/*** 转换字符编码 由“iso-8859-1”西文转换为简体中文*/public static String toGb(String uniStr){String gbStr"";if(uniStrnull){uniStr"";}try{byte[] tempByteuniStr.getBytes(&…

partprobe源码分析

partprobe工具 操作系统目录/usr/sbin/partprobe 程序安装包parted-3.1-17.el7.x86_64.rpm 命令用法&#xff1a; partprobe是用来告知操作系统内核 分区表发生变化的工具&#xff0c;告知方式是请求内核重读分区表 选项如下&#xff1a; -d 不会让内核重读分区表&#xff0c…

数据库和服务器什么协议,数据库服务器协议

数据库服务器协议 内容精选换一换本章节适用于MRS 3.x之前版本。Loader支持以下多种连接&#xff0c;每种连接的配置介绍可根据本章节内容了解。obs-connectorgeneric-jdbc-connectorftp-connector或sftp-connectorhbase-connector、hdfs-connector或hive-connectorOBS连接是Lo…

VC实用小知识总结 (一),转http://blog.csdn.net/myiszjf/article/details/10007431

在上一篇中,我们以经介绍了程序的流程和框架,在本篇将详细讨论各个功能的实现主要包括1.获取磁盘信息2.获取目录信息3.获取文件信息4.运行指定文件5.删除指定文件6.删除指定目录7.创建指定目录8.上传下载文件9.获取远程文件图标获取磁盘信息磁盘信息可以用API GetDriveType来实…

Linux下快速分区格式化大于2T大容量存储

在生产环境中&#xff0c;我们会遇到分区大于2T的磁盘&#xff08;比如&#xff1a;添加一个10TB的存储&#xff09;&#xff0c;由于MBR分区表只支持2T磁盘&#xff0c;所以大于2T的磁盘必须使用GPT分区表&#xff0c;而我们在做raid时会划分多个VD来进行装系统&#xff0c;但…

ubuntu18.04 Desktop版本部署13.2.6版本ceph

文章目录选择系统安装系统网络配置CEPH部署想要查看版本较高的ceph在进行录像业务存储且在磁盘占用率在70%左右时且ceph底层出现slow_request是否会对上层录像业务造成显性影响 所以需要在ubuntu 18.04版本部署mimic版本ceph&#xff0c;先将部署步骤描述如下&#xff1a; 选…

java获取ajax上传的文件,Java使用Ajax异步上传文件

相关代码示例:html代码片段:名称class"layui-input">描述文件请选择配置文件立即提交重置js代码片段://上传配置文件$("#save_config_file").click(function () {var name $("#config_name").val();var desc $("#config_desc").v…

hdu 1423

最长公共上升子序列&#xff1a;O(n*m)的算法&#xff1b; 1 #include<cstdio>2 #include<cstring>3 #define maxn 10004 using namespace std;5 int a[maxn],b[maxn],f[maxn];6 int main()7 {8 int t,n,m;9 scanf("%d",&t); 10 while(t…

从HP发布BSM新版套件看网管与安管的融合

2012年11月底&#xff0c;HP发布了新版的BSM套件。在这个新的套件有一个BSM与ArcSight Logger整合的方案。我之前在RSA2012大会观后感系列文章中也提及过HP的这个动向&#xff0c;就是将网管与安管整合的动向。他们正在按部就班地进行中。不过&#xff0c;由于他们的身躯过于庞…

PHP学习课程和培训方向学习路线分享

PHP学习课程和培训方向学习路线分享 php语言的优越性&#xff0c;集结了很多的开发爱好者&#xff0c;无论行业前景和个人发展来说&#xff0c;php正飞速的发展&#xff0c;php在不断兼容着类似closures和命名空间 等技术&#xff0c;同时兼顾性能和当下流行的框架。版本是7之后…

编译ceph源码:cython module not found问题的解决

环境&#xff1a;centos7.5 ceph版本:12.2.1 在当前环境对ceph源码rpm包进行重新编译 执行命令rpmbuild --rebuild ceph-12.2.1-0.el7.src.rpm 最后出现错误如下&#xff1a; Could not find cython3. Please install Cython. 查看此时对Cython3模块的编译规则 vim /BUILD/ce…

把mysql 中的字符gb2312 改为gbk的方法

第一步&#xff1a;查找mysql的字符: mysql> show variables like %char%;------------------------------------------------------------| Variable_name | Value |------------------------------------------------------------|…

1h2g云服务器做网站,云服务器1h2g

云服务器1h2g 内容精选换一换IP地址组是多个IP地址的集合&#xff0c;可被安全组规则引用&#xff0c;可统一管理具有相同安全要求或需要频繁修改的IP地址。通过使用IP地址组&#xff0c;可有效应对需要重复多次编辑安全组规则的场景&#xff0c;方便管理。您需要先创建一个IP地…

×××S:Reporting Services 技巧

S&#xff1a;Reporting Services 技巧 表达式 1、序号&#xff1a;RunningValue(1, sum, nothing) 2、总记录数&#xff1a; CountRows() 3、今天日期&#xff1a;Today 4、本月初&#xff1a;CDate(Now().ToString("yyyy-MM-01")) 5、换行效果&#xff08;<br/&…

vim 常用指令

1 移动光标 光标动作 hjkl&#xff0c;方向键 移动一位&#xff0c;hjkl代表左、下、上、右 数字0 移至本行开头 ^ 移至本行第一个非空字符&#xff0c;匹配开头 $ 移至本行结尾&#xff0c;可以包含空格 w 移至下一单词或标点的开头…

ceph osd 由于“No space left on device” 异常down,通过扩容文件系统或者显式运行osd进程解决

文章目录ceph版本:环境配置&#xff1a;异常问题&#xff1a;问题解决&#xff1a;总结ceph版本: ceph 12.2.1 环境配置&#xff1a; tier_pool 16个分区大小800G 的osd容量 3副本 data_pool 32个4T盘 3副本 异常问题&#xff1a; ps:在分布式存储中遇到任何问题都不要先…

java云服务器系统选择,java云服务器系统选择

java云服务器系统选择 内容精选换一换登录Windows操作系统弹性云服务器时&#xff0c;无法正常进入系统。自启动系统修复模式&#xff0c;但选择修复选项后报错&#xff0c;无法继续进行系统恢复。Windows文件已损坏。登录管理控制台&#xff0c;选择“计算 > 弹性云服务器”…

WordPress数据库优化技巧

各位站长都知道wordpress用久了就会越来越慢。今天就给大家介绍如何给自己的wordpress提速&#xff0c;分两种方法&#xff1a;1.插件属性wordpress的都知道其插件是相当的多&#xff0c;只要你能想得到的基本都有&#xff0c;在这给大家介绍几个小编知道的插件&#xff1a;WP-…