五 OpenStack的Cinder元件詳解

2022-10-10 22:30:13 字數 2439 閱讀 2957

塊儲存服務,為執行例項提供穩定的資料塊儲存服務。

塊儲存服務,提供對 volume 從建立到刪除整個生命週期的管理。

1.作業系統獲得儲存空間的方式一般有兩種:

2.第一種裸硬碟的方式叫做 block storage(塊儲存),每個裸硬碟通常也稱作 volume(卷) 第二種叫做檔案系統儲存。nas 和 nfs 伺服器,以及各種分布式檔案系統提供的都是這種儲存。

塊儲存服務提供對 volume 從建立到刪除整個生命週期的管理。從 instance 的角度看,掛載的每乙個 volume 都是一塊硬碟。openstack 提供 block storage service 的是 cinder,其具體功能是:

1. cinder採用的是鬆散的架構理念,由cinder-api統一管理外部對cinder的呼叫,cinder-scheduler負責排程合適的節點去構建volume儲存。volume-provider通過driver負責具體的儲存空間,然後cinder內部依舊通過訊息佇列queue溝通,解耦各子服務支援非同步呼叫。

2. cinder-sheduler通過filter進行刪選,允許使用第三方的filter,自定義篩選內容。

1.cinder-api:接收 api 請求,呼叫 cinder-volume 執行操作。cinder-api 對接收到的 http api 請求會做如下處理:

2.cinder-scheduler:cinder 可以有多個儲存節點,當需要建立 volume 時,cinder-scheduler 會根據儲存節點的屬性和資源使用情況選擇乙個最合適的節點來建立 volume。

3.cinder-volume:cinder-volume 在儲存節點上執行,openstack 對 volume 的操作,最後都是交給 cinder-volume 來完成的。cinder-volume 自身並不管理真正的儲存裝置,儲存裝置是由 volume provider 管理的。cinder-volume 與 volume provider 一起實現 volume 生命週期的管理。

4.volume provider:資料的儲存裝置,為 volume 提供物理儲存空間。 cinder-volume 支援多種 volume provider,每種 volume provider 通過自己的 driver 與cinder-volume 協調工作。

5.message queue:cinder 各個子服務通過訊息佇列實現程序間通訊和相互協作。因為有了訊息佇列,子服務之間實現了解耦,這種鬆散的結構也是分布式系統的重要特徵。

使用者向 cinder-api傳送建立volume的請求

cinder-api對請求做一些必要處理後,通過 messaging將建立訊息傳送給cinder-scheduler

cinder-scheduler從 messaging 獲取到 cinder-api發給它的訊息,然後執行排程演算法,從若干計儲存點中選出節點 a

cinder-scheduler通過 messaging 將建立訊息傳送給儲存節點a

儲存節點 a 的 cinder-volume從 messaging 中獲取到 cinder-scheduler發給它的訊息,然後通過 driver 在 volume provider 上建立 volume。

五分鐘了解什麼是Openstack

什麼是openstack openstack是全球雲計算技術專家和開發者為公有雲和私有雲聯合協作完成的開源雲計算平台。這個專案通過實現簡單 超大規模以及特性豐富等特點為所有型別的雲提供解決方案。這項技術包含了很多相關的專案用以為雲基礎架構的解決方案提供各種元件。openstack的幕後英雄 由rac...

OpenStack建設企業私有雲要解決五大問題

openstack已經成為一種趨勢,但發行版openstack尚不完美,企業要建成私有雲必須預先充分了解發行版openstack的缺點,並尋求專業openstack提供商的幫助與合作,才能揚長避短,真正發揮openstack的優勢,建成最大化企業競爭優勢的私有雲。openstack在企業裡如何用好?...

OpenStack建設企業私有雲要解決五大問題

openstack已經成為一種趨勢,但發行版openstack尚不完美,企業要建成私有雲必須預先充分了解發行版openstack的缺點,並尋求專業openstack提供商的幫助與合作,才能揚長避短,真正發揮openstack的優勢,建成最大化企業競爭優勢的私有雲。openstack在企業裡如何用好?...