在不安装 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: 已安装: (无) 候选: 0.67.4-0ubuntu2 版本表: 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