问题解决记录 - KRBD Map失败
来源:互联网 发布:曙光大数据学院是几本 编辑:程序博客网 时间:2024/06/05 04:04
问题:
centos6.5,升级kernel到3.10.84
rbd create test1无报错
rbd info test1无报错显示正常
rbd map test1出现问题
开始是没有响应,等待一段时间后,出现:
rbd: sysfs write failed
rbd: map failed: (5) Input/output error
解决过程:
应该是内核rbd模块无法读取rbd信息所致。
怀疑可能是image 数据损坏,重新建了两个image,都出现一样的问题,排除这个可能。
查看dmesg发现有错误输出:
mon1 xxxxxxx:6789 feature set mismatch, my XXXXXX < server's XXXXXX, missing 1000000000000
经过一番搜索,在下面这个文章找到了解药:
http://cephnotes.ksperis.com/blog/2014/01/21/feature-set-mismatch-error-on-ceph-kernel-client/
对照feature表,应该是当前内核版本缺少 CEPH_FEATURE_CRUSH_V4 **** 这个特性支持。
而这个特性在4.1版本内核才被支持,升级内核不现实,只能在服务端关闭这个特性。
通过ceph osd crush dump看到:
"tunables": {
"choose_local_tries": 0,
"choose_local_fallback_tries": 0,
"choose_total_tries": 50,
"chooseleaf_descend_once": 1,
"chooseleaf_vary_r": 0,
"straw_calc_version": 1,
"allowed_bucket_algs": 22,
"profile": "unknown",
"optimal_tunables": 0,
"legacy_tunables": 0,
"require_feature_tunables": 1,
"require_feature_tunables2": 1,
"require_feature_tunables3": 0,
"has_v2_rules": 0,
"has_v3_rules": 0,
"has_v4_buckets": 1
}
最后这个特性显得比较诡异,为什么被打开了呢?
尝试把crushmap导出,用crushtool反编译成文本,加上一行:
tunbale has_v4_buckets 0
重新编译发现不能编译,提示这并不是一个合法的配置项。
于是连蒙带猜,认为这个配置项不是手工配置的,而是由其它配置自动产生的。
straw2是一个跟crush相关的新特性,很有可能与之有关。
检查crushmap,发现其中的bucket的alg全部配置成了straw2(不知道哪个哥们干的)
于是将其改回straw,重新导入crushmap。
发现has_v4_buckets特性的值已经变为0了。
尝试重新map image: rbd map test1
终于成功了~~
收获:
以后用KRBD时,可以通过查表清楚的知道哪些版本支持什么样的特性啦。
为防止老外删除文章,我还是把表格拷贝过来比较保险:
- 问题解决记录 - KRBD Map失败
- 问题解决记录
- 问题解决记录
- Mysql启动失败问题解决
- phpmyadmin登录失败问题解决
- mysql启动失败 问题解决
- lispbox启动失败问题解决
- Mysql启动失败问题解决
- Nessus下载失败问题解决
- MySQL安装失败问题解决
- PostgreSQL问题解决--连接失败
- Jsoncpp链接失败问题解决
- Aero开启失败问题解决
- 打包失败问题解决
- Kindeditor上传失败问题解决
- Linux认证失败问题解决
- hexo deploy失败问题解决
- Mongodb启动失败问题解决
- myfocus官方网站已经挂掉,相关下载已经从googlecode转到csdn
- Failover失效转移详解
- CentOS 在本地部署repo
- eclipse启动tomcat无法访问
- 基于catalog 的RMAN 备份与恢复
- 问题解决记录 - KRBD Map失败
- node.js 入门笔记
- Android来电,显示悬浮窗
- 用户空间与内核空间,进程上下文与中断上下文[总结]
- ActionBarSherlock导入Android Studio gradl额failed
- zzuli 1812: sort
- springmvc带文件上传的form表单提交,用 jquery的ajaxfileupload或使用dropzone上传图文详解
- 基于catalog 创建RMAN存储脚本
- C# 关键字extern用法