Ceph与OpenStack整合(将云主机磁盘镜像文件直接建在ceph集群vms存储池中)
2016-05-26 14:33
591 查看
思路及实现:
1.承接前两篇文章,镜像服务的存储 池为images,云盘的存储池为volumes,目前要完成openstack新建云主机磁盘镜像文件直接存放到ceph中去(在ceph中新建存储池vms)。
云主机在启动时需要有能访问镜像存储池images和云盘存储池volumes的能力,所以你需要在ceph集群的monitor节点新建存储池vms,同时新建账号,该账号具有对vms,images,
以及volumes三个存储池的rwx权限
2.这里请务必注意一个细节:回忆第一篇ceph与openstack整合仅作为云盘挂载,我们新建了一个账号client.cinder,该账号对volumes池有rwx权限,然后我们分发配置文件和client.cinder账号的秘钥文件给cinder-volume节点,分发client.cinder的秘钥文件给计算节点,同时利用该秘钥文件制作了uuid,然后将该uuid写入到了compute节点的配置文件中,二此uuid唯一(这也就意味着:计算节点秘钥uuid----->client.cinder用户------>(rwx)ceph的volumes池),所以我们必须在ceph集群原有账号client.cinder的基础上新增对vms,images的rwx权限,然后cinder和compute节点公用client.cinder账号)
ceph auth caps client.cinder mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=libvirt-pool' -o /etc/ceph/ceph.client.cinder.keyring
scp /etc/ceph/ceph.client.cinder.keyring 所有计算节点:/etc/ceph
scp /etc/ceph/ceph.client.cinder.keyring 所有计算节点:/etc/ceph
3.导出账号的秘钥文件分发给所有计算节点(如果已经做过ceph与openstack整合仅提供云盘功能,这一步可以跳过)
在所有计算节点执行下列操作:
cat > secret.xml <<EOF
<secret ephemeral='no' private='no'>
<usage type='ceph'>
<name>client.cinder secret</name>
</usage>
</secret>
EOF
virsh secret-define --file secret.xml
找到刚刚定义的client.cinder用户的uuid
virsh secret-list
找到ceph提供的秘钥文件的秘钥cat /etc/ceph/ceph.client.cinder.keyring
virsh secret-set-value $(virsh secret-list |grep client.cinder |awk '{print $1}') --base64 $(cat /etc/ceph/ceph.client.cinder.keyring |awk 'NR==2{print $3}')
4.修改配置文件
vim /etc/nova/nova.conf
rbd_user=cinder
rbd_secret_uuid=dda10a4e-c03c-b029-ef07-ce86e7a07bdd ------------------>值为:virsh secret-list |grep client.cinder |awk '{print $1}
images_type = rbd #只有在 boot disk 放在 ceph 中才需要配置这个,否则,设置为 qcow2
images_rbd_pool = vms
images_rbd_ceph_conf = /etc/ceph/ceph.conf
disk_cachemodes="network=writeback"
inject_password = false
inject_key = false
inject_partition = -2
live_migration_flag="VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST,VIR_MIGRATE_TUNNELLED"
/etc/init.d/openstack-nova-compute restart
本文出自 “一个好人” 博客,请务必保留此出处http://egon09.blog.51cto.com/9161406/1783462
1.承接前两篇文章,镜像服务的存储 池为images,云盘的存储池为volumes,目前要完成openstack新建云主机磁盘镜像文件直接存放到ceph中去(在ceph中新建存储池vms)。
云主机在启动时需要有能访问镜像存储池images和云盘存储池volumes的能力,所以你需要在ceph集群的monitor节点新建存储池vms,同时新建账号,该账号具有对vms,images,
以及volumes三个存储池的rwx权限
2.这里请务必注意一个细节:回忆第一篇ceph与openstack整合仅作为云盘挂载,我们新建了一个账号client.cinder,该账号对volumes池有rwx权限,然后我们分发配置文件和client.cinder账号的秘钥文件给cinder-volume节点,分发client.cinder的秘钥文件给计算节点,同时利用该秘钥文件制作了uuid,然后将该uuid写入到了compute节点的配置文件中,二此uuid唯一(这也就意味着:计算节点秘钥uuid----->client.cinder用户------>(rwx)ceph的volumes池),所以我们必须在ceph集群原有账号client.cinder的基础上新增对vms,images的rwx权限,然后cinder和compute节点公用client.cinder账号)
ceph auth caps client.cinder mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=libvirt-pool' -o /etc/ceph/ceph.client.cinder.keyring
scp /etc/ceph/ceph.client.cinder.keyring 所有计算节点:/etc/ceph
scp /etc/ceph/ceph.client.cinder.keyring 所有计算节点:/etc/ceph
3.导出账号的秘钥文件分发给所有计算节点(如果已经做过ceph与openstack整合仅提供云盘功能,这一步可以跳过)
在所有计算节点执行下列操作:
cat > secret.xml <<EOF
<secret ephemeral='no' private='no'>
<usage type='ceph'>
<name>client.cinder secret</name>
</usage>
</secret>
EOF
virsh secret-define --file secret.xml
找到刚刚定义的client.cinder用户的uuid
virsh secret-list
找到ceph提供的秘钥文件的秘钥cat /etc/ceph/ceph.client.cinder.keyring
virsh secret-set-value $(virsh secret-list |grep client.cinder |awk '{print $1}') --base64 $(cat /etc/ceph/ceph.client.cinder.keyring |awk 'NR==2{print $3}')
4.修改配置文件
vim /etc/nova/nova.conf
rbd_user=cinder
rbd_secret_uuid=dda10a4e-c03c-b029-ef07-ce86e7a07bdd ------------------>值为:virsh secret-list |grep client.cinder |awk '{print $1}
images_type = rbd #只有在 boot disk 放在 ceph 中才需要配置这个,否则,设置为 qcow2
images_rbd_pool = vms
images_rbd_ceph_conf = /etc/ceph/ceph.conf
disk_cachemodes="network=writeback"
inject_password = false
inject_key = false
inject_partition = -2
live_migration_flag="VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST,VIR_MIGRATE_TUNNELLED"
/etc/init.d/openstack-nova-compute restart
本文出自 “一个好人” 博客,请务必保留此出处http://egon09.blog.51cto.com/9161406/1783462
相关文章推荐
- linux设备驱动之工作队列学习(workqueue)
- Linux资源管理之cgroups简介
- Mac修改了Zsh之后频繁source ~/.bash_profile问题
- Linux_Ubuntu下驱动开发环境搭建(14.04, 15亲测可行)
- 电商网站安全手册
- 测试网站并发量
- Win10 下Cmake编译配置 Opencv3.1 + Cuda7.5 + VS2013
- 10年感触:架构是什么?——消灭架构!
- Linux进程与线程的区别
- nginx匹配规则
- 转 Linux驱动发开,usb设备的probe全过程
- linux用tar命令,快速生成一个大文件
- Nginx动静分离
- linux c++ 绑定函数得简单实现
- Could not load project* from super dev mode server when deployed to weblogic/jboss/tomcat?
- Linux下ntpdate时间同步
- linux数据库和文件夹定时备份删除
- centos 6.5 安装配置 mantis
- Linux下用sox修改wav文件的采样率
- Linux查看系统配置常用命令