测试信息如下:

[root@ceph_1 ~]# ceph osd pool ls
rbd
chy_123
swimmingpool

#新建rbd 块:

rbd create swimmingpool/bar  --size 10G --image-format 2

#查看块信息:

rbd ls

#将rbd 块映射到主机:

rbd map  swimmingpool/bar

#报错内容如下

rbd: sysfs write failed

RBD image feature set mismatch. You can disable features unsupported by the kernel with "rbd feature disable".

In some cases useful info is found in syslog - try "dmesg | tail" or so.

rbd: map failed: (6) No such device or address

故障排查:

rbd 块ceph 支持两种格式:

rbd create  swimmingpool/bar --size 10G --image-format 2

--image-format format-id

选择用哪个对象布局,默认为 1 。

format 1 - 新建 rbd 映像时使用最初的格式。此格式兼容所有版本的 librbd 和内核模块,但是不支持较新的功能,像克隆。

format 2 - 使用第二版 rbd 格式, librbd 和 3.11 版以上内核模块才支持(除非是分拆的模块)。此格式增加了克隆支持,使得扩展更容易,还允许以后增加新功能。

为使用rbd 块新特性,使用格式2,在map 时发生以上报错:

查找官网相关资料,找到信息如下:

笔者安装的是jewel 版本,新建rbd块指定格式2,默认格式2的rbd 块支持如下特性,默认全部开启;

layering: 支持分层

striping: 支持条带化 v2

exclusive-lock: 支持独占锁

object-map: 支持对象映射(依赖 exclusive-lock )

fast-diff: 快速计算差异(依赖 object-map )

deep-flatten: 支持快照扁平化操作

journaling: 支持记录 IO 操作(依赖独占锁)

笔者使用系统为centos7.2 ,内核版本 3.10.0-327.18.2.el7.x86_64,根据报错内容提示可知,服务器系统内核版本,不支持有些格式2 的新特性导致。可以使用

--image-feature   选项指定使用特性,不用全部开启。我们的需求仅需要使用快照等特性,开启layering即可,配置方式如下:

rbd create swimmingpool/bar --size 10G --image-format 2 --image-feature  layering

[root@ceph_1 ~]# rbd map swimmingpool/bar
/dev/rbd1

