首页 » DevOps » ceph » ceph存储之RBD块存储

ceph存储之RBD块存储

 

RBD(RADOS Block Device):Ceph块设备,使用精简置备策略,大小可调且将数据”条带化“存储到集群内的多个 OSD。对外提供持久性块存储,通过内核模块或librbd库与Ceph集群进行通信,RBD块设备可以像磁盘一样被挂载到服务器上。

补充:什么是条带化技术?我们都知道单个磁盘的I/O(读写)和TPS(每秒数据的传输量)都存在瓶颈,当使用到这个瓶颈时,就会导致后面的进程访问需要等待。条带化技术就是将多个物理磁盘I/O的负载进行自动均衡,从而最大化提升I/O的并行能力,从而获得更好的性能。

1、创建池

查看当前所有池

修改ceph-whsir池的分类为rbd

查看ceph-whsir池的类型

2、调整池的副本数

调整ceph-whsir池的副本数为2

查看ceph-whsir池的副本数

查看ceph-whsir池的pg数

查看ceph-whsir池的pgp数

3、创建rbd

使用ceph-whsir池创建一个名称为rbd-whsir.img的块文件,大小设置为10G

创建命令另一种写法:rbd create ceph-whsir/rbd-whsir.img --size 10G

查看ceph-whsir池中rbd

查看ceph-whsir池中rbd-whsir.img块文件详细信息

另一种写法:rbd info -p ceph-whsir --image rbd-whsir.img

删除ceph-whsir池中的rbd-whsir.img块文件

4、内核级别挂载使用块设备

执行块设备映射

rbd: sysfs write failed
RBD image feature set mismatch. You can disable features unsupported by the kernel with "rbd feature disable ceph-whsir/rbd-whsir.img object-map fast-diff deep-flatten".
In some cases useful info is found in syslog - try "dmesg | tail".
rbd: map failed: (6) No such device or address

通过上面报错信息可以注意到rbd feature disable ceph-whsir/rbd-whsir.img object-map fast-diff deep-flatten由于某些不支持的特性导致报错,需要执行下面命令删除

查看features是否还存在以上这些特性

再次执行块设备映射

查看块设备

此时就可以把/dev/rbd0当成本地磁盘来使用了

5、格式化挂载/dev/rbd0

6、rbd块设备扩容

查看当前块设备大小

扩容至20G(注意只能扩容不能缩容)

如果是按照本文进行磁盘挂载的,可以使用以下命令扩容

 

原文链接:ceph存储之RBD块存储,转载请注明来源!

1