OpenStack Glance 对接 Ceph RBD 存储
最后更新于
最后更新于
默认情况下, Ceph 块设备使用 rbd
存储池。你可以用任何可用存储池。建议为 Cinder 和 Glance 单独创建池。确保 Ceph 集群在运行,然后创建存储池。
运行着 glance-api
的主机被当作 Ceph 客户端,它们都需要 ceph.conf
文件。
在运行 glance-api
的节点上你需要 librbd
的 Python 绑定:
如果你启用了 ,需要创建 Glance 用户:
把 client.glance
的密钥环复制到适当的节点,并更改所有权:
Glance 可使用多种后端存储 image 。要让它默认使用 Ceph 块设备,按如下配置 Glance 。
编辑 /etc/glance/glance-api.conf
并把下列内容加到 [glance_store]
段下:
如果你想允许使用 image 的写时复制克隆,再添加下列内容到 [DEFAULT]
段下:
注意,这会通过 Glance API 暴露后端存储位置,所以此选项启用时 endpoint 不应该被公开访问。
禁用 Glance 缓存管理,以免 image 被缓存到 /var/lib/glance/image-cache/
下,假设你的配置文件里有 flavor = keystone+cachemanagement
:
glance-api
节点
建议配置如下 image 属性:
hw_scsi_model=virtio-scsi
: 添加 virtio-scsi 控制器以获得更好的性能、并支持 discard 操作;
hw_disk_bus=scsi
: 把所有 cinder 块设备都连到这个控制器;
hw_qemu_guest_agent=yes
: 启用 QEMU guest agent (访客代理)
os_require_quiesce=yes
: 通过 QEMU guest agent 发送 fs-freeze/thaw 调用