技术堆栈
- Ceph的一个使用场景是结合Openstack来提供云存储服务,Openstack到Ceph之间的调用堆栈就是下面这个结构:
三大模块
Openstack对接Ceph,有3大模块可以使用Ceph:
- 镜像
Openstack的Glance组件提供镜像服务,可以将Image直接存储在Ceph中。
- 操作系统盘
Openstack的Nova组件提供计算服务,一个虚机的创建必然需要操作系统,也就少不了系统盘,系统盘可以使用Ceph来提供。
- 非操作系统盘
Openstack的Cinder组件提供块存储服务,也就是我们物理机中的普通磁盘,也可以通过Ceph来提供。
- 以上3个组件从Openstack角度来说,是不同的3个模块,提供的服务也不同,但对于Ceph来说,都是一个Rbd Image,也就是一个块存储。
走的是同样的API,但是在一些属性和参数间存在一些差异。
具体操作
-
创建存储池
针对Openstack的3个不同服务,需要把存储资源池隔离开,也就是每个服务一个Pool:// 创建volumes池,对应Cinder服务 ceph osd pool create volumes 128 // 创建images池,对应Glance服务 ceph osd pool create images 128 // 创建vms池,对应Nova服务 ceph osd pool create vms 128 // 创建backups池,对应Cinder-backup服务。但这个backup在同一Ceph集群中,意义不大,既然是做备份的话,就应该跨集群或者跨机房、跨区域来达到备份容灾的目的。 ceph osd pool create backups 128
- 安装Ceph相关包
-
在glance-api的主机上安装python-rbd包
-