根据这个链接:
http://docs.ceph.com/docs/master/start/quick-rbd/
我可以安装一个 rbd,它工作得很好。我的问题是如何从 fstab 执行此操作?
最终目标是将它安装到 /var/lib/mysql
我只找到了 cephfs 挂载的例子,但没有找到 rbd。
回答我自己的问题。我最初在这里找到了答案(就在诺亚将他的链接发布到论坛之前)
基本上,文件 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 设备。