日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Cinder 组件详解 - 每天5分钟玩转 OpenStack(47)

發(fā)布時間:2023/12/31 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Cinder 组件详解 - 每天5分钟玩转 OpenStack(47) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Cinder 組件詳解 - 每天5分鐘玩轉(zhuǎn) OpenStack(47)

本節(jié)我們將詳細(xì)講解 Cinder 的各個子服務(wù)。

cinder-api

cinder-api 是整個 Cinder 組件的門戶,所有 cinder 的請求都首先由 nova-api 處理。cinder-api 向外界暴露若干 HTTP REST API 接口。在 keystone 中我們可以查詢 cinder-api 的 endponits。

客戶端可以將請求發(fā)送到 endponits 指定的地址,向 cinder-api 請求操作。 當(dāng)然,作為最終用戶的我們不會直接發(fā)送 Rest API 請求。OpenStack CLI,Dashboard 和其他需要跟 Cinder 交換的組件會使用這些 API。

cinder-api 對接收到的 HTTP API 請求會做如下處理:

  • 檢查客戶端傳人的參數(shù)是否合法有效

  • 調(diào)用 cinder 其他子服務(wù)的處理客戶端請求

  • 將 cinder 其他子服務(wù)返回的結(jié)果序列號并返回給客戶端

  • cinder-api 接受哪些請求呢?簡單的說,只要是 Volume 生命周期相關(guān)的操作,cinder-api 都可以響應(yīng)。大部分操作都可以在 Dashboard 上看到。

    打開 Volume 管理界面

    點擊下拉箭頭,列表中就是 cinder-api 可執(zhí)行的操作。

    cinder-scheduler

    創(chuàng)建 Volume 時,cinder-scheduler 會基于容量、Volume Type 等條件選擇出最合適的存儲節(jié)點,然后讓其創(chuàng)建 Volume。

    這個部分比較多,我們下一次單獨討論。

    cinder-volume

    cinder-volume 在存儲節(jié)點上運行,OpenStack 對 Volume 的操作,最后都是交給 cinder-volume 來完成的。 cinder-volume 自身并不管理真正的存儲設(shè)備,存儲設(shè)備是由 volume provider 管理的。cinder-volume 與 volume provider 一起實現(xiàn) volume 生命周期的管理。

    通過 Driver 架構(gòu)支持多種 Volume Provider

    接著的問題是:現(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:

    存儲節(jié)點在配置文件 /etc/cinder/cinder.conf 中用 volume_driver 選項配置使用的driver:

    這里 LVM 是我們使用的 volume provider。

    定期向 OpenStack 報告計算節(jié)點的狀態(tài)

    在前面 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 的容量使用信息。

    實現(xiàn) volume 生命周期管理

    Cinder 對 volume 的生命周期的管理最終都是通過 cinder-volume 完成的,包括 volume 的 create、extend、attach、snapshot、delete 等,后面我們會詳細(xì)討論。

    下一節(jié)我們將詳細(xì)討論 cinder-scheduler 如何篩選 cinder-volume。

    轉(zhuǎn)載于:https://blog.51cto.com/xiaoqinglang/1890595

    總結(jié)

    以上是生活随笔為你收集整理的Cinder 组件详解 - 每天5分钟玩转 OpenStack(47)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。