真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

openstack學(xué)習(xí)-理解存儲(chǔ)管理

openstack存儲(chǔ)類型

openstack中存儲(chǔ)可以分為兩類,如下圖所示:
openstack學(xué)習(xí)-理解存儲(chǔ)管理
目前openstack支持三種類型的持久存儲(chǔ):塊存儲(chǔ)、對(duì)象存儲(chǔ)和文件系統(tǒng)存儲(chǔ)

十余年專業(yè)網(wǎng)站建設(shè)公司歷程,堅(jiān)持以創(chuàng)新為先導(dǎo)的網(wǎng)站服務(wù),服務(wù)超過(guò)上千家企業(yè)及個(gè)人,涉及網(wǎng)站設(shè)計(jì)、成都app軟件開發(fā)、微信開發(fā)、平面設(shè)計(jì)、互聯(lián)網(wǎng)整合營(yíng)銷等多個(gè)領(lǐng)域。在不同行業(yè)和領(lǐng)域給人們的工作和生活帶來(lái)美好變化。

openstack學(xué)習(xí)-理解存儲(chǔ)管理
因?yàn)槟壳癕anila使用較少,重點(diǎn)為CInder和Swift
openstack學(xué)習(xí)-理解存儲(chǔ)管理

塊存儲(chǔ)Cinder

Cinder簡(jiǎn)介

Cinder在OpenStack中的位置和作用
openstack學(xué)習(xí)-理解存儲(chǔ)管理
Cinder的核心功能是對(duì)卷的管理,允許對(duì)卷、卷的類型、卷的快照、卷備份進(jìn)行處理。它為后端不同的存儲(chǔ)設(shè)備提供給了統(tǒng)一的接口,不同的塊設(shè)備服務(wù)廠商在Cinder中實(shí)現(xiàn)其驅(qū)動(dòng),可以被Openstack整合管理

Cinder的架構(gòu)

openstack學(xué)習(xí)-理解存儲(chǔ)管理

  • Cinder Client封裝Cinder提供rest接口,以CLI形式提供用戶使用
  • Cinder API對(duì)外提供rest API,對(duì)操作需求進(jìn)行解析,對(duì)API進(jìn)行路由尋找對(duì)應(yīng)的處理方法。包含卷的增刪改查(包括對(duì)源卷、鏡像、快照創(chuàng)建)、快照增刪改查、備份、volume type管理、掛載/卸載(Nova調(diào)用)等。
  • Cinder Scheduler負(fù)責(zé)收集backend上報(bào)的容量、能力信息,根設(shè)定的算法完成卷到指定cinder-volume的調(diào)度
  • Cinder Volume多節(jié)點(diǎn)部署,使用不同的配置文件,接入不同的backend設(shè)備,由各存儲(chǔ)廠商插入driver代碼與設(shè)備交互完成設(shè)備容量和能力信息的收集,卷操作
  • Cinder Backup實(shí)現(xiàn)將卷的數(shù)據(jù)備份到其他存儲(chǔ)介質(zhì)(目前SWIFT/Ceph/TSM提供了驅(qū)動(dòng))
  • SQL DB提供儲(chǔ)卷、快照、備份、service等數(shù)據(jù),支持MySQL,PG,MSSQL等SQL數(shù)據(jù)庫(kù)

openstack學(xué)習(xí)-理解存儲(chǔ)管理

Cinder 組件-API

Cinder API對(duì)外提供REST API,對(duì)操作需求進(jìn)行解析,并調(diào)用處理方法:

  • 卷create/delete/list/show
  • 快照create/delete/list/show
  • 卷attach/detach(nova調(diào)用)
  • 其他:
    Volume types
    Qutotas
    Backups

    Cinder組件-Scheduler

    Cinder scheduler負(fù)責(zé)收集后端上報(bào)的容量,能力信息,根據(jù)設(shè)定的算法完成卷到指定cinder-volume的調(diào)度,它通過(guò)過(guò)濾和稱權(quán),篩選出合適的后端:
    openstack學(xué)習(xí)-理解存儲(chǔ)管理
    根據(jù)后端的能力進(jìn)行篩選

  • Drivers定期報(bào)告后端的能力和狀態(tài)
  • 管理員創(chuàng)建的卷類型
  • 創(chuàng)建卷時(shí),用戶指定卷類型

Cinder組件-Volume

Cinder volume多節(jié)點(diǎn)部署,使用不同的配置文件、接入不同的后端設(shè)備,由各存儲(chǔ)廠商插入Driver代碼與設(shè)備交互,完成設(shè)備容量和能力信息收集,卷操作等。
openstack學(xué)習(xí)-理解存儲(chǔ)管理
Cinder默認(rèn)的后端驅(qū)動(dòng)是LVM

典型工作流程

