Ceph块设备-内核模块操作

前言

本博客是Ceph官方文档操作手册的实践记录,本章节操作手册

获取映像列表

# 这里在本地虚拟机中不指定pool名称会报错
# swimmingpool是上一博客中创建的
# rdb list
$ rbd list swimmingpool
bar

映射块设备

# 用 rbd 把映像名映射为内核模块。必须指定映像名、存储池名、和用户名。若 RBD 内核模块尚未加载, rbd 命令会自动加载。
# sudo rbd map {pool-name}/{image-name} --id {user-name}
$ sudo rbd map swimmingpool/bar
/dev/rbd0

查看已映射块设备

# rbd showmapped
$ rbd showmapped
id pool         image snap device
0  swimmingpool bar   -    /dev/rbd0

挂载目录到已映射块设备

# 查看新创建的磁盘/dev/rbd0
$ lsblk
# 格式化/dev/rbd0
$ sudo mkfs.xfs /dev/rbd0
meta-data=/dev/rbd0              isize=512    agcount=8, agsize=32768 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=1024   swidth=1024 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
# 创建一个挂载点
$ sudo mkdir /mnt/zzm-test
# 挂载目录到/dev/rbd0
$ sudo mount /dev/rbd0 /mnt/zzm-test

取消块设备映射

要取消块设备映射,用 rbd 命令、指定 unmap 选项和设备名(即为方便起见使用的同名块设备映像)。

# sudo rbd unmap /dev/rbd/{poolname}/{imagename}
# 这里需要注意的是, /dev/rbd是固定参数,不需要修改/dev/rbd的值
$ sudo rbd unmap /dev/rbd/swimmingpool/bar
$ rbd showmapped

问题汇总及解决

此链接中记录了本章节遇到的问题,并给出了解决方法
包括如下问题:
1.

sudo rbd map swimmingpool/bar --id admin
rbd: sysfs write failed
RBD image feature set mismatch. You can disable features unsupported by the kernel with "rbd feature disable swimmingpool/bar 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
发布了21 篇原创文章 · 获赞 0 · 访问量 2611

猜你喜欢

转载自blog.csdn.net/u012720518/article/details/105517304