中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

openstack-理解cinder服務

發布時間:2020-06-12 23:27:18 來源:網絡 閱讀:3861 作者:羊草 欄目:云計算

    cinder是openstack中提供塊存儲服務的組件,主要是為虛擬機實例提供虛擬磁盤。

通過某種協議(SAS,SCSI,SAN,iSCSI等)掛接裸硬盤,然后分區、格式化創建的文件,或者直接使用裸硬盤存儲數據的方式叫做塊存儲,每個裸硬盤通常也叫做Volume(卷)。

通過nfs,cifs等協議,需要掛載的遠程文件系統,叫做文件系統存儲。

一、理解塊存儲服務

    在openstack中提供對卷從創建到刪除整個生命周期的管理,從虛擬機實例的角度來看,掛載的每一個卷都是一塊硬盤。openstack提供塊存儲服務的是cinder,具體功能如下:


    提供api使用戶能夠查詢和管理卷、卷快照以及卷類型

    提供scheuler調度卷創建請求,合理優化存儲資源的分配

    通過driver架構支持多種后端存儲方式

openstack-理解cinder服務



1)cinder-api

    接收api請求,調用cinder-volume


2)cindere-volume

    管理卷的服務,與volume provider協調工作,管理volume的生命周期,運行cinder-volum的服務的節點被稱作為存儲節點


3)cinder-scheduler

   scheduler通過調度算法選擇最合適的存儲節點創建卷


4)volume provider

數據的存儲設備,為volume提供物理存儲空間


5)Message Queue

cinder 各個子服務通過消息列隊實現進程間通信和相互協作


6)database

存儲cinder一些數據庫,一般使用mysql




二、cinder流程

openstack-理解cinder服務


    1)用戶 向 API 發送請求

    2)api對請求做一些必要的處理后,向messaging(rabbitmq)發送信息,讓scheduler創建一個volume

    3) scheduler從messaging獲取到api發送的消息,然后執行調度算法,從若干存儲節點選出節點A

    4) scheduler向messaging發送一條消息,讓存儲節點創建volume

    5)存儲節點的volume 從messaging中獲取到scheduler發給它的消息,然后通過driver在volume provider上創建volume


三、cinder組件詳解

    1、cinder-api

cinder-api是整個cinder組件的門戶,所有的cinder的請求都首先由nova-api處理,它向外界暴露了若干HTTP REST API接口,在kesystone中可以查詢到cinder-api的endpoints.

openstack endpoint list --service cinder

openstack-理解cinder服務

 客戶端可以將請求發送到endponits指定的地址,向cinder-api請求操作,大部分的api請求都可以在dashboard上進行

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

檢查客戶端傳入的參數是否合法有效

調用cinder其他子服務的處理客戶端請求

將cinder其他子服務返回的結果序列號返回給客戶端


2、cinder-scheduler

創建volume時,cinder-scheduler會基于容量、volume type等條件選擇出最合適的存儲節點,然后讓其創建volume

(1)filter scheduler

filter scheduler是cinder-schedule默認的調度器

在/etc/cinder/cinder.conf中,cinder通過schedulerdriver,schedulerdefault_filters和scheduler defaultweighers三個參數來配置cinder-scheuler

openstack-理解cinder服務

scheduler調度過程如下:

通過過濾器(filter)選擇滿足條件的存儲節點

通過權重計算(weighting)選擇最優(權重最大)的存儲節點


(2)filter

當filter scheduler需要執行調度操作時,會讓filter對計算節點進行判斷,filter返回true或者false

配置文件中schedulerdefaultfilters選項指定filter scheduler使用的filter,默認如下

openstack-理解cinder服務

filter scheduler將按照列表中順序依次過濾

<1> AvailabilityZoneFilter

為提高容災性和提供隔離服務,可以將存儲節點和計算節點劃分不同Availability zone,創建volume時,需要指定volume所屬的availability zone

openstack-理解cinder服務

在過濾時,會將使用AvailabilityZoneFilter將不屬于指定AvailabilityZone的存儲節點過濾掉


<2>CapacityFilter

創建volume時,用戶會指定volume的大小。CapactiyFilter的作用時將存儲空間不能滿足volume創建需求的存儲節點過濾掉

openstack-理解cinder服務

<3>CapabilitiesFilter

不同的Volume Provider有自己的特性,用戶通過創建volume時指定類型所需要的類型。

volume類型可以在管理員-系統-卷菜單中進行管理指定

openstack-理解cinder服務


(3)weighter

Filter  Scheduler通過scheduler_default_weighers指定計算權重的weigher,默認為CapacityWeigher

openstack-理解cinder服務



3、cinder-volume

openstack上對volume的操作,最后都是交給cinder-volume來完成的。

cinder-volume自身并不管理整整的存儲設備,存儲設備是由volume provider管理的,cinder-volume與volume provider一起實現volume生命周期管理,它通過dirver架構支持多種volume provider.

cinder-volume為這些volume provider 定義了統一的接口,volume provider只需要實現這些接口,就可以Driver的形式即插即用到openstack系統中。


openstack-理解cinder服務



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

openstack-理解cinder服務

默認是使用LVM 邏輯卷


cinder-volume會定期向cinder報告,從而讓cinder確認得知每個存儲節點的空閑容量信息

openstack-理解cinder服務


cinder對volume的生命周期管理最終都是通過cinder-volume完成的,包括volume的create,extend,attach,snapshot,delete等



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

高雄市| 陆川县| 靖安县| 那坡县| 武穴市| 将乐县| 三河市| 施秉县| 张北县| 临颍县| 岢岚县| 民县| 麻阳| 鹰潭市| 南丹县| 拉孜县| 邯郸县| 饶河县| 龙门县| 台湾省| 若尔盖县| 通州区| 车致| 克什克腾旗| 丰镇市| 本溪市| 秀山| 阿克苏市| 蒙自县| 禹城市| 双鸭山市| 台南市| 江安县| 富阳市| 清涧县| 儋州市| 霍林郭勒市| 玛多县| 阿城市| 绥宁县| 乃东县|