手动编译 QEMU 源码,开启对 Ceph RBD 的支持。QEMU 版本 4.0.50

1. 问题描述
最近尝试使用 Ceph 作为 KVM 虚拟机的镜像存储方案,已经搭建好了三节点的 Ceph 集群。
先是在本地使用virsh
定义了名为rbd
的 Ceph 存储池:
注意:为了简便起见,暂时关闭了
cephx
认证。生产环境请务必启用
使用virt-install
生成虚拟机的 XML 配置文件:
ceph-test.xml
内容如下:
然而在启动虚拟机时出现了问题:
报错信息提示 QEMU 不支持rbd
协议,突然想起来这台机器上的 QEMU 是自己手动编译的,推测是编译的时候并未开启对 Ceph RBD 的支持。检查一下果然:
并没有rbd
的身影。没办法,只好重新编译一下了。
2. 配置时启用 RBD
注意:
- 关于如何从源码编译安装 QEMU,请参考之前的文章:编译和安装 QEMU
- 本文仅添加对 Ceph RBD 的支持
进入 QEMU 源码目录(此处版本为4.0.50
):
上次配置时使用的参数如下:
只需添加--enable-rbd
,即:
配置前还需安装一些依赖包,可根据错误提示自行搜索安装。例如 Ubuntu 需要安装下面三个包:
配置完成后检查一下:
可以看到已经开启了对 Ceph RBD 的支持。
3. 编译安装 QEMU
之后即可正常启动使用 Ceph RBD 的虚拟机,问题解决。
参考资料
相关文章
- 通过 libvirt 使用 Ceph RBD | Ceph Documentation
- QEMU 与块设备 | Ceph Documentation
- 使用 Ceph 作为 QEMU KVM 虚拟机的存储 - 冬日の草原
- OpenStack 使用 Ceph 存储后端创建虚拟机快照原理剖析 | int32bit’s Blog
- OpenStack 使用 Ceph 存储,Ceph 到底做了什么? | int32bit’s Blog
- libvirt 使用多个 Ceph 集群 | 李睿的博客
- CentOS KVM + Ceph | 李小波
- 初始 Ceph | jeremy 的技术点滴
- virt-install 工具安装基于 rbd 磁盘的虚拟机 | opengers
- QEMU3 - 使用 Ceph 来存储 QEMU 镜像 | 三木的博客
- 使用 Ceph 来存储 QEMU 镜像 | 腾讯云+社区
- Ceph 常用命令 | CSDN
- Ceph 运维常用指令 | 51CTO
- OpenStack 对接 Ceph 时的错误 | Linux 公社
- KVM + Ceph RBD 快照创建问题 | 51CTO
- SOSP19’ Ceph 的十年经验总结:文件系统是否适合做分布式文件系统的后端 | Ceph 开源社区
- 通过 libvirt 使用 Ceph 块设备 | 51CTO
- Ceph 基础知识和基础架构认识 | 博客园
- 验证 RBD 的缓存是否开启 | 磨渣
- 管理 Ceph 缓存池 | 博客园
- Ceph 的正确玩法之 SSD 作为 HDD 的缓存池 | 华云数据