jewel版本新增加了一个驱动NBD,允许librbd实现一个内核级别的rbd

NBD相比较于kernel rbd:

  • rbd-ko是根据内核主线走的,升级kernel
  • rbd需要升级到相应的内核,改动太大
  • rbd-ko的开发要慢于librbd,需要很多的时间才能追赶上librbd

rbd-nbd是通过librbd这个用户空间通过nbd的内核模块实现了内核级别的驱动,稳定性和性能都有保障

怎么理解用户态和内核态?

  • librbd就是用户态,一般的kvm对接的就是librbd的
  • kernel rbd就是内核态,这个是一个内核模块,是内核直接与osd交互的,一般来说内核态的性能会优于用户态

下面来做下基本的操作:

创建一个image

[root@lab8106 ~]# rbd create testnbdrbd -s 10G

映射这个image

[root@lab8106 ~]#  rbd-nbd map rbd/testnbdrbd
/dev/nbd0

查询已经映射的nbd

[root@lab8106 ~]#  rbd-nbd list-mapped
/dev/nbd0

上面说了这么多,那么来点直观的认识,nbd带来的好处

查询下image的信息

[root@lab8106 ~]# rbd info testnbdrbd
rbd image 'testnbdrbd':
size 10240 MB in 2560 objects
order 22 (4096 kB objects)
block_name_prefix: rbd_data.10ad2ae8944a
format: 2
features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
flags:

jewel版本默认开启了features: layering, exclusive-lock, object-map, fast-diff, deep-flatten这么多的属性,而这些属性是kernel-rbd还不支持的

所以做rbd map的时候就会出现下面的问题:

[root@lab8106 ~]# rbd map  testnbdrbd
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_default_features = 3

那么现在开启属性还行想用块设备方式怎么用,就可以用nbd了

[root@lab8106 ~]#  rbd-nbd map rbd/testnbdrbd
/dev/nbd0

这样就可以用了。不用担心接口的问题了,因为只要librbd支持的属性,nbd就默认支持了

查询rbd和nbd对应关系

[root@lab101 mnt]# rbd-nbd list-mapped
/dev/nbd0
[root@lab101 mnt]# cat /sys/block/nbd0/pid
93059
[root@lab101 mnt]# ps -ef|grep 93059
root 93059 1 0 14:30 pts/1 00:00:00 rbd-nbd map testnbd
root 97346 8580 0 14:36 pts/1 00:00:00 grep --color=auto 93059

rbd几种常用的模式和新模式图:

本篇ceph版本

ceph version 10.2.1 (3a66dd4f30852819c1bdaa8ec23c795d4ad77269)

变更记录

Why Who When
创建 武汉-运维-磨渣 2016-05-19
增加映射关系查询方法 武汉-运维-磨渣 2018-03-27

