使用rbd存储的前提,需要内核支持rbd
# 查看内核是否支持rbd,不报错就支持
modprobe rbd
lsmod|grep rbd
pool
pool是ceph存储数据时的逻辑分区,每个pool包含一定数量的PG,PG里的对象被映射到不同OSD
上,因此pool是分布到整个集群的。
除了隔离数据,我们也可以分别对不同的pool设置不同的优化策略,比如副本数、数据清洗次数、
数据块对象大小等。
image
它将被条带化为N个子数据块,每个数据块将会被以对象(object)形式保存在RADOS对象存储中。
# 创建一个pool池
[root@master1-admin ceph-deploy]# ceph osd pool create testpool 256
# 查看当前pool数据
[root@master1-admin ceph-deploy]# ceph osd lspools
# 创建rbd
[root@master1-admin ceph-deploy]# rbd create testpool/myrbd --size 10240
# 查看创建的rbd
[root@master1-admin firstrbd]# rbd ls --pool testpool
myrbd
# 映射块设备到自己机器
[root@master1-admin ceph-deploy]# rbd feature disable testpool/myrbd object-map fast-diff deep-flatten # 需要禁用,否则挂载不成功
[root@master1-admin ceph-deploy]# rbd map testpool/myrbd
/dev/rbd0
# 挂载使用
mkdir /mnt/firstrbd
mkfs.ext4 -m0 /dev/rbd0
mount /dev/rbd0 /mnt/firstrbd