您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“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如何結合使用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。