ceph的jewel新支持的rbd-nbd的更多相关文章

  1. yum安装Ceph指定Jewel版本

    前言 通过yum安装指定的rpm包,这个一般是 yum --showduplicates list ceph | expand ,然后去通过yum安装指定的版本即可,这个在hammer下是没有问题的, ...

  2. Tapdata Cloud 版本上新 | 支持通知自配置,支持GP、MQ数据源,界面更友好!

    Tapdata Cloud https://cloud.tapdata.net Tapdata Cloud 是国内首家异构数据库实时同步云平台,目前支持Oracle.MySQL.PG.SQL Serv ...

  3. 使用HTML5新支持的搭建WebRtc环境来作为视频通讯

    发现如果再重新设计这块的话,又会有不同的思路.对于可定位能力,我们可以全息日志采集,将每个用户在整个系统的走向异步的抓取下来,再同步到专门的日志分析系统,在这个系统中可以根据用户号码.订单号进行过滤分 ...

  4. Spring3.1 对Bean Validation规范的新支持(方法级别验证)

    上接Spring提供的BeanPostProcessor的扩展点-1继续学习. 一.Bean Validation框架简介 写道Bean Validation standardizes constra ...

  5. ceph集群jewel版本 rbd 块map 报错-故障排查

    测试信息如下: [root@ceph_1 ~]# ceph osd pool lsrbdchy_123swimmingpool #新建rbd 块: rbd create swimmingpool/ba ...

  6. SUSE Ceph RBD Mirror - Storage 6

    Ceph采用的是强一致性同步模型,所有副本都必须完成写操作才算一次写入成功,这就导致不能很好地支持跨域部署,因为如果副本在异地,网络延迟就会很大,拖垮整个集群的写性能.因此,Ceph集群很少有跨域部署 ...

  7. Ceph Jewel 10.2.3 环境部署

    Ceph 测试环境部署 本文档内容概要 测试环境ceph集群部署规划 测试环境ceph集群部署过程及块设备使用流程 mon节点扩容及osd节点扩容方法 常见问题及解决方法 由于暂时没有用到对象存储,所 ...

  8. Ceph RBD 的实现原理与常规操作

    目录 文章目录 目录 前文列表 RBD RBD Pool 的创建与删除 块设备的创建与删除 块设备的挂载与卸载 新建客户端 块设备的扩缩容 RBD 块设备的 Format 1 VS Format 2 ...

  9. 如何统计Ceph的RBD真实使用容量

    前言 ceph的rbd一直有个问题就是无法清楚的知道这个分配的空间里面到底使用了多少,这个在Jewel里面提供了一个新的接口去查询,对于老版本来说可能同样有这个需求,本篇将详细介绍如何解决这个问题 查 ...

随机推荐

  1. java流程控制之习题

     经过近段时间的学习,差不多也掌握了java的流程控制以及基本知识,下面就来一起练练习题吧,看能做出来几道. 第一道题:假设小明有100块钱,这时候小明去超市需要换零钱,超市提供的零钱有1元面值,2元 ...

  2. Linux发行版教你如何选 给入门者的选择通法

    Linux的发行版何止琳琅满目,简直是乱入你眼. 本篇将介绍选择发行版的经验和通用法则,主要会从PC角度去谈. 更新于2020年,初次发布于2017年 选择发行版需考虑哪些因素 选择发行版时需要考虑的 ...

  3. golang拾遗:为什么我们需要泛型

    从golang诞生起是否应该添加泛型支持就是一个热度未曾消减的议题.泛型的支持者们认为没有泛型的语言是不完整的,而泛型的反对者们则认为接口足以取代泛型,增加泛型只会徒增语言的复杂度.双方各执己见,争执 ...

  4. 第十九章 keepalived高可用

    一.keepalived高可用 1.什么是高可用 一般是指2台机器启动着完全相同的业务系统,当有一台机器down机了,另外一台服务器就能快速的接管,对于访问的用户是无感知的. 2.高可用使用的工具 1 ...

  5. PyCharm搭配github错误处理

    ssh -T git@github.com 验证时 报错Could not open a connection to your authentication agent. 删除前面生成的.ssh文件 ...

  6. leaflet实现台风动态轨迹

    leaflet平台是我最新使用的webGIS平台,该平台比较轻巧以下是我展示台风动态路径展示 1.首先为大家展示一下动态台风所使用数据 上面中采用标准json格式数据,data数据中,points是对 ...

  7. 没事学学KVM(四)虚拟机基础管理

    上次学完虚机的创建.开关机.备份配置文件等,今天学学其他几个常用的虚机管理命令: 1.重命名  方法一:virsh domrename old-name new-name virsh # list I ...

  8. Bitmap缩放(三)

    质量压缩 public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle ...

  9. ZooKeeper CentOS7上安装

    下载http://www.apache.org/dyn/closer.cgi/zookeeper(我下的是zookeeper-3.4.14) 1.创建 /usr/local/services/zook ...

  10. 【总结】HTTP

    一.HTTP 1.http HTTP 是一种 超文本传输协议(Hypertext Transfer Protocol),HTTP 是一个在计算机世界里专门在两点之间传输文字.图片.音频.视频等超文本数 ...