如何从 fstab 挂载 rbd 设备

hoo*_*enz 2 linux ceph

根据这个链接:

http://docs.ceph.com/docs/master/start/quick-rbd/

我可以安装一个 rbd,它工作得很好。我的问题是如何从 fstab 执行此操作?

最终目标是将它安装到 /var/lib/mysql

我只找到了 cephfs 挂载的例子,但没有找到 rbd。

hoo*_*enz 7

回答我自己的问题。我最初在这里找到了答案(就在诺亚将他的链接发布到论坛之前)

基本上,文件 rbdmap(我以前见过但没有意识到它的重要性)是让它工作的关键。

注意:我正在使用 ceph-deploy。这可能重要也可能不重要。

init 脚本 /etc/init.d/rbdmap 和 /etc/ceph/rbdmap 是它的关键。

首先,您需要启用 init 脚本。在 Ubuntu/Debian 下,这可以实现。

sudo update-rc.d rbdmap defaults
Run Code Online (Sandbox Code Playgroud)

然后编辑 /etc/ceph/rbdmap 并根据给定的格式添加 rbd 条目。默认情况下,rbdmap 文件包含:

# RbdDevice     Parameters
#poolname/imagename id=client,keyring=/etc/ceph/ceph.client.keyring
Run Code Online (Sandbox Code Playgroud)

在那里输入新条目。

对于我的 mysql 磁盘:

rbd/mysql   id=admin,keyring=/etc/ceph/ceph.client.admin.keyring
Run Code Online (Sandbox Code Playgroud)

我的 fstab 文件包含:

/dev/rbd/rbd/mysql /mnt/mysql-data  ext4    defaults,noatime,_netdev        0       0
Run Code Online (Sandbox Code Playgroud)

这将在启动时安装并在关闭时卸载。_netdev 参数指定在网络启动和初始化之前不会挂载 rbd 设备。