Skip to content

openstack_ceph

遇见王斌 edited this page Nov 7, 2017 · 2 revisions

openstack 与 ceph

1 简介

openstack 主要有 3 个组件可以和 ceph 对接

  • Glance: Openstack 的镜像管理组件,和 Ceph 对接之后镜像存储在 Ceph 集群里面
  • Cinder:Openstack 的云硬盘组件,和 Ceph 对接之后云硬盘将存储在 Ceph 集群里面
  • Nova:Openstack 的计算资源组件,和 Ceph 对接之后云主机的系统卷将会存储在 Ceph 集群里面

2 使用

openstack 要使用 ceph 块设备,需要先安装 QEMU, libvirt 与 openstack, 并把 ceph 存储配置完成

+--------------------+
|      openstack     |
+--------------------+
|      libvirt       |
 --------------------+
          |
          | configure
          |
+--------------------+
|        qemu        |
+--------------------+
|       librbd       |
+--------------------+
|     librados       |
+-------+-+----------+
|  osds | | monitors |
+-------+ +----------+

3 注意

假如希望利用 ceph 启动虚拟机,但 ceph 不支持 qcow2 作为虚拟机磁盘格式,glance image 格式必须是 raw

3.1 qcow2 和 raw

  • raw 格式是原始镜像,会直接当作一个块设备给虚拟机来使用,至于文件里面的空洞,则是由宿主机的文件系统来管理的,linux 下的文件系统可以很好的支持空洞的特性。
    • 当创建了一个 100G 的 raw 格式的文件,ls 看的时候,可以看到这个文件是 100G 的,但是用 du 来看,这个文件会很小。
  • qcow2 是 kvm 支持的磁盘镜像格式,我们创建一个 100G 的 qcow2 磁盘之后,无论用 ls 来看,还是 du 来看,都是很小的。

3.2 转换方法

qemu-img convert -O qcow2 disk.raw disk.qcow2
qemu-img convert -O raw disk.qcow2 disk.raw