ceph rbd与openstack如何结合使用

发布时间:2021-12-17 10:14:17 作者:小新
来源:亿速云 阅读:403

这篇文章主要为大家展示了“ceph rbd与openstack如何结合使用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ceph rbd与openstack如何结合使用”这篇文章吧。

openstack通过libvirt调用qemu来启动具体的虚拟机,qemu通过librbd这个库与librados通信,而librados是ceph集群的统一API库,这样一来openstack就与ceph rbd联系起来了。

需要在ceph端进行的操作如下:

1、为ceph client创建一系列可用的pools。

    根据ceph client的需求及其分类,为client创建一系列的pools。创建pools需要根据当前集群中OSDs的数量合理的分配PGs数量以及对象复制的个数。

    #ceph osd pool create volumes 128     创建一个名字为volumes的pool且该pool中的PGs数量为128;

    #ceph osd pool create images 128

    #ceph osd pool create vms 128

2、为ceph client创建一系列用户及其使用集群的权限。

    ceph client不同的用户对集群有不同的使用要求,因此需要根据client用户的实际需求为其设置访问集群的权限。

    #ceph auth get-or-create client.cinder mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=volumes allow rwx pool=images allow rwx pool=vms'

    #ceph auth get-or-create client.glance mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=images'

3、将ceph配置文件及其ceph client用户信息分别上传给所需的client节点。

    openstack可以通过glance、cinder以及nova使用ceph,因此需要将ceph配置文件以及ceph client的权限文件上传给glance、cinder以及nova节点。其中ceph配置文件的位置位于client节点的/etc/ceph/ceph.conf下,ceph client的权限文件位于client节点的/etc/ceph目录下,对于glance节点权限文件位于/etc/ceph/ceph.client.glance.keyring,对于cinder节点权限文件位于/etc/ceph/ceph.client.cinder.keyring,对于nova节点权限文件位于/etc/ceph/ceph.client.cinder.keyring(nova节点使用cinder用户来访问ceph集群);

    除了client普通用户使用的keyring外,还需要将ceph集群上的ceph.client.admin.keyring也上传到所有client节点的/etc/ceph/目录下;

4、glance节点的配置。

    对于glance节点需要修改glance节点的配置文件,使得glance节点可以使用ceph。glance节点的配置文件位于/etc/glance/glance-api.conf。在该文件中需要添加如下信息:

[glance_store]

default_store = rbd

store = rbd

rbd_store_ceph_conf = /etc/ceph/ceph.conf

rbd_store_user = glance

rbd_store_pool = images

rbd_store_chunk_size = 8

另外,为了支持copy-on-write clone images功能,需要在配置文件的default节处添加如下信息:

[default]

show_image_direct_url = True

另外,为了不让glance使用本地cache,需要在配置文件的paste_deploy节处设置如下信息:

[paste_deploy]

flavor = keystone

5、cinder节点配置。

    对于cinder节点需要修改cinder节点的配置文件,使得cinder节点可以使用ceph。cinder节点的配置文件位于/etc/cinder/cinder.conf。在该文件中需要添加如下信息:

#cinder volume

volume_driver = cinder.volume.drivers.RBDDriver

rbd_pool = volumes

rbd_user = cinder

rbd_secret_uuid = {uuid}

rbd_ceph_conf = /etc/ceph/ceph.conf

rbd_flatten_volume_from_snapshot = True

rbd_max_clone_depth = 5

rbd_store_chunk_size = 4

rados_connect_timeout = -1

glance_api_version = 2

设置了rbd_user和rbd_secret_uuid,则允许nova使用通过cinder使用ceph。

6、nova节点配置。

    1)需要获取到client.cinder的key值。该值可以在ceph集群中的任何节点通过如下命令获得且上传到nova节点:    

    #ceph auth get-key client.cinder | ssh {nova-ip} tee ceph.client.cinder.key

    2)需要在nova节点上使用uuidgen命令生成一个随机数:

    #uuidgen

    3)在nova节点上为libvirt使用ceph,创建secret.xml文件以及将该文件以及随机数添加到libvirt中,具体操作如下:

    #cat > secret.xml <<EOF

<secret ephemeral='no' private='no'>

    <uuid>{uuid}</uuid>

    <usage type='ceph'>

        <name>client.cinder secret</name>

    </usage>

</secret>

EOF

    #virsh secret-define --file secret.xml

    #virsh secret-set-value --secret {uuid} --base64 $(cat secret.xml)   

    4)配置nova节点的配置文件,使之可以使用ceph集群。nova节点的配置文件位于/etc/nova/目录下的nova.conf和nova-compute.conf这两个配置文件。这里我们修改nova-compute.conf这个配置文件,在该文件中添加如下内容:

[libvirt]

images_type = rbd

images_rbd_pool = vms

images_rbd_ceph_conf = /etc/ceph/ceph.conf

rbd_user = cinder

rbd_secret_uuid = {uuid}

disk_cachemodes = "network=writeback"

7、重新启动glance、cinder以及nova节点上对应的服务。

    #service glance-control api restart

    #service cinder-volume restart

    #service nova-compute restart

以上是“ceph rbd与openstack如何结合使用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. 闲聊Ceph目前在中国的发展&Ceph现状
  2. ceph与openstack的对接集成

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

openstack ceph rbd

上一篇:Session与Token身份验证怎么实现

下一篇:python匿名函数怎么创建

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》