openstack學(xué)習(xí)-理解存儲(chǔ)管理
Cinder-volume會(huì)定期收集底層后端的容量信息,并通知Scheduler更新內(nèi)存中的Backend信息

創(chuàng)建卷類型的目的是為了篩選不同的后端存儲(chǔ),例如SSD,STAT,高性能,低性能,通過(guò)創(chuàng)建不同的自定義卷類型,創(chuàng)建卷時(shí)自動(dòng)給篩選出合適的后端存儲(chǔ)

Cinder API

openstack學(xué)習(xí)-理解存儲(chǔ)管理

  • 檢查卷參數(shù)合法性(用戶輸入,權(quán)限,資源是否存在等)
  • 準(zhǔn)備創(chuàng)建參數(shù)字典,預(yù)留和提交配額
  • 在數(shù)據(jù)庫(kù)中創(chuàng)建對(duì)應(yīng)的數(shù)據(jù)記錄
  • 通過(guò)消息列隊(duì)將請(qǐng)求和參數(shù)發(fā)送到Scheduler

Cinder Scheduler

openstack學(xué)習(xí)-理解存儲(chǔ)管理
提取收到的請(qǐng)求參數(shù)
通過(guò)配置的filter和輸入?yún)?shù)后端進(jìn)行過(guò)濾

  • Avialability_zone_filter
  • Capactiy_filter
  • Capabilities_filter
  • Affinity_filter
  • Weigher計(jì)算后端進(jìn)行權(quán)重

  • CapactiyWeigher/AllocatedCapacityWeigher
  • ChanceWeigher
  • GoodnessWeigher
  • 選取最優(yōu)的Backend并通過(guò)消息列隊(duì)將請(qǐng)求發(fā)送到指定的后端

和Nova Scheduler類似,Cinder Scheduler也是經(jīng)過(guò)Filter刪選合適條件的后端,然后使用Weigher計(jì)算后端進(jìn)行權(quán)重排序,最終選擇出最合適的后端存儲(chǔ)

Cinder Volume

openstack學(xué)習(xí)-理解存儲(chǔ)管理

提供接收到的請(qǐng)求參數(shù)
調(diào)用對(duì)應(yīng)的Driver在后端創(chuàng)建世紀(jì)的卷
使用Driver返回的模型更新數(shù)據(jù)庫(kù)中的記錄

Cinder掛載卷流程

openstack學(xué)習(xí)-理解存儲(chǔ)管理
掛卷流程:掛卷時(shí)通過(guò)Nova和Cinder的配合最終將遠(yuǎn)端的卷連接到虛擬機(jī)所在的Host節(jié)點(diǎn)上,并最終通過(guò)虛擬機(jī)管理程序映射到內(nèi)部的虛擬機(jī)中

  • Nova調(diào)用Cinder api創(chuàng)建卷,傳遞主機(jī)的信息,如hostname,ISCSI initiator name,FC WWWPNs
  • Cinder API將該信息傳遞給Cincer Volume
  • Cinder Volume通過(guò)創(chuàng)建卷時(shí)保存的host信息找到對(duì)應(yīng)的Cinder Driver
  • Cinder Driver通知存儲(chǔ)允許該主機(jī)訪問(wèn)該卷,并返回該存儲(chǔ)的連接信息(如ISCSI iqn,portal,FC target WWPN,NFS path)
  • Nova調(diào)用針對(duì)不同存儲(chǔ)類型進(jìn)行主機(jī)識(shí)別磁盤的代碼(Cinder提供了brick模塊用于參考)實(shí)現(xiàn)識(shí)別磁盤或者文件設(shè)備
  • Nova通知Cinder已經(jīng)進(jìn)行了掛載
  • Nova將主機(jī)的設(shè)備信息傳遞給hypervisor來(lái)實(shí)現(xiàn)虛擬機(jī)掛載磁盤

    Cinder主要操作

    openstack學(xué)習(xí)-理解存儲(chǔ)管理

對(duì)象存儲(chǔ)Swift

Swift簡(jiǎn)介

Swift提供高度可用、分布式、最終一致的對(duì)象存儲(chǔ)服務(wù)

openstack學(xué)習(xí)-理解存儲(chǔ)管理
Swift并不是文件系統(tǒng)或者試試的數(shù)據(jù)存儲(chǔ)系統(tǒng),它稱為對(duì)象存儲(chǔ),用于永久類型的靜態(tài)數(shù)據(jù)的長(zhǎng)期存儲(chǔ),這些存儲(chǔ)可以檢索,調(diào)整,必要時(shí)進(jìn)行更新
最蛇和存儲(chǔ)的數(shù)據(jù)類型的例子是虛擬機(jī)鏡像,圖片存儲(chǔ),郵件存儲(chǔ)和存檔備份
因?yàn)闆]有中心的單元或主控節(jié)點(diǎn),Swift提供了更強(qiáng)的擴(kuò)展性,冗余和持久性
Swift經(jīng)常用于存儲(chǔ)鏡像或者用于存儲(chǔ)虛擬機(jī)實(shí)例卷的備份副本
openstack學(xué)習(xí)-理解存儲(chǔ)管理

