新聞中心
這篇文章主要介紹“如何使用Ceph作為OpenStack的后端存儲(chǔ)”,在日常操作中,相信很多人在如何使用Ceph作為OpenStack的后端存儲(chǔ)問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”如何使用Ceph作為OpenStack的后端存儲(chǔ)”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
站在用戶的角度思考問題,與客戶深入溝通,找到鳳山網(wǎng)站設(shè)計(jì)與鳳山網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、主機(jī)域名、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋鳳山地區(qū)。
概述
libvirt配置了librbd的QEMU接口,通過(guò)它可以在OpenStack中使用Ceph塊存儲(chǔ)。Ceph塊存儲(chǔ)是集群對(duì)象,這意味著它比獨(dú)立的服務(wù)器有更好的性能。
在OpenStack中使用Ceph塊設(shè)備,必須首先安裝QEMU,libvirt和OpenStack,下圖描述了 OpenStack和Ceph技術(shù)層次結(jié)構(gòu):
http://my.oschina.net/JerryBaby/blog/376580 我翻譯的官方文檔,僅供參考 ^ ^。
系統(tǒng)規(guī)劃
OpenStack集群:
控制節(jié)點(diǎn):openstack(controller)192.168.1.131
計(jì)算節(jié)點(diǎn):compute 192.168.1.132
存儲(chǔ)節(jié)點(diǎn):storage 192.168.1.133
Ceph集群:
monitor、mds、osd0 節(jié)點(diǎn):openstack(controller)192.168.1.131
osd1:compute 192.168.1.132
osd2:storage 192.168.1.133
系統(tǒng)架構(gòu):
配置過(guò)程
Important:由于這里將兩套集群服務(wù)部署在了同一組節(jié)點(diǎn)上,所以配置過(guò)程中省略了一些關(guān)于Ceph集群的配置。
創(chuàng)建存儲(chǔ)池
# ceph osd pool create volumes 128
# ceph osd pool create images 128
# ceph osd pool create vms 128
設(shè)置Ceph客戶端認(rèn)證
在OpenStack節(jié)點(diǎn)執(zhí)行如下命令:
# 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=vms, allow rx pool=images' # ceph auth get-or-create client.glance mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=images'
為client.cinder,client.glance添加密鑰文件來(lái)訪問節(jié)點(diǎn)并改變屬主:
# ceph auth get-or-create client.glance | ssh openstack sudo tee /etc/ceph/ceph.client.glance.keyring # ssh openstack sudo chown glance:glance /etc/ceph/ceph.client.glance.keyring # ceph auth get-or-create client.glance | ssh compute sudo tee /etc/ceph/ceph.client.glance.keyring # ssh compute sudo chown nova:nova /etc/ceph/ceph.client.glance.keyring # ceph auth get-or-create client.cinder | ssh compute sudo tee /etc/ceph/ceph.client.cinder.keyring # ssh compute sudo chown nova:nova /etc/ceph/ceph.client.cinder.keyring # ceph auth get-or-create client.cinder | ssh storage sudo tee /etc/ceph/ceph.client.cinde.keyring # ssh storage sudo chown cinder:cinder /etc/ceph/ceph.client.cinder.keyring
運(yùn)行nova-compute的節(jié)點(diǎn)nova-compute進(jìn)程需要密鑰文件。它們也存儲(chǔ)client.cinder用戶的密鑰在libvirt。libvirt進(jìn)程在Cinder中綁定塊設(shè)備時(shí)需要用到它來(lái)訪問集群。
在nova-compute節(jié)點(diǎn)創(chuàng)建一個(gè)臨時(shí)的密鑰副本:
# uuidgen 457eb676-33da-42ec-9a8c-9293d545c337 # cat > secret.xml <457eb676-33da-42ec-9a8c-9293d545c337 client.cinder secret EOF # sudo virsh secret-define --file secret.xml # sudo virsh secret-set-value --secret 457eb676-33da-42ec-9a8c-9293d545c337 --base64 $(cat client.cinder.key) && rm client.cinder.key secret.xml
配置Glance
編輯 /etc/glance/glance-api.conf并添加如下內(nèi)容:
[DEFAULT] default_store = rbd ... [glance_store] stores = rbd rbd_store_pool = images rbd_store_user = glance rbd_store_ceph_conf = /etc/ceph/ceph.conf rbd_store_chunk_size = 8
如果要啟動(dòng)鏡像的寫時(shí)復(fù)制功能,添加下面的 [DEFAULT] 部分:
show_image_direct_url = True
配置Cinder
在openstack節(jié)點(diǎn)和storage節(jié)點(diǎn)編輯 /etc/cinder/cinder.conf配置文件并添加如下內(nèi)容:
volume_driver = cinder.volume.drivers.rbd.RBDDriver rbd_pool = volumes rbd_ceph_conf = /etc/ceph/ceph.conf rbd_flatten_volume_from_snapshot = false rbd_max_clone_depth = 5 rbd_store_chunk_size = 4 rados_connect_timeout = -1 glance_api_version = 2
如果使用cephx驗(yàn)證,需要配置user和uuid:
rbd_user = cinder rbd_secret_uuid = 457eb676-33da-42ec-9a8c-9293d545c337
配置Nova
為了掛載Cinder設(shè)備(普通設(shè)備或可引導(dǎo)卷),必須指明使用的用戶及UUID。libvirt將使用期在Ceph集群中進(jìn)行連接和驗(yàn)證:
rbd_user = cinder rbd_secret_uuid = 457eb676-33da-42ec-9a8c-9293d545c337
編輯 /etc/nova/nova.conf并添加如下內(nèi)容:
[libvirt] images_type = rbd images_rbd_pool = vms images_rbd_ceph_conf = /etc/ceph/ceph.conf rbd_user = cinder rbd_secret_uuid = 457eb676-33da-42ec-9a8c-9293d545c337 libvirt_live_migration_flag="VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST"
禁用文件注入。當(dāng)啟動(dòng)一個(gè)實(shí)例的時(shí)候,nova通常會(huì)嘗試打開rootfs。這時(shí),nova注入一些數(shù)據(jù),如密碼、ssh 密鑰,配置文件等到文件系統(tǒng)中。然而,這最好依靠元數(shù)據(jù)服務(wù)和cloud-init來(lái)完成。
在每個(gè)計(jì)算節(jié)點(diǎn),編輯 /etc/nova/nova.conf 在 [libvirt] 標(biāo)簽添加:
libvirt_inject_password = false libvirt_inject_key = false libvirt_inject_partition = -2
重啟服務(wù)
# sudo glance-control api restart # sudo service nova-compute restart # sudo service cinder-volume restart # sudo service cinder-backup restar
從塊設(shè)備引導(dǎo)
Ceph后端存儲(chǔ)狀況:
Ceph不支持從qcow2格式的鏡像引導(dǎo),所以創(chuàng)建一個(gè)raw格式的鏡像:
創(chuàng)建一個(gè)可引導(dǎo)卷:
從可引導(dǎo)卷創(chuàng)建一個(gè)實(shí)例:
查看Ceph存儲(chǔ)狀況:
到此,關(guān)于“如何使用Ceph作為OpenStack的后端存儲(chǔ)”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!
新聞標(biāo)題:如何使用Ceph作為OpenStack的后端存儲(chǔ)
本文鏈接:http://fisionsoft.com.cn/article/jjojjh.html