[root@ceph_1 ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0  100G  0 disk
├─sda1        8:1    0    1G  0 part /boot
└─sda2        8:2    0   99G  0 part
  ├─cl-root 253:0    0   50G  0 lvm  /
  ├─cl-swap 253:1    0  7.8G  0 lvm  [SWAP]
  └─cl-home 253:2    0 41.2G  0 lvm  /home
sdb           8:16   0  100G  0 disk
├─sdb1        8:17   0   95G  0 part /var/lib/ceph/osd/ceph-0
└─sdb2        8:18   0    5G  0 part
sr0          11:0    1  680M  0 rom 
rbd0        252:0    0    1G  0 disk
rbd1        252:16   0   10G  0 disk    ///可以看到可以映射成功10G

rbd map  swimmingpool/bar  #可以正常映射;

#经测试,内核版本 3.10,仅支持此特性(layering),其它特性需要使用更高版本内核,或者从新编译内核加载特性模块才行。

看看format 1 format 2的区别在哪

format: 2
 features: layering, exclusive-lock, object-map, fast-diff, deep-flatten       /////格式2 支持的功能较多,但是低内核又不支持那么多,只能把其他的功能禁用掉使用

ceph集群jewel版本 rbd 块map 报错-故障排查的更多相关文章

  1. CEPH-2:rbd功能详解及普通用户应用ceph集群

    ceph集群rbd使用详解 一个完整的ceph集群,可以提供块存储.文件系统和对象存储. 本节主要介绍rbd存储功能如何灵活的使用,集群背景: $ ceph -s cluster: id: 53717 ...

  2. 分布式存储系统之Ceph集群RBD基础使用

    前文我们了解了Ceph集群cephx认证和授权相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16748149.html:今天我们来聊一聊ceph集群的 ...

  3. CentOS 7 搭建 Ceph 集群(nautilus 版本)

    搭建 Ceph 分布式集群( nautilus 版本 ) 一.服务器环境说明 主机名 角色 IP地址 ceph-admin ceph-deploy 192.168.92.21 ceph-node1 m ...

  4. ceph集群部署(基于jewel版)

    环境 两个节点:ceph1.ceph2 ceph1: mon.mds.osd.0.osd.1 ceph2: osd.2.osd.3 网络配置: ceph1: 管理网络,eth0,10.0.0.20 存 ...

  5. 二十八. Ceph概述 部署Ceph集群 Ceph块存储

    client   :192.168.4.10 node1 :192.168.4.11 ndoe2 :192.168.4.12 node3 :192.168.4.13   1.实验环境 准备四台KVM虚 ...

  6. Ubuntu 18.04.5 LTS Ceph集群之 cephx 认证及使用普通用户挂载RBD和CephFS

    1.cephx认证和授权 1.1 CephX认证机制 Ceph使用cephx协议对客户端进行身份认证: 1.每个MON都可以对客户端进行身份验正并分发密钥, 不存在单点故障和性能瓶颈 2. MON会返 ...

  7. CEPH集群操作入门--配置

      参考文档:CEPH官网集群操作文档   概述 Ceph存储集群是所有Ceph部署的基础. 基于RADOS,Ceph存储集群由两种类型的守护进程组成:Ceph OSD守护进程(OSD)将数据作为对象 ...

  8. Ceph 集群整体迁移方案(转)

    场景介绍:在我们的IDC中,存在着运行了3-6年的Ceph集群的服务器,这些服务器性能和容量等都已经无法满足当前业务的需求,在购入一批高性能机器后,希望将旧机器上的集群整体迁移到新机器上,当然,是保证 ...

  9. 分布式存储ceph集群实践

    1.环境规划,三台主机 10.213.14.51/24            10.213.14.52/24       10.213.14.53/24    集群网络 172.140.140.11. ...

随机推荐

  1. Unity喷墨效果Shader实现

    笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D实战核心技术详解 ...

  2. [置顶] 曙光到来,我的新书《Android进阶之光》已出版

    独立博客版本请点击这里 由来 2016年我开始建立了自己的知识体系,所有的文章都是围绕着这个体系来写,随着这个体系的慢慢成长,开始有很多出版社联系我写书,因为比较看好电子工业出版社,就顺理成章的开始了 ...

  3. Vue(2) : Vue for Gank.io

    简介 最近学习Vue2.0,由于不懂前端知识,学习过程比较缓慢.文档学习过程如下: 通读vue官文 通读vue-router 2中文指南 学习axios 通读vuex官文 数据接口 再次感谢代码家的G ...

  4. Android 编程 AMapLocationClientOption 类中的 setMockEnable (高德地图 com.amap.api.location.AMapLocationClientOption 中的类)

    setMockEnable 高德地图中 AMapLocationClientOption 中有一个方法是设置APP是否接受模拟定位的设置,就是方法 setMockEnable //设置是否允许模拟位置 ...

  5. LARAVEL 路由原理分析

    <?php class App {    protected $routes = [];    protected $responseStatus = '200 OK';    protecte ...

  6. iOS常识名词解释 2016/04/05

    Bundle : http://www.cnblogs.com/BigPolarBear/archive/2012/03/28/2421802.html http://blog.sina.com.cn ...

  7. BZOJ3675 Apio2014 序列分割 【斜率优化】

    Description 小H最近迷上了一个分隔序列的游戏.在这个游戏里,小H需要将一个长度为n的非负整数序列分割成k+1个非空的子序列.为了得到k+1个子序列,小H需要重复k次以下的步骤: 1.小H首 ...

  8. BZOJ4903 UOJ300 CTSC2017 吉夫特 【Lucas定理】

    BZOJ4903 UOJ300 CTSC2017 吉夫特 弱弱地放上题目链接 Lucas定理可以推一推,发现C(n,m)是奇数的条件是n" role="presentation&q ...

  9. 在编写异步方法时,使用 ConfigureAwait(false) 避免使用者死锁

    我在 使用 Task.Wait()?立刻死锁(deadlock) 一文中站在类库使用者的角度看 async/await 代码的死锁问题:而本文将站在类库设计者的角度来看死锁问题. 阅读本文,我们将知道 ...

  10. 用idea将javaweb项目部署到tomcat

    之前在网上找的一些web项目都是用eclipse开发的,想把这些项目导入到idea中,然后部署到tomcat中,在网上找了很多教程,很多都不靠谱,发现网上很多配置都是多余的,其实很多只需要按idea默 ...