Swift應(yīng)用
鏡像存儲(chǔ)后端:在Openstack中與鏡像服務(wù)Glance結(jié)合,為其存儲(chǔ)鏡像文件
靜態(tài)數(shù)據(jù)存儲(chǔ):由于swift的擴(kuò)展能力,適合存儲(chǔ)日志文件和數(shù)據(jù)備份倉(cāng)庫(kù)

Swift架構(gòu)

openstack學(xué)習(xí)-理解存儲(chǔ)管理
Swift中對(duì)象存儲(chǔ)URL如下所示:
https://swift.example.com/va/account/container/object
URL有兩個(gè)部分:集權(quán)位置和存儲(chǔ)位置
集群位置:swift.example.com/v1/
存儲(chǔ)位置(對(duì)象):/account/containr/oject
存儲(chǔ)位置有如下三種:
/account
賬戶存儲(chǔ)位置是唯一命名的存儲(chǔ)區(qū)域,其中包含賬戶本身的元數(shù)據(jù)(描述性信息)以及賬戶中的容器列表
/account/container
容器存儲(chǔ)位置是賬號(hào)內(nèi)的用戶定義的存儲(chǔ)區(qū)域,其中包含容器本身和容器中的對(duì)象列表的元數(shù)據(jù)
/account/container/object
對(duì)象存儲(chǔ)位置存儲(chǔ)了數(shù)據(jù)對(duì)象及元數(shù)據(jù)的位置。

Swift組件

Proxy Server:對(duì)外提供對(duì)象服務(wù)API,由于采用無(wú)狀態(tài)的REST請(qǐng)求協(xié)議,可以進(jìn)行橫向擴(kuò)展來(lái)負(fù)載均衡
Account Server:提供賬戶元數(shù)據(jù)和統(tǒng)計(jì)信息,并維護(hù)所含容器列表的服務(wù),每個(gè)賬號(hào)的信息被存儲(chǔ)在一個(gè)SQLite數(shù)據(jù)庫(kù)中
Container Server:提供容器元數(shù)據(jù)和統(tǒng)計(jì)信息,并維護(hù)所含對(duì)象列表的服務(wù),每個(gè)容器的信息也存儲(chǔ)在一個(gè)SQLite數(shù)據(jù)庫(kù)中
Object Server:提供對(duì)象元數(shù)據(jù)和內(nèi)容服務(wù),每個(gè)對(duì)象的內(nèi)容會(huì)以文件的形式存儲(chǔ)在文件系統(tǒng)中,元數(shù)據(jù)會(huì)作為文件屬性來(lái)存儲(chǔ)
Replicator:檢測(cè)本地分區(qū)副本和遠(yuǎn)程副本是否一致,發(fā)現(xiàn)不一致時(shí)會(huì)采用推式(Push)更新遠(yuǎn)程副本,并且確保被標(biāo)記刪除的對(duì)象從該文件系統(tǒng)中移除
Updater:當(dāng)對(duì)象由于高負(fù)載的原因而無(wú)法立即更新時(shí),任務(wù)將會(huì)被序列化在本地文件系統(tǒng)中進(jìn)行排隊(duì),以便服務(wù)恢復(fù)后進(jìn)行異步更新
Auditor:檢查對(duì)象,容器和賬戶的完整性,如果發(fā)現(xiàn)比特級(jí)錯(cuò)誤,文件將被隔離,并復(fù)制其他的副本以覆蓋本地?fù)p壞的副本;其他類型錯(cuò)誤會(huì)被記錄到日志中
Account Reaper:移除標(biāo)記為刪除的賬戶,刪除其所包含的所有容器和對(duì)象

Swift API

Swift通過(guò)Proxy server向外提供基于HTTP的REST服務(wù)接口,對(duì)賬戶、容器和對(duì)象進(jìn)行CRUD等操作

openstack學(xué)習(xí)-理解存儲(chǔ)管理

Swift數(shù)據(jù)模型

三層邏輯結(jié)構(gòu):Accout/Contianer/Object
每層節(jié)點(diǎn)數(shù)沒有限制,可以任意擴(kuò)展
openstack學(xué)習(xí)-理解存儲(chǔ)管理


新聞標(biāo)題:openstack學(xué)習(xí)-理解存儲(chǔ)管理
網(wǎng)站地址:http://weahome.cn/article/ghesgs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部