Skip to content

Latest commit

 

History

History
69 lines (49 loc) · 1.84 KB

通过内核模块使用块存储.md

File metadata and controls

69 lines (49 loc) · 1.84 KB

如果想通过内核模块来挂载Ceph RBD块设备,要求您的内核版本要在2.6.32版本以上。

1 要挂载块设备,先要查看当前集群中的镜像列表:

# sudo rbd ls

2 映射块设备:

通过内核模块用 rbd 把镜像映射到主机。必须指定镜像名、存储池名和用户名。若 RBD 内核模块尚未加载,rbd命令会自动加载。

# sudo rbd map {pool-name}/{image-name} --id {user-name}

例如

# sudo rbd map rbd/test1 --id admin

如果你启用了 cephx 认证,还必须提供密钥,可以用keyring文件或密钥文件指定密钥。

# sudo rbd map rbd/myimage --id admin --keyring /path/to/keyring
# sudo rbd map rbd/myimage --id admin --keyfile /path/to/file

3 查看已经map了的块设备

当然在做进一步操作时,需要先确认,对应的rbd是否mount在某个目录下面。通过如下命令可以查看所有的镜像。

# sudo rbd showmapped

4 rbd镜像map到系统之后,您就可以在系统中看到对应的块设备,并且像访问普通块设备一样访问它,比如我们使用dd往块设备中写一些数据。

# lsblk -f
NAME   FSTYPE  LABEL    UUID                                 MOUNTPOINT
sr0    iso9660 config-2 2016-06-21-03-05-51-00
vda
└─vda1 xfs              0afec14b-7c9f-4d75-943f-c0150922568d /
vdb
├─vdb1 xfs              1fa7cd05-2d7c-4176-a21c-1b9add0f4b1c /var/lib/ceph/osd/ceph-3
└─vdb2
rbd0
# dd if=/dev/zero of=/dev/rbd0 bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 2.31578 s, 45.3 MB/s

5 取消已经映射的块设备

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

# sudo rbd unmap /dev/rbd/{poolname}/{imagename}

例如:

# sudo rbd unmap /dev/rbd/