
关于在启动和关闭期间映射/取消映射 RBD 设备的快速操作指南。
我们将使用 ceph 包提供的启动脚本。 在启动序列期间,启动脚本首先查看 /etc/rbdmap 并相应地映射设备。 然后,它将触发 mount -a。 只要系统停止或重新启动,脚本就会取消挂载和取消映射设备。
由于您将不会从 Ceph 节点之一映射/取消映射 RBD 设备,因此您需要下载启动脚本并在客户端机器上安装它。
下载启动脚本并将其添加到启动序列
1
2
3
4
5
6
7
8
9
10
11
12
| $ sudo wget https://raw.github.com/ceph/ceph/a4ddf704868832e119d7949e96fe35ab1920f06a/src/init-rbdmap -O /etc/init.d/rbdmap
$ sudo chmod +x /etc/init.d/rbdmap
$ sudo update-rc.d rbdmap defaults
Adding system startup for /etc/init.d/rbdmap ...
/etc/rc0.d/K20rbdmap -> ../init.d/rbdmap
/etc/rc1.d/K20rbdmap -> ../init.d/rbdmap
/etc/rc6.d/K20rbdmap -> ../init.d/rbdmap
/etc/rc2.d/S20rbdmap -> ../init.d/rbdmap
/etc/rc3.d/S20rbdmap -> ../init.d/rbdmap
/etc/rc4.d/S20rbdmap -> ../init.d/rbdmap
/etc/rc5.d/S20rbdmap -> ../init.d/rbdmap
$ sudo apt-get install ceph-common -y
|
创建设备
1
| $ sudo rbd -p leseb create boot --size 10240
|
假设池 leseb 可以被用户 leseb 读取和写入,该用户拥有相应的密钥。
编辑 /etc/ceph/rbdmap
# RbdDevice Parameters
leseb/boot id=leseb,keyring=/etc/ceph/ceph.client.leseb.keyring
格式化您的设备
1
2
3
4
5
6
7
8
9
10
11
| $ sudo mkfs.xfs /dev/rbd/leseb/boot
log stripe unit (4194304 bytes) is too large (maximum is 256KiB)
log stripe unit adjusted to 32KiB
meta-data=/dev/rbd/rbd/boot isize=256 agcount=17, agsize=162816 blks
= sectsz=512 attr=2, projid32bit=0
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=1024 swidth=1024 blks
naming =version 2 bsize=4096 ascii-ci=0
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
|
然后使用以下内容编辑您的 fstab
/dev/rbd/leseb/boot /mnt/ xfs defaults,_netdev 0 0
手动测试
1
2
3
| $ sudo /etc/init.d/rbdmap start
* Starting RBD Mapping [ OK ]
* Mounting all filesystems... [ OK ]
|
验证
1
2
3
4
5
6
| $ sudo rbd showmapped
id pool image snap device
1 leseb boot - /dev/rbd1
$ sudo mount | grep mnt
/dev/rbd1 on /mnt type xfs (rw,_netdev)
|
显然,您绝对想重新启动系统来试用它:)