好资料 就是得融合呀 |
进一步补充: OpenStack 和 Ceph 集成 也许Ceph最有意思的部分就是同OpenStack的集成了。所以在讨论Ceph RadosGW之前,我将先对这部分进行展示。我假定你在看下面的OpenStack同Ceph的集成指南之前,已经架设成功并让Ceph集群(Bobtail->)和OpenStack(Folsom->)运行了起来。Ceph通过利用libvirt和OpenStack一起使用块设备,其中的libvirt配置了QEMU同librbd的接口。OpenStack中有两个部分同Ceph的块设备进行了集成:
Ceph 集群 创建卷池和图像池:
增加两个池的复制水平:
现在,为两个池创建 Ceph 客户端和密钥环:
将上面的密钥环复制到 glance-api并将 cinder-volume 节点和 ceph.conf 文件拷贝到 /etc/ceph/目录下。运行 nova-compute 的主机无需密钥环。替代的,他们讲密钥储存于 libvirt。要创建 libvirt 密钥,你需要来自 client.volumes.keyring 的密钥。你可以通过下面命令取得:
当需要时,拷贝这个密钥到 nova-compute 节点。在设置完成后,你可以删除它。同时,要安装 Ceph 组件,你需要 Ceph 官方库(ubuntu):
在你拷贝 Ceph 集群的 ceph.conf 到 glance-api,且 cinder-volume 节点更新密钥环路径之后:
在 glance-api 主机,你需要为 librbd 绑定 Python:
更新你的 glance-api 配置文件(/etc/glance/glance-api.conf):
并重启 glance-api 服务:
创建临时的 secret.xml 文件:
从创建的 secret.xml 文件创建密钥:
设定 libvirt 使用上面的密钥:
将密钥记录下载,以便于使用上面的命令添加节点。你也需要使用这个密钥来配置 cinder。重启 nova-compute:
从Ceph 源更新 librbd 到最新版本。 Ubuntu 所带版本较老,无法工作:
Cinder 卷 在 cinder-volume 主机,安装客户端命令行工具:
更新 cinder 配置 (/etc/cinder/cinder.conf):
在 cinder 启动脚本配置文件(/etc/init/cinder-volume.conf)的“stop on runlevel [!2345]” 之后添加如下代码:
重启 cinder-volume 服务:
所有完成后,你应该可以储存 glance 图像,创建卷,通过卷将它们附加到运行机器或启动机器上。同时,Ceph 兼容敏捷API,你可以将对象直接横向传递给 Ceph。更多信息将在我说道 RadosGW 时提及。 |