您的位置:首页 > 运维架构

使用Ceph作为OpenStack的后端存储

2016-04-16 16:09 585 查看


概述


libvirt配置了librbd的QEMU接口,通过它可以在OpenStack中使用Ceph块存储。Ceph块存储是集群对象,这意味着它比独立的服务器有更好的性能。

在OpenStack中使用Ceph块设备,必须首先安装QEMU,libvirt和OpenStack,下图描述了 OpenStack和Ceph技术层次结构:





/article/3537570.html 我翻译的官方文档,仅供参考 ^
^。


系统规划



OpenStack集群:

控制节点:openstack(controller)192.168.1.131

计算节点:compute
192.168.1.132

存储节点:storage
192.168.1.133

Ceph集群:

monitor、mds、osd0 节点:openstack(controller)192.168.1.131

osd1:compute 192.168.1.132

osd2:storage 192.168.1.133

系统架构:





配置过程

Important:由于这里将两套集群服务部署在了同一组节点上,所以配置过程中省略了一些关于Ceph集群的配置。

创建存储池



?
设置Ceph客户端认证

在OpenStack节点执行如下命令:

?
为client.cinder,client.glance添加密钥文件来访问节点并改变属主:

?
运行nova-compute的节点nova-compute进程需要密钥文件。它们也存储client.cinder用户的密钥在libvirt。libvirt进程在Cinder中绑定块设备时需要用到它来访问集群。

在nova-compute节点创建一个临时的密钥副本:

?
配置Glance

编辑 /etc/glance/glance-api.conf并添加如下内容:

?
如果要启动镜像的写时复制功能,添加下面的 [DEFAULT] 部分:

?


配置Cinder

在openstack节点和storage节点编辑 /etc/cinder/cinder.conf配置文件并添加如下内容:

?
如果使用cephx验证,需要配置user和uuid:

?
配置Nova

为了挂载Cinder设备(普通设备或可引导卷),必须指明使用的用户及UUID。libvirt将使用期在Ceph集群中进行连接和验证:

?
编辑 /etc/nova/nova.conf并添加如下内容:

?
禁用文件注入。当启动一个实例的时候,nova通常会尝试打开rootfs。这时,nova注入一些数据,如密码、ssh 密钥,配置文件等到文件系统中。然而,这最好依靠元数据服务和cloud-init来完成。
在每个计算节点,编辑 /etc/nova/nova.conf 在 [libvirt] 标签添加:

?
重启服务

?
从块设备引导

Ceph后端存储状况:





Ceph不支持从qcow2格式的镜像引导,所以创建一个raw格式的镜像:





创建一个可引导卷:









从可引导卷创建一个实例:





查看Ceph存储状况:


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: