使用不安装 Ceph-common 的方式映射 Rbd Kernel
laurentbarbe
要能够映射 Rbd 块设备,不一定需要安装 Ceph 二进制文件(尤其是 ceph-common),您也可以使用 rbd 模块提供的内核路径 /sys/bus/rbd。
$ modprobe rbd
$ echo "192.168.0.1,192.168.0.2,192.168.0.3 name=admin,secret=AQBG5SlSmLELKBAA6sKvuJyRWUmFl2R5E1ukTw== rbd testrbd" > /sys/bus/rbd/add
启动 rc 脚本
要在启动时映射 rbd 并在关闭时取消映射,可以使用此修改后的 rc 脚本 http://cephnotes.ksperis.com/downloads/rbdmap
您不需要 ceph-common
$ apt-cache policy ceph-common
ceph-common:
Installed: (none)
Candidate: 0.67.4-0ubuntu2
Version table:
0.67.4-0ubuntu2 0
500 http://fr.archive.ubuntu.com/ubuntu/ saucy/main amd64 Packages
您需要一个带有 mon_host 变量的 ceph.conf 文件
$ egrep 'mon[ _]host' /etc/ceph/ceph.conf
mon_host = 192.168.0.1,192.168.0.2,192.168.0.3
以及格式如下的 /etc/ceph/rbdmap 文件
$ cat /etc/ceph/rbdmap
rbd/testrbd id=admin,secret=AQBG5SlSmLELKBAA6sKvuJyRWUmFl2R5E1ukTw==
小心使用“id=”和“secret=”(而不是 user、key 或 keyfile…)。然后,下载此修改后的 rc 脚本
$ wget http://cephnotes.ksperis.com/downloads/rbdmap -O /etc/init.d/rbdmap
$ chmod +x /etc/init.d/rbdmap
$ update-rc.d rbdmap defaults
测试
$ /etc/init.d/rbdmap start
* Starting RBD Mapping [ OK ]
* Mounting all filesystems... [ OK ]
$ ls /dev/rbd/*
testrbd
$ /etc/init.d/rbdmap stop
* Stopping RBD Mapping [ OK ]
$ ls /dev/rbd/*
ls: cannot access /dev/rbd/*: No such file or directory