一、常用接口如下

块接口 特点
KERNELRBD 内核态接口,可map到本地当块设备使用
LIBRBD 用户态接口,安全,稳定,开发快,特性支持多,带缓存
RBD-NBD Ceph宝石版本上新增功能,内核态接口,但调用的用户态 的LIBRBD,大块读写时较内核RBD快。

二、接口区别

2.1 rbd和rbd-nbd区别

rbd

  • 使用的是内核态的rbd模块访问ceph存储集群
  • 如果ceph版本比较新,内核版本较旧时,可能会导致image的feature内核不支持,导致map挂载不上
  • 如果ceph集群不可用,client端会夯死(进程状态为D),需要重启客户端甚至重启服务器进行修复

rbd-nbd:

  • 使用用户态librbd来访问ceph存储集群
  • 对内核版本无要求,支持image的所有feature
  • 通过librbd这个用户空间通过nbd的内核模块实现了内核级别的驱动,稳定性和性能都有保障
  • 如果ceph集群不可用,client不会夯死,会继续在挂载目录(已变成本地目录)进行读写操作;ceph集群恢复后,写在本地目录的数据如果不进行合并操作,可能会被新的远程目录覆盖

results matching ""

    No results matching ""