溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

ceph rbd與openstack如何結(jié)合使用

發(fā)布時(shí)間:2021-12-17 10:14:17 來源:億速云 閱讀:395 作者:小新 欄目:云計(jì)算

這篇文章主要為大家展示了“ceph rbd與openstack如何結(jié)合使用”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“ceph rbd與openstack如何結(jié)合使用”這篇文章吧。

openstack通過libvirt調(diào)用qemu來啟動(dòng)具體的虛擬機(jī),qemu通過librbd這個(gè)庫與librados通信,而librados是ceph集群的統(tǒng)一API庫,這樣一來openstack就與ceph rbd聯(lián)系起來了。

需要在ceph端進(jìn)行的操作如下:

1、為ceph client創(chuàng)建一系列可用的pools。

    根據(jù)ceph client的需求及其分類,為client創(chuàng)建一系列的pools。創(chuàng)建pools需要根據(jù)當(dāng)前集群中OSDs的數(shù)量合理的分配PGs數(shù)量以及對(duì)象復(fù)制的個(gè)數(shù)。

    #ceph osd pool create volumes 128     創(chuàng)建一個(gè)名字為volumes的pool且該pool中的PGs數(shù)量為128;

    #ceph osd pool create images 128

    #ceph osd pool create vms 128

2、為ceph client創(chuàng)建一系列用戶及其使用集群的權(quán)限。

    ceph client不同的用戶對(duì)集群有不同的使用要求,因此需要根據(jù)client用戶的實(shí)際需求為其設(shè)置訪問集群的權(quán)限。

    #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節(jié)點(diǎn)。

    openstack可以通過glance、cinder以及nova使用ceph,因此需要將ceph配置文件以及ceph client的權(quán)限文件上傳給glance、cinder以及nova節(jié)點(diǎn)。其中ceph配置文件的位置位于client節(jié)點(diǎn)的/etc/ceph/ceph.conf下,ceph client的權(quán)限文件位于client節(jié)點(diǎn)的/etc/ceph目錄下,對(duì)于glance節(jié)點(diǎn)權(quán)限文件位于/etc/ceph/ceph.client.glance.keyring,對(duì)于cinder節(jié)點(diǎn)權(quán)限文件位于/etc/ceph/ceph.client.cinder.keyring,對(duì)于nova節(jié)點(diǎn)權(quán)限文件位于/etc/ceph/ceph.client.cinder.keyring(nova節(jié)點(diǎn)使用cinder用戶來訪問ceph集群);

    除了client普通用戶使用的keyring外,還需要將ceph集群上的ceph.client.admin.keyring也上傳到所有client節(jié)點(diǎn)的/etc/ceph/目錄下;

4、glance節(jié)點(diǎn)的配置。

    對(duì)于glance節(jié)點(diǎn)需要修改glance節(jié)點(diǎn)的配置文件,使得glance節(jié)點(diǎn)可以使用ceph。glance節(jié)點(diǎn)的配置文件位于/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節(jié)處添加如下信息:

[default]

show_image_direct_url = True

另外,為了不讓glance使用本地cache,需要在配置文件的paste_deploy節(jié)處設(shè)置如下信息:

[paste_deploy]

flavor = keystone

5、cinder節(jié)點(diǎn)配置。

    對(duì)于cinder節(jié)點(diǎn)需要修改cinder節(jié)點(diǎn)的配置文件,使得cinder節(jié)點(diǎn)可以使用ceph。cinder節(jié)點(diǎn)的配置文件位于/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

設(shè)置了rbd_user和rbd_secret_uuid,則允許nova使用通過cinder使用ceph。

6、nova節(jié)點(diǎn)配置。

    1)需要獲取到client.cinder的key值。該值可以在ceph集群中的任何節(jié)點(diǎn)通過如下命令獲得且上傳到nova節(jié)點(diǎn):    

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

    2)需要在nova節(jié)點(diǎn)上使用uuidgen命令生成一個(gè)隨機(jī)數(shù):

    #uuidgen

    3)在nova節(jié)點(diǎn)上為libvirt使用ceph,創(chuàng)建secret.xml文件以及將該文件以及隨機(jī)數(shù)添加到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節(jié)點(diǎn)的配置文件,使之可以使用ceph集群。nova節(jié)點(diǎn)的配置文件位于/etc/nova/目錄下的nova.conf和nova-compute.conf這兩個(gè)配置文件。這里我們修改nova-compute.conf這個(gè)配置文件,在該文件中添加如下內(nèi)容:

[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、重新啟動(dòng)glance、cinder以及nova節(jié)點(diǎn)上對(duì)應(yīng)的服務(wù)。

    #service glance-control api restart

    #service cinder-volume restart

    #service nova-compute restart

以上是“ceph rbd與openstack如何結(jié)合使用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI