十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
這篇文章給大家介紹Cinder 組件,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
為延壽等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及延壽網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都做網(wǎng)站、成都網(wǎng)站制作、延壽網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

我們將詳細(xì)講解 Cinder 的各個子服務(wù)。
cinder-api 是整個 Cinder 組件的門戶,所有 cinder 的請求都首先由 nova-api 處理。cinder-api 向外界暴露若干 HTTP REST API 接口。在 keystone 中我們可以查詢 cinder-api 的 endponits。

點擊下拉箭頭,列表中就是 cinder-api 可執(zhí)行的操作。
創(chuàng)建 Volume 時,cinder-scheduler 會基于容量、Volume Type 等條件選擇出最合適的存儲節(jié)點,然后讓其創(chuàng)建 Volume。
這個部分比較多,我們下一次單獨討論。
cinder-volume 在存儲節(jié)點上運(yùn)行,OpenStack 對 Volume 的操作,最后都是交給 cinder-volume 來完成的。 cinder-volume 自身并不管理真正的存儲設(shè)備,存儲設(shè)備是由 volume provider 管理的。cinder-volume 與 volume provider 一起實現(xiàn) volume 生命周期的管理。
接著的問題是:現(xiàn)在市面上有這么多塊存儲產(chǎn)品和方案(volume provider),cinder-volume 如何與它們配合呢?
這就是我們之前討論過的 Driver 架構(gòu)。 cinder-volume 為這些 volume provider 定義了統(tǒng)一的接口,volume provider 只需要實現(xiàn)這些接口,就可以 Driver 的形式即插即用到 OpenStack 系統(tǒng)中。下面是 Cinder Driver 的架構(gòu)示意圖:

我們可以在 /opt/stack/cinder/cinder/volume/drivers/ 目錄下查看到 OpenStack 源代碼中已經(jīng)自帶了很多 volume provider 的 Driver:

這里 LVM 是我們使用的 volume provider。
在前面 cinder-scheduler 會用到 CapacityFilter 和 CapacityWeigher,它們都是通過存儲節(jié)點的空閑容量來做篩選。那這里有個問題:Cinder 是如何得知每個存儲節(jié)點的空閑容量信息的呢?
答案就是:cinder-volume 會定期向 Cinder 報告。
從 cinder-volume 的日志 /opt/stack/logs/c-vol.log 可以發(fā)現(xiàn)每隔一段時間,cinder-volume 就會報告當(dāng)前存儲節(jié)點的資源使用情況。
因為在我們的實驗環(huán)境中存儲節(jié)點使用的是 LVM,所以在上面的日志看到存儲節(jié)點通過“vgs”和”lvs”這兩個命令獲取 LVM 的容量使用信息。
Cinder 對 volume 的生命周期的管理最終都是通過 cinder-volume 完成的,包括 volume 的 create、extend、attach、snapshot、delete 等,后面我們會詳細(xì)討論。
關(guān)于Cinder 組件就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。