内容简介:Ceph实验室:第二课:集成ceph与openstack
本课程介绍如何配置ceph作为Nova的后端存储,用来存放vm的临时磁盘。
集成ceph与Openstack Nova
安装ceph客户端
集成ceph与Openstack的第一步就是要在openstack的节点上安装ceph客户端(一些ceph命令行 工具 和连接ceph集群需要的libraries)。
$ ceph-deploy install --cli --no-adjust-repos openstack $ ceph-deploy config push openstack
创建pool
给虚拟机的ephemeral disks创建一个ceph pool。
$ ceph osd pool create compute 256 pool 'compute' created
给nova客户端创建一个ceph用户和密钥
ceph get-or-create 会产生一个用户名和一个秘钥,并将它们保存在ceph monitor上。下面命令给nova客户端创建一个用户和秘钥,并赋予合适的权限。
[root@ceph ceph]# ceph auth get-or-create client.compute mon "allow r" osd "allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=compute, allow rx pool=images" [client.compute] key = AQBLHcJYm1XxBBAA75foQeQ72bT3GsGVDzBZcg==
分发秘钥给nova客户端,并修改秘钥文件的group和权限
客户端需要ceph秘钥去访问集群,ceph创建了一个默认用户client.admin,他有足够的权限去访问ceph集群。不能把这个用户共享给其他客户端。更好的做法是用分开的秘钥,创建一个新的ceph用户去访问特定的pool。
[root@ceph ceph]# ceph auth get-key client.compute | ssh openstack tee /etc/ceph/ceph.client.compute.keyring AQBLHcJYm1XxBBAA75foQeQ72bT3GsGVDzBZcg== [root@openstack]# chgrp nova /etc/ceph/ceph.client.compute.keyring [root@openstack]# chmod 0640 /etc/ceph/ceph.client.compute.keyring
建一个临时秘钥,用来配置libvirt
[root@ceph ceph]# ceph auth get-key client.compute | ssh openstack tee /etc/ceph/client.compute AQBLHcJYm1XxBBAA75foQeQ72bT3GsGVDzBZcg==
把密钥配置在计算节点的ceph.conf文件
compute节点,其进程需要nova的密钥环文件。
vi /etc/ceph/ceph.conf [client.compute] keyring = /etc/ceph/ceph.client.compute.keyring
集成ceph和libvirt
libvirt进程需要有访问ceph集群的权限。所以需要把nova客户端的密钥存进libvirt。在计算节点上把nova客户端密钥加进libvirt 。
生成一个uuid
[root@openstack]# uuidgen c1261b3e-eb93-49bc-aa13-557df63a6347
创建libvirt secret文件,设置uuid
<secret ephemeral="no" private="no"> <uuid>c1261b3e-eb93-49bc-aa13-557df63a6347</uuid> <usage type="ceph"> <name>client.compute secret</name> </usage> </secret> [root@openstack]# virsh secret-define --file ceph.xml Secret c1261b3e-eb93-49bc-aa13-557df63a6347 created
把nova密钥加进libvirt
[root@openstack]# virsh secret-set-value --secret c1261b3e-eb93-49bc-aa13-557df63a6347 --base64 $(cat client.compute.key) Secret value set [root@openstack]# virsh secret-list UUID Usage --------------------------------------------------- c1261b3e-eb93-49bc-aa13-557df63a6347 ceph client.compute secret
配置nova
修改/etc/nova/nova.conf文件里的libvirt部分,增加ceph的认证信息。libvirt会使用该用户来和Ceph集群进行连接和认证。
[libvirt] images_rbd_pool=compute images_type=rbd rbd_secret_uuid=c1261b3e-eb93-49bc-aa13-557df63a6347 rbd_user=compute
重启nova compute服务
[root@openstack]#systemctl restart openstack-nova-compute
测试
新建一个vm,然后检查VM’s ephemeral disk是否健在ceph上。
[root@ceph ceph]# rbd -p compute ls 24e6ca7f-05c8-411b-b23d-6e5ee1c809f9_disk [root@ceph ceph]# rbd -p compute info 24e6ca7f-05c8-411b-b23d-6e5ee1c809f9_disk rbd image '24e6ca7f-05c8-411b-b23d-6e5ee1c809f9_disk': size 1024 MB in 256 objects order 22 (4096 kB objects)
参考文档
- http://xuxiaopang.com/2016/10/09/ceph-quick-install-el7-jewel/
- http://www.stratoscale.com/blog/storage/integrating-ceph-storage-openstack-step-step-guide/
- ceph cookbook书
以上所述就是小编给大家介绍的《Ceph实验室:第二课:集成ceph与openstack》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Ceph实验室:第二课:集成ceph与openstack
- Ceph实验室:第四课:Ceph监控
- Ceph实验室:第四课:Ceph监控
- 2018Android实验室CV培训总结
- 复旦NLP实验室NLP上手教程
- Ceph实验室:第三课:Ceph服务管理
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Designing for Emotion
Aarron Walter / Happy Cog / 2011-10-18 / USD 18.00
Make your users fall in love with your site via the precepts packed into this brief, charming book by MailChimp user experience design lead Aarron Walter. From classic psychology to case studies, high......一起来看看 《Designing for Emotion》 这本书的介绍吧!